下载unitypackage

从Mob的github地址下载ShareSDK.unitypackage:Git地址,如下图所示

image.png

下载完成后得到一个SMSSDK.unitypackage结尾的文件,如下图:

image.png

导入unitypackage

双击导入到unity项目中并勾选,如下图:

Demo.cs是demo的示例页面,可通用

Android AlertDialog.cs,DialogOnClickListener.cs,MemoryCString.cs:安卓dialog
SMSSDKUnityBridge.jar:桥接层
baseProjectTemplate.gradle,launcherTemplate.gradle:gradle配置

iOS (全部勾选)

image.png
按图选好之后,点击import导入

挂接SMSSDK脚本

在unity界面左侧选择要使用的场景(例如Main Camera),点击Add Component 按钮添加SMSSDK.cs(SMSSDK核心文件),或者直接拖进去。如果要测试效果,也可以添加Demo.cs(SMSSDK示例UI),如下图所示:
image.png

修改编译环境

Platform设置,在unity中选择菜单栏-File-Build Settings,会打开Build Settings操作框,根据自己所编译的环境选择,如果是iOS的请选择iOS环境,如果是Android请选择Android环境,然后点击Switch Platform切换环境,如下图:

image.png

Android端编译配置

修改Unity设置
生成Gradle文件
保持Build Settings操作框中左侧Platform列表中Android项的选中状态,点击Player Settings,会打开Project Settings操作框,如下图:

image.png
左侧切换到Player标签,然后在右侧选择Publishing Settings卡片,勾选Custom Launcher Gradle Template和Custom Base Gradle Template及Custom Gradle Properties Template,选项,如下图:

image.png

该操作会在"工程\Assets\Plugins\Android目录下"生成baseProjectTemplate.gradle、launcherTemplate.gradle、gradleTemplate.gradle文件。

修改Gradle文件
修改baseProjectTemplate.gradle文件
打开baseProjectTemplate.gradle文件后有两处需要操作:

1.在classpath 'com.android.tools.build:gradle'后添加mob的classpath

classpath "com.mob.sdk:MobSDK:2018.0319.1724"

2.添加Mob自己的maven仓库

maven {    url "https://mvn.mob.com/android/"}

最终baseProjectTemplate.gradle文件的参考结果为:

image.png

修改launcherTemplate.gradle文件
打开launcherTemplate.gradle,在文件的最下方加入以下代码:

apply plugin: 'com.mob.sdk'

MobSDK {
appKey "替换为mob官方申请的appkey"
appSecret "替换为mob官方申请的appkey对应的appSecret"

SMSSDK {}
}

在gradleTemplate.gradle文件中添加

MobSDK.spEdition=FP

添加混淆配置
混淆设置:SMSSDK已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对SMSSDK的混淆操作:

-keep class com.mob.**{*;}
-keep class cn.smssdk.**{*;}
-dontwarn com.mob.**

iOS端编译配置

修改初始化SDK的Appkey和AppSecret

image.png

接口调用

参考Demo.cs文件的使用方式,先引入命名空间

using cn.SMSSDK.Unity
public SMSSDK smssdk

smssdk = gameObject.GetComponet();

如下图:

image.png

回传用户隐私授权结果 (submitPolicyGrantResult)

调用示例

传入的第一个参数为Boolean类型的,true 代表同意授权、false代表不同意授权

smssdk.submitPolicyGrantResult(true);

获取验证码 (getCode )

smssdk.getCode (CodeType.TextCode, "138XXXX8000", "86", tempCode);

注意:这个tempCode的参数,是短信模版id,这个参数主要在于您想不想修改短信内容,不想的话可以传空,千万不能乱传。想要改的话,需要先在我们的开发者后台提交应用审核,审核过之后需要提交短信签名资料审核通过,然后就可以在短信模版那一项添加下模版,审核通过之后就会返回这个tempCode,就可以传进来

提交验证码 (commitCode )

smssdk.commitCode ("13800138000", "86",code);

获取语音验证码 (getCode )

smssdk.getCode (CodeType.VoiceCode, phone, zone, tempCode);

获取国家区号 (getSupportedCountryCode)

smssdk.getSupportedCountryCode();

获取SDK版本号 (getVersion)

smssdk.getVersion();

弹出SDK自带UI (showRegisterPage )

// 模板号可以为空
   smssdk.showRegisterPage (CodeType.TextCode, null);

关于回调数据的处理:

有些API将会把回调数据发到你设置的SMSSDKHandler。回调数据(resp)是一个json字符串。你可以使用任意的JSON库进行处理。其中action是你调用的API的类型。

onComplete(int action, object resp)
onError(int action, object resp)

完成上述步骤后即可导出Android、iOS项目进行测试。

如还有任何问题,请联系:技术支持QQ:4006852216


中关村科金
136 声望13 粉丝

北京中关村科金技术有限公司(简称“中关村科金”)是国内领先的对话式AI技术解决方案提供商,成立于2014年,注册资本14亿元,总部位于北京,在上海、重庆、深圳、杭州、成都等地设有分支机构,公司规模近千人,其...