Unity 接入友盟统计过程详解(IOS)

网友投稿 815 2022-05-29

一,获取AppKey,下载SDK

官网地址

进入广告注册/登录账号,在后台创建App

【进入工作台】 —> 右上角【产品】—> 选择【移动统计 U-App】

进入打如下界面,然后按步骤添加App信息,注册完成即可获得AppKey。(例如:59892f08310c9307b60023d0)

下载SDK 官网地址

点击上面传送门 或者 通过网站首页 — 开发者中心 — SDK下载 进入;

选择Unity3D 勾选游戏统计SDK 点击下面下载。

将下载的SDK zip包解压缩,目录如下图:

- 基础服务包: Common.unitypackage

- 统计包: UmengGameAnalytics_v3.2.unitypackage

二,导入unitypackage,查看目录内容

将两个unitypackage导入Unity工程中,目录如下:

UmengAllinOneDemo:测试其他SDK的,直接删除

UmengExample:统计Demo打开场景 并 添加到Build Setting

导入后打包配置脚本 BuildPostProcessor.cs

报错如下:

Unity 接入友盟统计过程详解(IOS)

由于API过时导致,删除34行,35行修改为:

三,查看SDK代码逻辑

对示例项目中调用代码添加一些注释,在自己的项目中调用需要修改的方法就可以了。

using UnityEngine; using Umeng; // 引入友盟命名空间 using System.Collections.Generic; public class UmengGameExample : MonoBehaviour { void Start() { // 开始友盟初始化 【注意要换成自己申请的AppKey】 // 参数:友盟appKey, 渠道名称 GA.StartWithAppKeyAndChannelId("59892f08310c9307b60023d0", "umeng"); // 设置是否打印sdk的信息 【正式包关闭】 GA.SetLogEnabled(Debug.isDebugBuild); } void OnGUI() { int x = 150; int y = 50; int w = 500; int h = 100; int d = 150; // 进入游戏关卡 if (GUI.Button(new Rect(x, y, w, h), "StartLevel1")) { GA.StartLevel("level1"); } y += d; // 完成游戏关卡 if (GUI.Button(new Rect(x, y, w, h), "FinishLevel")) { GA.FinishLevel("level1"); } // 对应的还有一个 未完成游戏关卡 // GA.FailLevel("level1"); y += d; // 玩家获得奖励统计 if (GUI.Button(new Rect(x, y, w, h), "Bonus")) { GA.Bonus(10, GA.BonusSource.Source10); } y += d; // 玩家支付统计 if (GUI.Button(new Rect(x, y, w, h), "Pay")) { GA.Pay(19, GA.PaySource.Source10, 10); } y += d; // 基础事件 if (GUI.Button(new Rect(x, y, w, h), "Event")) { GA.Event("EventTest"); } y += d; // 不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签. if (GUI.Button(new Rect(x, y, w, h), "EventLabel")) { GA.Event("event1", "label"); } y += d; // 属性事件 if (GUI.Button(new Rect(x, y, w, h), "EventDict")) { var dict = new Dictionary(); dict.Add("Level1", "1"); GA.Event("EventDict", dict); } } }

自定义事件需要在后台添加相应的事件ID ,未添加时间ID的会在未注册事件标签页中显示:

使用前,请先到友盟App管理后台的 设置 -> 编辑 自定义事件 中添加相应的事件ID,然后在工程中传入相应的事件ID

eventId、attributes中key和value都不能使用空格和特殊字符,且长度不能超过255个字符(否则将截取前255个字符)

id, ts, du是保留字段,不能作为eventId及key的名称

四,导出Xcode 打包测试

将UmengExample添加到Build Setting,并进行报名和版号设置,准备打包Xcode;

官方文档说需要导出后,在xcode里手动添加依赖库:(实际上不需要)

TARGETS—>Build Phases—>Link Binary With Libraries—> + —>libz.tdb

TARGETS—>Build Phases—>Link Binary With Libraries—> + —>libsqlite3.tbd

通过打包编辑 BuildPostProcessor.cs (上面报错那个脚本)自动添加:

因此在Xcode中只需修改Team 就可以直接打包测试了。

到此为止,集成全部完成,小结:

申请AppKey,下载SDK

创建项目导入unitypackage

查看代码修改报错

打包测试

五,后台查看数据

实时数据页:

游戏运行后,到后台看有新用户增加的话,证明已经介入成功。

统计页自定义事件 (第一次5分钟左右刷新没有,过了10分钟左右刷新有结果 )

上面示例:源码链接

官方文档链接:

Unity集成文档

常见问题汇总

5G游戏 API/SDK unity

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HarmonyOS实战—Hello World
下一篇:中间件学习——Docker的前世今生
相关文章