接入准备
(1)在小雅开放平台-硬件开放平台中设备详情页的“设备接入”模块中,获取productId、productSecret、ptfId信息。
(2)sdk以及demo可通过线下邮件获取
(3)将SDK中的com.ximalaya.xiaoya.mobilesdk-XXX.aar包放入工程的libs目录下,同时在gradle中添加依赖。(XXX为版本号)
compile(name: 'com.ximalaya.xiaoya.mobilesdk-XXX', ext: 'aar')
(4)混淆规则配置
-keep class com.nohttp.** {*;}
-keep class com.ximalaya.ting.android.xmlog.** {*;}
-keep class com.ximalaya.ting.android.xmlogmanager.** {*;}
-keep class com.ximalaya.ting.android.xmutil.** {*;}
-keep class com.ximalaya.ting.httpclient.** {*;}
-keep class com.ximalaya.xiaoya.mobilesdk.** {*;}
环境要求
- IDE工具: Android Studio
- demo 语言: kotlin
- sdk 语言: java
SDK 初始化
在工程的Application.onCreate()方法中初始化sdk。sdk支持两种方式初始化,即作为手机app和作为设备。
1 作为手机app(大多数情况)
作为手机app接入,以获得设备配网等功能。此时初始化需要两个参数,由开放平台获取:
- productId
- productSecret
XYMobileSdk.getInstance().init(getContext())
val appConfigBean = AppConfigBean.Factory.createAsApp(
Constants.OS_PRODUCT_ID,
Constants.OS_PRODUCT_SECRET
)
XYMobileSdk.getInstance().setAppConfig(appConfigBean)
2 作为设备
作为设备接入,以获得请求技能列表等功能,适用于安卓音箱的开发者。此时初始化多一个参数sn:
- productId
- productSecret
- sn 手机的唯一标识码
XYMobileSdk.getInstance().init(context);
AppConfigBean appConfigBean = AppConfigBean.Factory.createAsDevice(
Config.OS_PRODUCT_ID,
Config.OS_PRODUCT_SECRET,
sn
);
XYMobileSdk.getInstance().setAppConfig(appConfigBean);