Example #1
0
    /**
     * 上报游戏用户
     */
    public static void ReportGameUser(MtaGameUser gameUser)
    {
        if (Application.platform != RuntimePlatform.OSXEditor)
        {
                        #if UNITY_IPHONE
            Dictionary <string, string> dict = new Dictionary <string, string> ();
            dict.Add("account", gameUser.Account);
            dict.Add("worldName", gameUser.WorldName);
            dict.Add("level", gameUser.Level);

            _reportGameUser(JsonMapper.ToJson(dict));
                        #elif UNITY_ANDROID
            if (gameUser == null)
            {
                return;
            }
            AndroidJavaObject obj = new AndroidJavaObject("com.tencent.stat.StatGameUser",
                                                          gameUser.Account, gameUser.WorldName, gameUser.Level);
            MtaServiceImpl.CallStatic("reportGameUser", Context, obj);
                        #endif
        }
    }
Example #2
0
    // 本样例只提供常用的接口,更详细的API见MtaService.cs或原生的开发者文档
    void Start()
    {
        // set配置接口
        // 开启debug,发布时请设置为false
        MtaService.SetDebugEnable(true);

        // 设置发布渠道,如果在androidManifest.xml配置,可不需要调用此接口
        MtaService.SetInstallChannel("play");
        // 设置上报策略,默认为APP_LAUNCH
        // MtaService.SetStatSendStrategy(MtaService.MTAStatReportStrategy.INSTANT);

        // 初始化,andriod可跳过此步骤
        // !!!!! 重要 !!!!!!!
        // MTA的appkey在android和ios系统上不同,请为根据不同平台设置不同appkey,否则统计结果可能会有问题。
        string mta_appkey = null;

#if UNITY_IPHONE
        mta_appkey = "Aqc123456";
#elif UNITY_ANDROID
        mta_appkey = "Iqc222222";
#endif


        MtaService.StartStatServiceWithAppKey(mta_appkey);
        // 上报QQ号码
        // MtaService.reportQQ("123456");

        // 上报游戏用户,游戏高级模型需要用到
        MtaGameUser gameUser = new MtaGameUser("account1", "worldname1", "level1");
        MtaService.ReportGameUser(gameUser);

        // 根据业务实际情况,填充monitor对象的值
        MtaAppMonitor monitor = new MtaAppMonitor("download");
        monitor.RequestSize         = 1000;
        monitor.ResponseSize        = 304;
        monitor.MillisecondsConsume = 1000;
        monitor.ResultType          = MtaAppMonitor.SUCCESS_RESULT_TYPE;
        monitor.ReturnCode          = 0;
        monitor.Sampling            = 1;
        // 上报接口监控数据
        MtaService.ReportAppMonitorStat(monitor);

        // 上报错误信息
        MtaService.ReportError("some error.");


        // 进入场景
        MtaService.TrackBeginPage("page1");
        // 退出场景
        MtaService.TrackEndPage("page1");

        // 构建自定义事件的key-value
        Dictionary <string, string> dict = new Dictionary <string, string>();
        dict.Add("account", "12345");
        dict.Add("amount", "100");
        dict.Add("item", "firearm");
        // 上报buy类型的自定义事件
        MtaService.TrackCustomKVEvent("buy", dict);

        // 构建自定义事件的key-value
        Dictionary <string, string> beDict = new Dictionary <string, string>();
        beDict.Add("account", "12345");
        beDict.Add("level", "8");
        beDict.Add("name", "model");
        // 通关前
        MtaService.TrackCustomBeginKVEvent("mission", beDict);
        // 通关ing...
        // 通关后
        MtaService.TrackCustomEndKVEvent("mission", beDict);

        // 获取在线配置,key为前台配置的在线配置信息
        Debug.Log("getCustomProperty=" + MtaService.GetCustomProperty("key"));

#if UNITY_ANDROID
        // 监控www.qq.com域名
        Dictionary <string, int> speedMap = new Dictionary <string, int>();
        speedMap.Add("www.qq.com", 80);
        MtaService.TestSpeed(speedMap);

        // 获取MID
        string mid = MtaService.GetMid();
        Debug.Log("mid is " + mid);
#endif
    }
Example #3
0
 //游戏参数汇报
 public static void ReportGameUser(string username, string server, string level)
 {
     var gameUser = new MtaGameUser(username, server, level);
     MtaService.ReportGameUser(gameUser);
 }
Example #4
0
	/**
	 * 上报游戏用户
	 */
	public static void ReportGameUser(MtaGameUser gameUser)	
	{


		if(Application.platform != RuntimePlatform.OSXEditor){
			#if UNITY_IPHONE
			Dictionary<string,string> dict = new Dictionary<string,string> ();
			dict.Add ("account", gameUser.Account);
			dict.Add ("worldName", gameUser.WorldName);
			dict.Add ("level", gameUser.Level);

			_reportGameUser (JsonMapper.ToJson(dict));
			#elif UNITY_ANDROID
			if(gameUser == null){
				return;
			}
			AndroidJavaObject obj = new AndroidJavaObject("com.tencent.stat.StatGameUser", 
			                                              gameUser.Account, gameUser.WorldName, gameUser.Level);
			MtaServiceImpl.CallStatic ("reportGameUser", Context, obj);
			#endif
		}
	}