|
|
@@ -17,9 +17,7 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
private static let ARG_CHANNEL = "channel"
|
|
|
|
|
|
//ios>>>
|
|
|
- private static let ARG_APPID = "appid"
|
|
|
- private static let ARG_IDFA = "idfa"
|
|
|
- private static let ARG_IDFV = "idfv"
|
|
|
+ private static let ARG_APPID = "appId"
|
|
|
//<<<ios
|
|
|
|
|
|
private static let ARG_EVENT_ID = "eventId"
|
|
|
@@ -31,8 +29,8 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
private static let ARG_PAY_TYPE = "payType"
|
|
|
private static let ARG_ITEM_NAME = "itemName"
|
|
|
|
|
|
- private var gravityEngineSDK: GravityEngineSDK?
|
|
|
- private var isInitialized = false
|
|
|
+ public static var gravityEngineSDK: GravityEngineSDK?
|
|
|
+ private static var isInitialized = false
|
|
|
|
|
|
public static func register(with registrar: FlutterPluginRegistrar) {
|
|
|
let channel = FlutterMethodChannel(name: "gravity_engine", binaryMessenger: registrar.messenger())
|
|
|
@@ -43,27 +41,25 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
|
switch call.method {
|
|
|
case GravityEnginePlugin.METHOD_INITIALIZE:
|
|
|
- initialize(call: call, result: result)
|
|
|
- print("GravityEnginePlugin.METHOD_INITIALIZE = \(call.method)");
|
|
|
+ DebugPrint("GravityEnginePlugin.METHOD_INITIALIZE = \(call.method)");
|
|
|
+ IDFAManager.getIDFA(call: call, result: result)
|
|
|
case GravityEnginePlugin.METHOD_TRACK:
|
|
|
- track(call: call, result: result)
|
|
|
- print("GravityEnginePlugin.METHOD_TRACK = \(call.method)");
|
|
|
+ DebugPrint("GravityEnginePlugin.METHOD_TRACK = \(call.method)");
|
|
|
+ GravityEnginePlugin.track(call: call, result: result)
|
|
|
case GravityEnginePlugin.METHOD_TRACK_PAY:
|
|
|
- trackPay(call: call, result: result)
|
|
|
+ DebugPrint("GravityEnginePlugin.METHOD_TRACK_PAY = \(call.method)");
|
|
|
+ GravityEnginePlugin.trackPay(call: call, result: result)
|
|
|
default:
|
|
|
result(FlutterMethodNotImplemented)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//init
|
|
|
- private func initialize(call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
|
+ public static func initialize(call: FlutterMethodCall, result: @escaping FlutterResult, idfa: String) {
|
|
|
guard let args = call.arguments as? [String: Any],
|
|
|
let accessToken = args[GravityEnginePlugin.ARG_ACCESS_TOKEN] as? String,
|
|
|
let appid = args[GravityEnginePlugin.ARG_APPID] as? String,
|
|
|
- let idfa = args[GravityEnginePlugin.ARG_IDFA] as? String,
|
|
|
- let idfv = args[GravityEnginePlugin.ARG_IDFV] as? String,
|
|
|
let debug = args[GravityEnginePlugin.ARG_DEBUG] as? Bool,
|
|
|
- let clientId = args[GravityEnginePlugin.ARG_CLIENT_ID] as? String,
|
|
|
let channel = args[GravityEnginePlugin.ARG_CHANNEL] as? String else {
|
|
|
result(FlutterError(code: "-1", message: "Missing required arguments", details: nil))
|
|
|
return
|
|
|
@@ -87,6 +83,15 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
// 开启自动采集
|
|
|
gravityEngineSDK?.enableAutoTrack(GravityEngineAutoTrackEventType.eventTypeAll);
|
|
|
|
|
|
+ //获取idfv
|
|
|
+ var idfv = ""
|
|
|
+ if let idfVendor = UIDevice.current.identifierForVendor {
|
|
|
+ idfv = idfVendor.uuidString
|
|
|
+ DebugPrint("引力引擎 IDFV == \(idfv)")
|
|
|
+ } else {
|
|
|
+ DebugPrint("引力引擎 无法获取 IDFV")
|
|
|
+ }
|
|
|
+
|
|
|
//获取当前版本号
|
|
|
var appVersionName = 1
|
|
|
if let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String {
|
|
|
@@ -101,11 +106,11 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
|
|
|
//初始化sdk
|
|
|
gravityEngineSDK?.initializeGravityEngine(withClientId: idfv, withUserName: idfv, withVersion: Int32(appVersionName), withAsaEnable:enableAsa, withIdfa:idfa, withIdfv:idfv, withCaid1:userCaid1MD5, withCaid2:userCaid2MD5, withSyncAttribution:enableSyncAttribution, withSuccessCallback: { response in
|
|
|
- print("gravity engine initialize success, response is ", response);
|
|
|
+// DebugPrint("gravity engine initialize success, response is ", response);
|
|
|
self.isInitialized = true
|
|
|
result(response)
|
|
|
}, withErrorCallback: { error in
|
|
|
- print("gravity engine initialize failed, and error is", error);
|
|
|
+// DebugPrint("gravity engine initialize failed, and error is", error);
|
|
|
result(FlutterError(code: "-1", message: "Initialization failed", details: error.localizedDescription))
|
|
|
});
|
|
|
|
|
|
@@ -123,7 +128,7 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
}
|
|
|
|
|
|
//event
|
|
|
- private func track(call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
|
+ private static func track(call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
|
guard let args = call.arguments as? [String: Any],
|
|
|
let eventId = args[GravityEnginePlugin.ARG_EVENT_ID] as? String else {
|
|
|
result(FlutterError(code: "-1", message: "Missing eventId", details: nil))
|
|
|
@@ -139,7 +144,7 @@ public class GravityEnginePlugin: NSObject, FlutterPlugin {
|
|
|
}
|
|
|
|
|
|
//pay
|
|
|
- private func trackPay(call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
|
+ private static func trackPay(call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
|
guard let args = call.arguments as? [String: Any],
|
|
|
let orderNo = args[GravityEnginePlugin.ARG_ORDER_NO] as? String,
|
|
|
let amount = args[GravityEnginePlugin.ARG_AMOUNT] as? Int,
|