初始化
初始化 SDK,同时设置唤醒模型
从开放平台官网获取到以下信息:
- productID
- productSecret
- platformID
加上packageForLicense (下载 License 时填入的包名)、deviceId (手机上为deviceId,安卓音箱上为sn)。
在 Application
的 onCreate
方法中添加下面初始化代码:
String WAKEUP = "packed_wakeup_minimize.dat"; // app/src/main/assets/ 目录下
XiaoyaSDK.Config config = new XiaoyaSDK.Config()
.setProductID(Config.OS_PRODUCT_ID)
.setProductSecret(Config.OS_PRODUCT_SECRET)
.setPlatformID(Config.OS_PTF_ID)
.setPackageForLicense(Config.PACKAGE_ID) // 开放平台下载 License 时填入的包名
.setDeviceId(deviceId)
.setWakeupFileName(WAKEUP); // 唤醒模型,可传空
// 初始化 sdk
XiaoyaSDK.getInstance().initSdk(this, config, context);
其中,不使用唤醒功能可传空。若使用唤醒功能,请指定app/src/main/assets/ 目录下
的唤醒模型,如训练好的「小雅小雅」。
选择登录模式
SDK提供两种登录的方式,包括authCode登录和credential登录。
authCode 登录
SDK运行在安卓音箱设备时,使用authCode登录主要用于设备配网中。此时该authCode由相关配网app(接入了伴侣sdk)传过来,传输方式可以是蓝牙或者连接设备热点等方式,开发者根据硬件实际情况进行选择。登录成功后,配网app的设备列表中应展示该设备的信息。
XiaoyaSDK.getInstance().loginByAuthCode(String authCode, XYCallback<Void> callback);
credential 登录
SDK运行在安卓手机上时,可使用credential登录。由于手机有屏幕可以自行联网,所以不需要配网即可使用。
XiaoyaSDK.getInstance().loginByCredential(String credential, XYCallback<Void> callback)
这个接口类似于伴侣sdk账号模块的credential 登录,区别在于此时由c++层维护刷新token的逻辑。
token获取
取得登录的token。
XiaoyaSDK.getInstance().getAccessToken()
判断是否已登录
判断是否已登录。true表示已登录
XiaoyaSDK.getInstance().isBind()