/// <summary> /// 开发者可以为用户增加账户信息,使统计数据可以以账户维度做统计分析. /// </summary> /// <param name="account">账号信息.</param> /// <param name="sequence">唯一请求识别ID,和结果一起反回.</param> /// <param name="gameObjectNameBack">游戏对象名 用于反回结果.</param> /// <param name="gameObjectMethodBack">游戏对象中的方法名,此方法只能有一个string 参数, 用于反回结果.</param> public static void IdentifyAccount(Account account, JAnalyticsCallBack callBack) { #if UNITY_ANDROID JAnalyticsBindingAndroid.IdentifyAccount(account, callBack); #endif #if UNITY_IPHONE JAnalyticsBindingIos.IdentifyAccount(account, callBack); #endif }
/// <summary> /// 解绑当前用账户信息 /// </summary> /// <param name="sequence">唯一请求识别ID,和结果一起反回.</param> /// <param name="gameObjectNameBack">游戏对象名 用于反回结果.</param> /// <param name="gameObjectMethodBack">游戏对象中的方法名,此方法只能有一个string 参数, 用于反回结果.</param> public static void DetachAccount( JAnalyticsCallBack callBack) { #if UNITY_ANDROID JAnalyticsBindingAndroid.DetachAccount(callBack); #endif #if UNITY_IPHONE JAnalyticsBindingIos.DetachAccount(callBack); #endif }
/// <summary> /// 解绑当前用账户信息 /// </summary> /// <param name="sequence">唯一请求识别ID,和结果一起反回.</param> /// <param name="gameObjectNameBack">游戏对象名 用于反回结果.</param> /// <param name="gameObjectMethodBack">游戏对象中的方法名,此方法只能有一个string 参数, 用于反回结果.</param> public static void DetachAccount( JAnalyticsCallBack callBack) { int sequence = 0; string gameObjectNameBack = null; string gameObjectMethodBack = null; if (null != callBack) { sequence = callBack.getSequence(); gameObjectNameBack = callBack.getGameObjectName(); gameObjectMethodBack = callBack.getGameObjectMethode(); } _plugin.Call("detachAccount", sequence, gameObjectNameBack, gameObjectMethodBack); }
/// <summary> /// 解绑当前用账户信息 /// </summary> /// <param name="sequence">唯一请求识别ID,和结果一起反回.</param> /// <param name="gameObjectNameBack">游戏对象名 用于反回结果.</param> /// <param name="gameObjectMethodBack">游戏对象中的方法名,此方法只能有一个string 参数, 用于反回结果.</param> public static void DetachAccount( JAnalyticsCallBack callBack) { int sequence = 0; string gameObjectNameBack = null; string gameObjectMethodBack = null; if (null != callBack) { sequence = callBack.getSequence(); gameObjectNameBack = callBack.getGameObjectName(); gameObjectMethodBack = callBack.getGameObjectMethode(); } JAnalyticsInternalIos._detachAccount(sequence, gameObjectNameBack, gameObjectMethodBack); }
/// <summary> /// 开发者可以为用户增加账户信息,使统计数据可以以账户维度做统计分析. /// </summary> /// <param name="account">账号信息.</param> /// <param name="sequence">唯一请求识别ID,和结果一起反回.</param> /// <param name="gameObjectNameBack">游戏对象名 用于反回结果.</param> /// <param name="gameObjectMethodBack">游戏对象中的方法名,此方法只能有一个string 参数, 用于反回结果.</param> public static void IdentifyAccount(Account account, JAnalyticsCallBack callBack) { string accountMapJson = JsonHelper.ToJson(account.GetAccountDic()); string extMapJson = JsonHelper.ToJson(account.GetExtraDic()); int sequence = 0; string gameObjectNameBack = null; string gameObjectMethodBack = null; if (null != callBack) { sequence = callBack.getSequence(); gameObjectNameBack = callBack.getGameObjectName(); gameObjectMethodBack = callBack.getGameObjectMethode(); } _plugin.Call("identifyAccount", accountMapJson, extMapJson, sequence, gameObjectNameBack, gameObjectMethodBack); }
public static void OnGUI() { str_unity = GUILayout.TextField(str_unity, GUILayout.Width(Screen.width - 80), GUILayout.Height(100)); if (GUILayout.Button("onPageStart", GUILayout.Height(80))) { JAnalyticsBinding.OnPageStart("testOnPage-1"); } if (GUILayout.Button("onPageEnd", GUILayout.Height(80))) { JAnalyticsBinding.OnPageEnd("testOnPage-1"); } if (GUILayout.Button("onPurchaseEvent", GUILayout.Height(80))) { string purchaseGoodsid = "goodsId"; string purchaseGoodsName = "篮球"; double purchasePrice = 300; bool purchaseSuccess = true; Currency purchaseCurrencyUnity = Currency.CNY; string purchaseGoodsType = "sport"; int purchaseGoodsCount = 1; PurchaseEvent eEvent = new PurchaseEvent(purchaseGoodsid, purchaseGoodsName, purchasePrice, purchaseSuccess, purchaseCurrencyUnity, purchaseGoodsType, purchaseGoodsCount); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onBrowseEvent", GUILayout.Height(80))) { string browseId = "browse_id"; string browseName = "深圳热点新闻"; string browseType = "news"; long browseDuration = 30; BrowseEvent eEvent = new BrowseEvent(browseId, browseName, browseType, browseDuration); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onRegisterEvent", GUILayout.Height(80))) { string registerMethod = "sina"; bool registerSuccess = true; RegisterEvent eEvent = new RegisterEvent(registerMethod, registerSuccess); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onLoginEvent", GUILayout.Height(80))) { string loginMethod = "qq"; bool loginSuccess = true; LoginEvent eEvent = new LoginEvent(loginMethod, loginSuccess); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onCalculateEvent", GUILayout.Height(80))) { string eventId = "onCalculateEvent_event_id"; double eventValue = 10.1; CalculateEvent eEvent = new CalculateEvent(eventId, eventValue); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onCountEvent", GUILayout.Height(80))) { string eventId = "onCountEvent_event_id"; CountEvent eEvent = new CountEvent(eventId); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("identifyAccount", GUILayout.Height(80))) { Account account = new Account("AccountAccount"); account.SetName("nnnnn"); account.SetExtraAttr("k1", "v1"); account.SetExtraAttr("k2", null); int sequence = callbackId++; string gameObjectNameBack = gameObject.name; string gameObjectMethodBack = "AccountCallBack"; JAnalyticsCallBack callBack = new JAnalyticsCallBack(sequence, gameObjectNameBack, gameObjectMethodBack); JAnalyticsBinding.IdentifyAccount(account, callBack); } if (GUILayout.Button("detachAccount", GUILayout.Height(80))) { int sequence = callbackId++; string gameObjectNameBack = gameObject.name; string gameObjectMethodBack = "AccountCallBack"; JAnalyticsCallBack callBack = new JAnalyticsCallBack(sequence, gameObjectNameBack, gameObjectMethodBack); JAnalyticsBinding.DetachAccount(callBack); } if (GUILayout.Button("setAnalyticsReportPeriod", GUILayout.Height(80))) { int period = 30; JAnalyticsBinding.SetAnalyticsReportPeriod(period); } }