小雅OS开放平台文档

小雅OS开放平台文档

  • 快速入门
  • 客户端接入
  • 服务端接入

›Android SDK

概述

  • 客户端接入

API 接入

  • WebSocket接口协议定义
  • Http接口协议定义
  • 调用样例
  • API 列表
  • 实体列表
  • 错误码

设备端

    Android SDK

    • 配置工程
    • 初始化
    • 功能
    • 回调
    • Demo 使用
    • 更新日志

    iOS SDK

    • 配置工程
    • 初始化
    • 功能
    • 回调
    • 更新日志

    C++ SDK

    • SDK获取方法
    • 环境要求
    • 目录结构
    • SDK架构
    • 调用示例
    • 接口文档

手机伴侣

    Android SDK

    • 接入准备
    • 账号模块
    • 内容模块
    • 反向控制
    • 设备管理模块
    • 技能模块
    • 蓝牙模块
    • 更新日志

    iOS SDK

    • 接入准备
    • 账号模块
    • 内容模块
    • 反向控制
    • 设备管理模块
    • 技能模块

内容页

    Android

    • 更新日志
    • 初始化

    iOS

    • 更新日志
    • 初始化

账号模块

账号模块支持自有账号登录和喜马账号登录。

自有账号登录(即Credential登录)

(1)适用范围:接入方有自己的账号体系和服务器,具备服务端开发能力。

(2)技术原理:此方式将接入方账号体系与小雅OS账号体系进行关联,在小雅OS开放平台-硬件开放平台-配置服务中配置校验credential的接口url后,接入方自行设计并实现credential的生成及接口校验。

登录

XYMobileSdk.getAccountSdk().loginByCredential(String ptfId, String credential, TokenCallBack callback);

喜马账号登录

(1)适用范围:适用于接入方没有自己的账户体系,有C端用户个性化相关需求也建议采用该方式。

(2)技术原理:

  • 开发者需先从喜马拉雅开放平台获取appKey,appSecret。(注意:是喜马拉雅开放平台,而不是小雅OS开放平台)进入喜马拉雅开放平台-应用中心,注册移动应用并提交审核,其中回调地址填写小雅OS开放平台分配的RedirectUri,审核通过后可开始开发调试/正式使用。
  • 使用此登录模式,用户首先登录喜马拉雅账户,之后用喜马拉雅accessToken换取小雅OS的osAccessToken。
  • 喜马拉雅开放平台SDK集成了喜马拉雅的Oauth2登录,用户通过SDK获取到喜马拉雅accessToken后可以直接通过第三方登录接口换取小雅OS的osAccessToken。

登录

XYMobileSdk.getAccountSdk().loginByXM(String ptfId, String xmToken, String xmUid, TokenCallBack callback);

刷新token

通常不会用到这个接口。sdk内部在每次调接口之前会判断token是否过期,若过期则会自动刷新token,token过期时间为2小时。

XYMobileSdk.getAccountSdk().refreshToken(TokenCallBack callback);

自定义token获取途径

在手机助手场景上,由c++层维护账号模块和token。此时,伴侣sdk不必登录,而是通过ITokenProvider,从外部获取token。

interface ITokenProvider {
    String getAccessToken();
}
XYMobileSdk.getAccountSdk().setTokenProvider(ITokenProvider tokenProvider);

绑定喜马账号

使用手机助手可以绑定喜马账号,领取喜马会员(音箱对应sn有会员才可以领),享受会员专享资源。

参数类型是否必要简述
contextContext是SDK版本信息
titleString是喜马绑定页的标题
urlString是绑定页的url,在获取“喜马账号绑定状态信息“详见bindXimaAccountInfo接口中返回
snString是音箱的sn号
typeint是字段预留,主要用于区分客户类型的
interface SimpleCallback {
    void onSucceed();
    void onFailed(int code, String msg);
}
XYMobileSdk.getAccountSdk().bindXimaAccount(Context context, String title, String url,String sn, int type, SimpleCallback callback);

解绑喜马账号

传skillId解除喜马绑定

XYMobileSdk.getAccountSdk().unbindXimaAccount(String skillId, JsonXYCallback<SkillLogoutResult> callback);

获取喜马账号绑定状态信息

XYMobileSdk.getAccountSdk().bindXimaAccountInfo(JsonXYCallback<SkillCenterDetailBean.LoginDetail> callback);

LoginDetail

{
  "skillPtfId" : os.ptf.xmly.testsdkdemo
  "h5": {
  "loginPage": "https://api.xiaoyastar.com/open/skill-login/h5?osAccessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjgxNjI1NTgsInNraWxsSWQiOiJvcy5za2lsbC4xNCIsImlzcyI6Inh5LW9zLXVjZW50ZXIiLCJkZXZpY2VJZCI6ImU4ZTY1NjljMWI4ZGRhYjMifQ.gRQETHEpfB6AOJEqvA9n-7wLifewo6jR7yokPUH5LbA"    //请求喜马账号绑定的url,status未0时返回
  },
  "nickName": "unknown",    //昵称
  "status" : 0    //登录状态 0:未绑定  1:已经绑定 2:无需绑定
}
← 接入准备内容模块 →
  • 自有账号登录(即Credential登录)
  • 喜马账号登录
  • 刷新token
  • 自定义token获取途径
  • 绑定喜马账号
  • 解绑喜马账号
  • 获取喜马账号绑定状态信息
北京小雅星空科技有限公司 京ICP备19010603号