/// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 6
0
    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);
        }
    }