SDK配置
1. 导入DHUnionSDKForUnity.unitypackage包
点击“Assets -> Import Package -> Custom Package”导入所有资源.
资源包中的UIMain.cs是API demo 的脚本,直接挂载到Main Camera上,即可测试SDK API.(正式游戏发包时,可删除该脚本)
2.资源包内容简介
Plugins: 插件目录,含Android平台插件管理工具
Editor: iOS平台插件管理工具以及相关的文件配置等
DHSDKPlugin: Android插件目录, 用于Unity和SDK通信
script:脚本目录
DHSDKHelper.cs: SDK所有的接口都封装在这个里面 JsonUtils.cs: SDK和插件通信数据采用json数据格式
UIMain.cs: SDK调⽤的demo实例,可以作为参考API用法
3.Android配置
3.1
(以默认Activity为例)
<activity>
android:name="com.dhplugin.unity.DHUnityActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation
|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="填写程序方向portrait(竖屏) or landscape(横屏) " >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true" />
<meta-data
android:name="unityplayer.ForwardNativeEventsToDalvik"
android:value="false" />
</activity>
启动Activity可自定义, 但必须覆写Activity生命周期方法, Override方式如下:
Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
DHUnityHelper.onCreate(this);
}
@Override
protected void onStart() {
super.onStart();
DHUnityHelper.onStart(this);
}
@Override
protected void onResume() {
super.onResume();
DHUnityHelper.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
DHUnityHelper.onPause(this);
}
@Override
protected void onStop() {
super.onStop();
DHUnityHelper.onStop(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
DHUnityHelper.onDestroy(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
DHUnityHelper.onActivityResult(this, requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
DHUnityHelper类在dh-unityplugin.jar中, 若游戏没有自身启动Activity, 可直接使用默认启动Activity
3.2 合并AndroidManifest配置
具体配置文件放在: /Assets/Plugins/Android/AndroidManifest.xml, 请按Android渠道参数说明.doc配置参数
4.iOS相关配置
4.1 iOS Sign in with Apple和Universal Link配置
添加Sign in with Apple和Universal Link后,Apple后台的包名和证书也需要更新,否则会编译报错。
Sign in with Apple功能接入需要XCode版本至少大于11才行,否则会报错。
在Xcode工程的Target->Signing&Capabilities中,点击+Capabilitity
添加Associated Domains模块
添加后,在里面填写Universal Link 地址参数:applinks:sdk-config.17m3.com
然后继续点击+Capability,选择Sign in with Apple选项
添加后最终效果如下
4.2 iOSManifest.projconfig配置
在Editor->Mods 下的iOSManifest.projconfig文件需要配置相关参数,可以文本格式打开.
里面有三个参数:"projmods","URLTypeSchemes","AppChannel","projmods":负责配置是使用苹果In-App Purchase还是使用越狱渠道支付;
"URLTypeSchemes":负责设置工程的URLScheme,用于第三方授权登录时回调,主要格式如下,dh+appID,tencent+QQKey,wx+ WeiXinKey,wb+ weiboKey, "dianhunxqtweixinalipay"是支付所需参数,不需要修改,这些key值请参照5.2参数说明;
"AppChannel":为1时会在unity导出的UnityAppController.mm文件插入sdk所需代码,默认为1不用修改;
示例如下(使用的是越狱渠道支付)
{
"projmods": ["DHUnitySDKMain","DHUnitySDKLogin","DHUnitySDKAliPay","DHUnitySDKDataCollection","DHUnitySDKShare","DHUnitySDKPush"],
"URLTypeSchemes": ["dh1297305671","dianhunxqtweixinalipay","tencent1103300313","wx932f7c792a64900f","wb1213431043"],
"AppChannel": 1
}
如果想要使用苹果In-App purchase支付,"projmods"参数改为如下
"projmods": ["DHUnitySDKMain","DHUnitySDKLogin","DHUnitySDKAppStorePay
","DHUnitySDKDataCollection","DHUnitySDKShare","DHUnitySDKPush"]
4.3 IOSMainConfig.plist配置
在Editor->Mods->iOS->DHSDKMain目录下需要配置IOSMainConfig.plist文件里面游戏的相关参数,如下
参数 | 类型 | 含义 | 是否必须 |
---|---|---|---|
appID | String | 产品ID,SDK必要参数,由开放平台分配 | Y |
loginIsShowTourist | Boolean | 登录是否显示游客登录选项 | Y |
loginMainChannel | String | 登录主渠道号 | N |
loginSecoChannel | String | 登录次渠道号 | N |
loginRegCode | String | 注册邀请码,支持注册功能,SDK服务器将分配给相应的产品注册邀请码 | Y |
KDKey | String | 用于第三方调用的参数,该参数用于”口袋梦三国”授权登录 | N |
QQKey | String | 应用在QQ互联注册并审核后的APP ID | Y |
WeiXinKey | String | 应用在微信开放平台注册并审核后的APP ID | Y |
WeiXinSecret | String | 应用在微信开放平台注册的KEY | Y |
weiboKey | String | 应用在新浪微博开放平台注册并审核后的APP Key | N |
weiboRedirectUrl | String | 应用在新浪微博开放平台注册并审核后的授权回调页 地址,在新浪微博开放平台高级信息中设置,如无特别 需求,推荐填新浪默认地址(https://api.weibo.com/oauth2/default.html\) | N |
version | String | 应用版本号 | Y |
isPayTest | Boolean | 是否选择测试支付 | Y |
TalkingDataAppid | String | 数据收集后台talkingData应用ID | N |
TalkingDataChannel | String | 数据收集TalkingData渠道名称 | N |
TalkingDataKey | String | 数据收集后台talkingdata应用的key | N |
ADTrackingAppid | String | 数据收集后台ADTracking应用ID | N |
ADTrackingChannel | String | 数据收集ADTracking渠道名称 | N |
ADTrackingKey | String | 数据收集后台ADTracking应用的key | N |
UMKey | String | 国内友盟分享需要的Key,可去友盟后台申请 | N |
XGAPPID | String | 信鸽推送后台申请的APPID | N |
XGKey | String | 信鸽推送后台申请的APPKey | N |
QQkey,weiboKey,XGAPPID等参数需要去相关平台申请,可能会有延时
4.4 info.plist配置(如自动打包配置失败)
配置好了IOSMainConfig.plist后还需要对XCode工程的Info.plist文件进行配置,才能正确处理登录,分享授权等流程
4.5 iOS信鸽推送相关配置
需要在苹果后台开启应用包名的推送功能,并在XCode工程中进行如下配置
信鸽后台配置:
可以前往信鸽网站http://xg.qq.com/?ADTAG=EXTERNAL.MEDIA.PUSH_11 去创建信鸽推送后台应用,并获取推送的参数,填到IOSMainConfig.plist中的XGAPPID和XGKey中
信鸽后台参数示例