跳到主要内容

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’s lifecyfle方法

(以默认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文件里面游戏的相关参数,如下

参数类型含义是否必须
appIDString产品ID,SDK必要参数,由开放平台分配Y
loginIsShowTouristBoolean登录是否显示游客登录选项Y
loginMainChannelString登录主渠道号N
loginSecoChannelString登录次渠道号N
loginRegCodeString注册邀请码,支持注册功能,SDK服务器将分配给相应的产品注册邀请码Y
KDKeyString用于第三方调用的参数,该参数用于”口袋梦三国”授权登录N
QQKeyString应用在QQ互联注册并审核后的APP IDY
WeiXinKeyString应用在微信开放平台注册并审核后的APP IDY
WeiXinSecretString应用在微信开放平台注册的KEYY
weiboKeyString应用在新浪微博开放平台注册并审核后的APP KeyN
weiboRedirectUrlString应用在新浪微博开放平台注册并审核后的授权回调页 地址,在新浪微博开放平台高级信息中设置,如无特别 需求,推荐填新浪默认地址(https://api.weibo.com/oauth2/default.html\)N
versionString应用版本号Y
isPayTestBoolean是否选择测试支付Y
TalkingDataAppidString数据收集后台talkingData应用IDN
TalkingDataChannelString数据收集TalkingData渠道名称N
TalkingDataKeyString数据收集后台talkingdata应用的keyN
ADTrackingAppidString数据收集后台ADTracking应用IDN
ADTrackingChannelString数据收集ADTracking渠道名称N
ADTrackingKeyString数据收集后台ADTracking应用的keyN
UMKeyString国内友盟分享需要的Key,可去友盟后台申请N
XGAPPIDString信鸽推送后台申请的APPIDN
XGKeyString信鸽推送后台申请的APPKeyN
信息

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中

信鸽后台参数示例