Unity接入文档
1、简介
本文档主要介绍在Unity中如何集成和使用SDK,根据⽂档操作即可⾼效的完成SDK的接⼊,该文档仅供研发接入参考。
2、SDK快速接入
2.1 Android配置要求
- minSdkVersion ≥ 21(Android 5.0 或更高版本)
- Java 8或更高版本
- AndroidX 支持
2.2 iOS配置要求
- iOS 9及以上
2.3 导入插件
请把下载的sdk包中的TOPSDKUnityPlugin.unitypackage导入项目中,请按以下步骤操作进行插件导入:
- 在 Unity 菜单栏中,依次点击 Assets > Import Package > Custom Package
- 找到 TOPSDKUnityPlugin.unitypackage 文件并选择该文件
- 在 Import Unity Package 对话框中,全选并点击 Import
2.4 Gradle配置
Unity为2019.3及以上版本,请按照以下步骤进行配置
1、操作步骤 File—> Build Settings —> Platform —> Android —> Build System —> Player Settings —> Player —>Publishing Settings —>Build 勾选 Custom Launcher Gradle Template和Custom Base Gradle Template,如下所示
2、添加以下SDK依赖库到
baseProjectTemplate.gradle
配置文件,如下所示
repositories {
//Firebase需要,如果不需要,则忽略下面配置
google()
//Appsflyer需要,如果不需要,则忽略下面配置
mavenCentral()
//TOPSdk 仓库地址
maven { url 'https://storage-sdk-gameplus.meetsocial.com/repository/TopSdk/' }
//Snapchat 登录需要,如果不需要接入Snapchat登录,则忽略下面配置
maven { url 'https://storage.googleapis.com/snap-kit-build/maven' }
//kakao 登录需要,如果不需要接入kakao登录,则忽略下面配置
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
//华为渠道配置
maven { url 'https://developer.huawei.com/repo/' }
//onestore渠道配置
maven { url 'https://repo.onestore.co.kr/repository/onestore-sdk-public/' }
}
3、添加以下SDK依赖到launcherTemplate.gradle
配置文件,如下所示
//模块依赖
dependencies {
//x.x.x.x为SDK当前接入版本
def topsdk_version = "x.x.x.x"
def groupId = "com.sino.topsdk"
implementation "$groupId:ui:$topsdk_version"
//游客登录(可选)
implementation "$groupId:guest:$topsdk_version"
//Email登录(可选)
implementation "$groupId:email:$topsdk_version"
//facebook登录(可选)
implementation "$groupId:facebook:$topsdk_version"
//google登录(可选)
implementation "$groupId:google:$topsdk_version"
//twitter登录(可选)
implementation "$groupId:twitter:$topsdk_version"
//snapchat登录(可选)
implementation "$groupId:snapchat:$topsdk_version"
//line登录(可选)
implementation "$groupId:line:$topsdk_version"
//naver登录(可选)
implementation "$groupId:naver:$topsdk_version"
//kakao登录(可选)
implementation "$groupId:kakao:$topsdk_version"
//appsflyer (可选)
implementation "$groupId:appsflyer:$topsdk_version"
//firebase (可选)
implementation "$groupId:firebase:$topsdk_version"
//adjust (可选)
implementation "$groupId:adjust:$topsdk_version"
//facebook data 数据统计 (可选)
implementation "$groupId:facebook-data:$topsdk_version"
//google play 商店内购(可选)
implementation "$groupId:google-iap:$topsdk_version"
//onestore 商店内购(可选)
implementation "$groupId:onestore-iap:$topsdk_version"
//huawei 商店内购(可选)
implementation "$groupId:huawei-iap:$topsdk_version"
//xiaomi 商店内购(可选)
implementation "$groupId:xiaomi-iap:$topsdk_version"
}
//第三方平台配置(游戏按照接入的第三方加入配置并且填上对应的值,如果游戏没有的可以去掉对应第三方配置)
defaultConfig {
//channel(渠道标识,如果上架google play商店 请使用'GOOGLE',上架onestore请使用'ONESTORE')
resValue('string', 'top_channel_id', 'GOOGLE')
//facebook(可选)
resValue('string', 'facebook_app_id', '您申请的facebook登录平台的App ID')
resValue('string', 'fb_login_protocol_scheme', '您申请的facebook登录平台的fb_login_protocol_scheme')
resValue('string', 'facebook_client_token', '您申请的facebook登录平台的App secret')
//facebook_permission_enable_email这个属性主要是兼容旧版的FB应用,如果您这边FB申请应用是旧版的,并且需要TopSDK回调有邮箱,需要加一行属性如下:(新版本的FB应用不能加这个属性,否则会FB登录失败)
resValue('bool', 'facebook_permission_enable_email', "true")
//google(可选)
resValue('string', 'google_client_id', '您申请的google登录平台的server_client_id')
//twitter(可选)
resValue('string', 'twitter_client_id', '您申请的twitter登录平台的twitter_client_id')
resValue('string', 'twitter_client_secret', '您申请的twitter登录平台的twitter_client_secret')
resValue('string', 'twitter_redirect_url', 'twitter登录后重定向的URL')
//snapchat(可选)
resValue('string', 'snapchat_client_id', '您申请snapchat的client_id')
//snapchat(redirect_url="scheme://host/path"拆分为以下配置)(可选)
addManifestPlaceholders([snapchat_scheme: "scheme", snapchat_host: "host", snapchat_path: "path"])
//line(可选)
resValue('string', 'line_channel_id', '您申请line的channel_id')
//kakao(可选)
resValue('string', 'kakao_app_id', '您申请kakao的app_id')
resValue('string', 'kakao_scheme', '您申请kakao的scheme')
//naver(可选)
resValue('string', 'naver_client_id', '您申请naver的client_id')
resValue('string', 'naver_client_secret', '您申请naver的client_secret')
resValue('string', 'naver_client_name', '您申请naver的client_name')
//Appsflyer(可选)
resValue('bool', 'appsflyer_enable_debug_log', "true")//true开启本地log,flase关闭本地log,默认为flase
resValue('string', 'af_dev_key', '您申请AppsFlyer的af_dev_key')
//Adjust(可选)
resValue('bool', 'adjust_enable_sandbox', "true")//true开启沙盒环境,flase关闭沙盒环境,默认为flase
resValue('string', 'adjust_app_token', '您申请adjust的app_token')
//facebook data 数据统计 (可选)
resValue('string', 'facebook_data_app_id', "您申请的facebook登录平台的facebook_app_id")
resValue('string', 'facebook_data_client_token', '您申请的facebook平台的客户端token')
}
Unity为2019.3以下版本,请按照以下步骤进行配置
1、操作步骤 File—> Build Settings —> Platform —> Android —> Build System —> Gradle —> Player Settings —>Publishing Settings —>Build 勾选 Custom Gradle Template,如下所示
2、添加android系统依赖到
mainTemplate.gradle
配置文件,如下所示
//SDK库地址依赖
repositories {
//Firebase需要,如果不需要,则忽略下面配置
google()
//Appsflyer需要,如果不需要,则忽略下面配置
mavenCentral()
//TOPSdk 仓库地址
maven { url 'https://storage-sdk-gameplus.meetsocial.com/repository/TopSdk/' }
//Snapchat 登录需要,如果不需要接入Snapchat登录,则忽略下面配置
maven { url 'https://storage.googleapis.com/snap-kit-build/maven' }
//kakao 登录需要,如果不需要接入kakao登录,则忽略下面配置
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
//华为渠道配置
maven { url 'https://developer.huawei.com/repo/' }
//onestore渠道配置
maven { url 'https://repo.onestore.co.kr/repository/onestore-sdk-public/' }
}
//模块依赖
dependencies {
//x.x.x.x为SDK当前接入版本
def topsdk_version = "x.x.x.x"
def groupId = "com.sino.topsdk"
implementation "$groupId:ui:$topsdk_version"
//游客登录(可选)
implementation "$groupId:guest:$topsdk_version"
//Email登录(可选)
implementation "$groupId:email:$topsdk_version"
//facebook登录(可选)
implementation "$groupId:facebook:$topsdk_version"
//google登录(可选)
implementation "$groupId:google:$topsdk_version"
//twitter登录(可选)
implementation "$groupId:twitter:$topsdk_version"
//snapchat登录(可选)
implementation "$groupId:snapchat:$topsdk_version"
//line登录(可选)
implementation "$groupId:line:$topsdk_version"
//naver登录(可选)
implementation "$groupId:naver:$topsdk_version"
//kakao登录(可选)
implementation "$groupId:kakao:$topsdk_version"
//appsflyer (可选)
implementation "$groupId:appsflyer:$topsdk_version"
//firebase (可选)
implementation "$groupId:firebase:$topsdk_version"
//adjust (可选)
implementation "$groupId:adjust:$topsdk_version"
//facebook data 数据统计 (可选)
implementation "$groupId:facebook-data:$topsdk_version"
//google play 商店内购(可选)
implementation "$groupId:google-iap:$topsdk_version"
//onestore 商店内购(可选)
implementation "$groupId:onestore-iap:$topsdk_version"
//huawei 商店内购(可选)
implementation "$groupId:huawei-iap:$topsdk_version"
//xiaomi 商店内购(可选)
implementation "$groupId:xiaomi-iap:$topsdk_version"
}
//第三方平台配置(游戏按照接入的第三方加入配置并且填上对应的值,如果游戏没有的可以去掉对应第三方配置)
defaultConfig {
//channel(渠道标识,如果上架google play商店 请使用'GOOGLE',上架onestore请使用'ONESTORE')
resValue('string', 'top_channel_id', 'GOOGLE')
//facebook(可选)
resValue('string', 'facebook_app_id', '您申请的facebook登录平台的App ID')
resValue('string', 'fb_login_protocol_scheme', '您申请的facebook登录平台的fb_login_protocol_scheme')
resValue('string', 'facebook_client_token', '您申请的facebook登录平台的App secret')
//facebook_permission_enable_email这个属性主要是兼容旧版的FB应用,如果您这边FB申请应用是旧版的,并且需要TopSDK回调有邮箱,需要加一行属性如下:(新版本的FB应用不能加这个属性,否则会FB登录失败)
resValue('bool', 'facebook_permission_enable_email', "true")
//google(可选)
resValue('string', 'google_client_id', '您申请的google登录平台的server_client_id')
//twitter(可选)
resValue('string', 'twitter_client_id', '您申请的twitter登录平台的twitter_client_id')
resValue('string', 'twitter_client_secret', '您申请的twitter登录平台的twitter_client_secret')
resValue('string', 'twitter_redirect_url', 'twitter登录后重定向的URL')
//snapchat(可选)
resValue('string', 'snapchat_client_id', '您申请snapchat的client_id')
//snapchat(redirect_url="scheme://host/path"拆分为以下配置)(可选)
addManifestPlaceholders([snapchat_scheme: "scheme", snapchat_host: "host", snapchat_path: "path"])
//line(可选)
resValue('string', 'line_channel_id', '您申请line的channel_id')
//kakao(可选)
resValue('string', 'kakao_app_id', '您申请kakao的app_id')
resValue('string', 'kakao_scheme', '您申请kakao的scheme')
//naver(可选)
resValue('string', 'naver_client_id', '您申请naver的client_id')
resValue('string', 'naver_client_secret', '您申请naver的client_secret')
resValue('string', 'naver_client_name', '您申请naver的client_name')
//Appsflyer(可选)
resValue('bool', 'appsflyer_enable_debug_log', "true")//true开启本地log,flase关闭本地log,默认为flase
resValue('string', 'af_dev_key', '您申请AppsFlyer的af_dev_key')
//Adjust(可选)
resValue('bool', 'adjust_enable_sandbox', "true")//true开启沙盒环境,flase关闭沙盒环境,默认为flase
resValue('string', 'adjust_app_token', '您申请adjust的app_token')
//facebook data 数据统计 (可选)
resValue('string', 'facebook_data_app_id', "您申请的facebook登录平台的facebook_app_id")
resValue('string', 'facebook_data_client_token', '您申请的facebook平台的客户端token')
}
渠道标识top_channel_id
取值
top_channel_id | 渠道标识 |
---|---|
Google Play 商店 | |
onestore 商店 | ONESTORE |
Huawei 商店 | HUAWEI |
Xiaomi 商店 | XIAOMI |
2.5 将Huawei Android 配置文件添加到您的应用(如果使用了huawei商店内购)
Huawei AppGalleryConnect > 我的项目 > 项目设置 > 应用下找到 agconnect-services.json
配置文件并下载,将其复制到游戏工程Assets\Plugins\Android\assets\ 目录下
2.6 将 Firebase Android 配置文件添加到您的应用(如果添加了Firebase依赖)
Firebase 控制台下载Android
google-services.json
配置文件使用转换工具将
google-services.json
配置文件转换为strings.xml
将转换过的文件复制到Assets\Plugins\Android\res\values\ 目录下
2.7 将 Adjust Android 配置文件添加到您的应用(如果添加了Adjust依赖)
将下载的 topsdk_adjust_event.json
配置文件,复制到游戏工程Assets\Plugins\Android\assets\ 目录下
topsdk_adjust_event.json
文件获取方式请联系sdk提供方
3、SDK回调函数使用说明
3.1 初始化回调函数
//事件添加
TopSDKManager.OnInitSuccessEvent += OnInitSuccessEvent;
TopSDKManager.OnInitFailedEvent += OnInitFailedEvent;
//初始化回调
private void OnInitSuccessEvent(){
//成功
}
private void OnInitFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.2 登录回调函数
//事件添加
TopSDKManager.OnLoginSuccessEvent += OnLoginSuccessEvent;
TopSDKManager.OnLoginFailedEvent += OnLoginFailedEvent;
//登录回调
private void OnLoginSuccessEvent(TOPUserInfo userInfo){
//成功,用户id=userInfo.id;用户名=userInfo.name;用户token=userInfo.token;
}
private void OnLoginFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.3 支付回调函数(该支付结果仅作为参考,真实结果请以服务器结果为准)
//事件添加
TopSDKManager.OnPaySuccessEvent += OnPaySuccessEvent;
TopSDKManager.OnPayFailedEvent += OnPayFailedEvent;
//支付回调
private void OnPaySuccessEvent(TOPPaymentData payResult){
//成功
//payResult.productId;//商品ID
//payResult.orderNo;//TopSDK平台交易OrderNo
//payResult.payPlatformOrderNo;//三方支付平台交易OrderNo
}
private void OnPayFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.4 登出回调函数
//事件添加
TopSDKManager.OnLogoutSuccessEvent += OnLogoutSuccessEvent;
TopSDKManager.OnLogoutFailedEvent += OnLogoutFailedEvent;
//登出回调
private void OnLogoutSuccessEvent(){
//成功
}
private void OnLogoutFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.5 用户信息获取回调函数
//事件添加
TopSDKManager.OnUserInfoSuccessEvent += OnUserInfoSuccessEvent;
TopSDKManager.OnUserInfoFailedEvent += OnUserInfoFailedEvent;
//用户信息获取回调
private void OnUserInfoSuccessEvent(TOPUserInfo userInfo){
//成功,用户id=userInfo.id;用户名=userInfo.name;
}
private void OnUserInfoFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.6 用户绑定的三方平台获取回调函数
//事件添加
TopSDKManager.OnUserBindInfoSuccessEvent += OnUserBindInfoSuccessEvent;
TopSDKManager.OnUserBindInfoFailedEvent += OnUserBindInfoFailedEvent;
//用户绑定的三方平台获取回调
private void OnUserBindInfoSuccessEvent(List<string> items){
//成功
foreach (string bindItem in items){
//三方平台类型(FACEBOOK,GOOGLE等)
//string name = bindItem;
}
}
private void OnUserBindInfoFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.7 绑定账号回调函数
//事件添加
TopSDKManager.OnBindSuccessEvent += OnBindSuccessEvent;
TopSDKManager.OnBindFailedEvent += OnBindFailedEvent;
private void OnBindSuccessEvent(TOPBindData bindData){
//成功
//string platformType = bindData.platform;//三方平台类型(FACEBOOK,GOOGLE等)
//int bindStatus = bindData.bindStatus;//1:绑定/已绑定
}
private void OnBindFailedEvent(TOPErrorResults error){
//失败,错误码=error.code;错误信息=error.message
}
3.8 用户中心返回关闭回调函数
//事件添加
TopSDKManager.OnUserCenterCloseSuccessEvent += OnUserCenterCloseSuccessEvent;
//用户中心返回关闭回调
private void OnUserCenterCloseSuccessEvent(){
}
4、SDK接口使用说明
4.1 初始化接口
TopSDK.Init(string appid);
该接⼝⽤于进⾏SDK初始化操作,必须在调⽤SDK其他接⼝前尽早调⽤并确保在使用其他功能前已经初始化成功。调用此接口务必要实现3.1的回调,用来接收初始化回调监听。
参数:
key | 含义 | 类型 |
---|---|---|
appId | 每款应用在平台的唯一标识,由平台分配 | string |
返回结果:无
4.2 资源释放接口
TopSDK.Release()
该接⼝⽤于在游戏关闭时进行资源释放
参数:无
返回结果:无
4.3 登录接口
TopSDK.Login();
该接⼝⽤于进⾏SDK登录操作。调用此接口务必要实现3.2的回调,用来接收登录回调监听。
参数:无
返回结果:无
4.4 支付接口
支付流程图:
TopSDK.Pay(TOPPayParamenters payParamenter, TOPRoleInfo roleInfo);
该接⼝⽤于SDK支付功能。调用此接口务必要实现3.3的回调,用来接收支付回调监听。
参数:
key | 含义 | 类型 |
---|---|---|
payParameters | 商品信息 | TOPPayParameters |
roleInfo | 角色信息 | TOPRoleInfo |
TOPPayParameters实体类参数说明:
key | 含义 | 类型 |
---|---|---|
productId | 商品Id | string |
productName | 商品名称 | string |
amount | 商品价格(保留两位小数) | double |
developerPayload | 透传参数(最多250字符) | string |
TOPRoleInfo实体类参数说明:
key | 含义 | 类型 |
---|---|---|
roleId | 角色ID | string |
roleName | 角色名称 | string |
roleLevel | 角色等级 | string |
serverId | 区服id | string |
serverName | 区服名称 | string |
vipLevel | vip等级 | string |
返回结果:无
4.5 登出接口
TopSDK.Logout();
该接⼝⽤于进⾏SDK登出操作。调用此接口务必要实现3.4的回调,用来接收登出回调监听。
参数:无
返回结果:无
4.6 打开用户中心界面接口
TopSDK.EnterUserCenter();
该接⼝⽤于唤起⽤户中⼼⻚⾯,⻚⾯会以全屏⽅式覆盖在当前界⾯上,可以实现绑定账号功能。调用此接口务必要实现3.4的回调,用来接收登出回调监听。
参数:无
返回结果:无
4.7 获取用户信息接口
TopSDK.GetUserInfo();
该接⼝⽤于获取用户信息接口。调用此接口务必要实现3.5的回调,用来接收获取用户信息回调监听。
参数:无
返回结果:无
4.8 获取账号绑定信息接口
TopSDK.GetUserBindInfo();
该接⼝⽤于获取账号绑定信息接口。调用此接口务必要实现3.6的回调,用来接收获取账号绑定信息回调监听。
参数:无
返回结果:无
4.9 绑定账号接口
TopSDK.bindPlatform(TOPPlatformType platformType)
该接⼝⽤于在登录成功后,用于绑定其他的三方账号。调用此接口务必要实现3.7的回调,用来接收绑定回调监听。
参数:
key | 含义 | 类型 |
---|---|---|
platformType | 需要绑定的三方平台,如TOPPlatformType.GOOGLE、TOPPlatformType.FACEBOOK等 | TOPPlatformType |
返回结果:无
4.10 获取sdk版本号接口
string ver = TopSDK.GetSDKVersion();
该接⼝⽤于获取sdk版本号。
参数:无
返回结果:
key | 含义 | 类型 |
---|---|---|
返回值 | sdk版本号 | string |
4.11 开启或关闭debug模式接口
TopSDK.setDebugEnabled(bool isEnabled);
该接⼝⽤于开启debug模式,默认是false,可在Logcat查看相关日志,正式包务必注释掉。
参数:
key | 含义 | 类型 |
---|---|---|
isEnabled | 日志打印(true表示启用,false标识关闭) | bool |
返回结果:无
5、SDK事件上报使用说明
5.1 设置唯一用户ID
给事件上报设置唯一用户ID
1、如果已接入TopSDK登录SDK,忽略该设置;
2、如果没有接入TopSDK登录SDK,上报事件需要设置唯一用户ID,否则上报信息无效,调用时机务必在所有事件上报之前
方法
TopSDK.SetAccountId(string accountId);
参数介绍
参数名 | 介绍 | 类型 |
---|---|---|
accountId | 游戏唯一用户ID | string |
5.2 登录事件
事件说明
在用户登录时触发,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
SDK已自动上报此事件,用户无需单独上报
方法
TopSDK.LoginEvent(string method);
参数介绍
参数名 | 介绍 | 类型 |
---|---|---|
method | 登录使用的方法,比如:GOOGLE、FACEBOOK、GUEST | string |
5.3 注册事件
事件说明
在新用户首次注册时触发,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
SDK已自动上报此事件,用户无需单独上报
方法
TopSDK.SignupEvent(string method);
参数介绍
参数名 | 介绍 | 类型 |
---|---|---|
method | 登录使用的方法,比如:GOOGLE、FACEBOOK、GUEST | string |
5.4 支付事件
事件说明
用户支付成功时触发,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
SDK已自动上报此事件,用户无需单独上报
方法
TopSDK.PurchaseEvent(TOPPurchaseData data);
参数介绍
TOPPurchaseData:
key | des | example | 类型 |
---|---|---|---|
revenue | 价格 | 1.1 | double |
currency | 币种 | USD | string |
quantity | 数量,默认1 | 1 | int |
productId | 商品id | com.demo.item01 | string |
orderId | 订单号 | 12131231231 | string |
receiptId | 票据id | awdfaqwdfqcs | string |
5.5 开始新手引导事件
事件说明
可选事件,请自行调用,建议在新手引导开始时上报,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.TutorialBeginEvent();
5.6 完成新手引导事件
事件说明
可选事件,请自行调用,建议在新手引导结束时上报,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.TutorialCompleteEvent(string tutorialName, bool success);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
tutorialName | string | 新手引导名称 |
success | bool | 是否成功 |
5.7 升级事件
事件说明
可选事件,请自行调用,建议在游戏角色升级时上报,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.LevelUpEvent(int level, string roleName);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
level | int | 等级 |
roleName | string | 角色名 |
5.8 成就解锁事件
事件说明
可选事件,请自行调用,建议在游戏角色解锁成就时上报,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.UnlockAchievementEvent(string achievementId);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
achievementId | string | 成就id |
5.9 分享事件
事件说明
可选事件,请自行调用,建议在触发分享时上报,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.ShareEvent(string method, string contentType, string contentId);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
method | string | 分享渠道,如:Facebook、Twitter、Email... |
contentType | string | 分享内容类型,如:图片、链接、视频、文本 |
contentId | string | 分享内容id,如:活动id |
5.10 获得虚拟货币事件
事件说明
可选事件,请自行调用,建议在玩家获得虚拟货币时调用,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.EarnVirtualCurrencyEvent(string name, int count);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
name | string | 虚拟货币名称,如:宝石、钻石 |
count | int | 虚拟货币数量,如:100 |
5.11 支出虚拟货币
事件说明
可选事件,请自行调用,建议在玩家支出虚拟货币时调用,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.SpendVirtualCurrencyEvent(string name, int count, string goodsName);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
name | string | 虚拟货币名称,如:宝石、钻石 |
count | int | 虚拟货币数量,如:100 |
goodsName | string | 购买的商品名称,如:包月会员 |
5.12 游戏关卡开始事件
事件说明
可选事件,请自行调用,建议在玩家开始关卡时调用,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.LevelStartEvent(string levelName);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
levelName | string | 关卡名称,如:1-1 |
5.13 游戏关卡结束事件
事件说明
可选事件,请自行调用,建议在玩家结束关卡时调用,此事件会上报至所有集成的数据平台(Appsflyer、GA、Adjust)
方法
TopSDK.LevelEndEvent(string levelName, bool success);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
levelName | string | 关卡名称,如:1-1 |
success | bool | 是否成功 |
5.14 自定义事件上报
事件说明
如果以上模板事件不能满足需求,可选择自定义事件上报
方法
TopSDK.Report(string eventName, Dictionary<string, string> params, TOPDataChannelType channelType);
参数介绍
参数名 | 类型 | 介绍 |
---|---|---|
eventName | string | 事件名 |
params | Dictionary(string:string) | 参数 |
channelType | TOPDataChannelType | 上报渠道类型,默认All |
TOPDataChannelType介绍
类型 | 说明 |
---|---|
TOPDataChannelType.All | 上报到所有接入的数据平台,如:Appsflyer、Firebase、Adjust、Facebook |
TOPDataChannelType.AppsFlyer | 仅上报到Appsflyer |
TOPDataChannelType.Firebase | 仅上报到Firebase |
TOPDataChannelType.Adjust | 仅上报到Adjust |
TOPDataChannelType.Facebook | 仅上报到Facebook |
5.15 事件对照表
我们将对应数据平台的模板事件关联,将事件转换为平台对应的模板事件名进行上报,具体事件名如下:
事件 | TOPData | AF | GA&Adjust | Facebook Data |
---|---|---|---|---|
登录 | #top_login | af_login | login | login |
注册 | #top_sign_up | af_complete_registration | sign_up | fb_mobile_complete_registration |
新手引导开始 | #top_tutorial_begin | tutorial_begin | tutorial_begin | tutorial_begin |
新手引导结束 | #top_tutorial_complete | af_tutorial_completion | tutorial_complete | fb_mobile_tutorial_completion |
角色升级 | #top_level_up | af_level_achieved | level_up | fb_mobile_level_achieved |
成就解锁 | #top_unlock_achievement | af_achievement_unlocked | unlock_achievement | fb_mobile_achievement_unlocked |
下单 | #start_pay | - | - | fb_mobile_initiated_checkout |
支付 | #top_purchase | af_purchase | purchase | fb_mobile_purchase |
分享 | #top_share | af_share | share | share |
获取虚拟币 | #top_earn_virtual_currency | earn_virtual_currency | earn_virtual_currency | earn_virtual_currency |
支出虚拟币 | #top_spend_virtual_currency | spend_virtual_currency | spend_virtual_currency | fb_mobile_spent_credits |
关卡开始 | #top_level_start | level_start | level_start | level_start |
关卡结束 | #top_level_end | level_end | level_end | level_end |
6、修改登录面板的 LOGO 图片
找到 Unity 工程的 Assets/Plugins/Android
目录,新建 res
目录,然后在 res
目录下新建 mipmap-xxhdpi
目录(如果存在请忽略),然后把自己的 LOGO 命名为 custom_logo.png
,放到 mipmap-xxhdpi 目录下,Meetgames 默认 LOGO 宽高为305 × 70
,为了保持登录面板 LOGO 排版一致,务必把自己的 LOGO 的宽高保持一致
注:如果以上不生效(报错,不支持这种方式引用),需要在 Assets/Plugins/Android
目录下新建 Topsdk.androidlib
目录,然后把对应的文件放在目录下,如果下图所示: