WebSDK接入
iOS App中课程支付必须接入iOS代币支付方案,因苹果对于虚拟产品有收取“苹果税”的规则,如不遵守会有下架风险 详细了解请点击
先决条件
已开通小鹅通SDK服务
已开通对应接口的小鹅通API服务
本教程所涉及的接口都先要获得access_token
获取access_token。(获取access_token前需要配置IP白名单, 详情请查看开发指南)
用户注册
接口文档详见注册新用户
用户登录(无登录态)
配置跳转登录页
为什么配置跳转登录页
实现客户侧和小鹅侧的账号打通,小鹅通的获取登录链接接口需传递 user_id 参数,指定登录的具体用户。用户未登录时,跳转到配置的登录页,引导用户先在客户侧登录获取user_id,然后再调用小鹅的注册接口进行注册,获取小鹅侧的user_id,从而实现两端的账号数据关联
客户可在配置的登录页实现自己个性化的登录逻辑。
App内嵌webSDK,需要在访问小鹅通内嵌SDK页面的header头添加指定的user-agent
XiaoeEmbed
。当访问的页面没有登录态时,小鹅平台会根据指定的user-agent跳转到客户配置的登录页面
配置
登录小鹅通后台,应用->经营渠道->SDK服务->平台信息,配置对应终端的登录页
SDK-URL链接配置规则
店铺首页:https://.[h5或pc].xiaoeknow.com
其他页面: 通过小鹅店铺管理台以下路径“课程管理-图文(课程类型,以图文为例)-点击某个具体的课程分享按钮-点击复制按钮” 得到链接 https://wxbe1b550e2f0d61db.h5.xiaoe-tech.com/p/course/text/i_5e7f809dd6317_qSMuUoAi?type=2
SDK展示链接需要替换链接域名部分为.[h5或pc].xiaoekonow
,例如,您的appid参数为”apprnDA0ZDw4581”,那么适配SDK展示的链接如下: https://apprnDA0ZDw4581.[h5或pc].xiaoeknow.com/p/course/text/i_5e7f809dd6317_qSMuUoAi?type=2
以下是常用课程链接配置规则:
H5链接
- 图文:
https://{appId}.h5.xiaoeknow.com/p/course/text/{resourceId}
- 音频:
https://{appId}.h5.xiaoeknow.com/p/course/audio/{resourceId}
- 视频:
https://{appId}.h5.xiaoeknow.com/p/course/video/{resourceId}
- 电子书:
https://{appId}.h5.xiaoeknow.com/p/course/ebook/{resourceId}
- AI互动课:
https://{appId}.h5.xiaoeknow.com/p/course/ai_course/{resourceId}
- 专栏:
https://{appId}.h5.xiaoeknow.com/p/course/column/{resourceId}
- 大专栏:
https://{appId}.h5.xiaoeknow.com/p/course/big_column/{resourceId}
- 训练营:
https://{appId}.h5.xiaoeknow.com/p/course/camp/{resourceId}
- 会员:
https://{appId}.h5.xiaoeknow.com/p/course/member/{resourceId}
- 直播:
https://{appId}.h5.xiaoeknow.com/v2/course/alive/{resourceId}?app_id={appId}
- 课程(训练营Pro):
https://{appId}.h5.xiaoeknow.com/p/course/ecourse/{resourceId}
- 圈子:
https://{appId}.h5.xiaoeknow.com/xe.community.community_service/v2/feedList?app_id={appId}&community_id={resourceId}
PC链接
- 图文:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/image_text/{resourceId}
- 音频:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/audio/{resourceId}
- 视频:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/video/{resourceId}
- 电子书:
暂无PC链接
- AI互动课:
暂无PC链接
- 专栏:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/column/{resourceId}
- 大专栏:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/big_column/{resourceId}
- 训练营:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/camp/{resourceId}
- 会员:
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/member/{resourceId}
- 直播:
https://{appId}.pc.xiaoe-tech.com/detail/{resourceId}/4?fromH5=true
- 课程(训练营Pro):
https://{appId}.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/camp_pro/{resourceId}
如果商家绑定了独立域名,则把前缀域名替换成独立域名即可,后面的拼接规则不变,例如: 视频:https://{店铺绑定独立域名}/p/t_pc/course_pc_detail/video/{resourceId} 直播:https://{店铺绑定独立域名}/detail/{resourceId}/4?fromH5=true
获取登录鉴权链接
请求方式: POST
频率限制:
10秒10000次
请求参数
参数名称 | 必选 | 类型 | 说明 |
---|---|---|---|
access_token | 是 | string | 获取access_token |
user_id | 是 | string | 用户id |
data.login_type | 是 | 登录类型:1:pc 2:h5 3:App | "" |
data.redirect_uri | 否 | string | 登录成功后跳转的目标url |
参数说明
redirect_uri可以是客户的店铺主页(比如https://appakkybt0j5197.h5.xiaoeknow.com) ,或者是具体的某个资源(比如视频、图文)的链接,也可以是客户其他自定义页面,详情请查看帮助中心文档。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | int | 状态码,0表示成功,其他错误码见全局返回码 |
msg | string | 错误信息提示 |
data | array | 数据 |
login_url | string | 登录接口,有效期为1分钟 |
permission_denied_url | string | 店铺无SDK权益包权限跳转链接 |
示例
请求示例
{
"access_token":"xxxxxxxxxx",
"user_id":"xxxxxxxxxx",
"data": {
"login_type":1,
"redirect_uri":"https://appQvk85iBI7258.h5.xiaoeknow.com"
}
}
响应示例
{
"code": 0,
"msg": "success",
"data": {
"permission_denied_url": "",
"login_url": "https://h5.xiaoe-tech.com/platform/login_cooperate/h5_login?token=4b5b24c1b25573a3d1553c6e937bc1b0&app_id=appxxx"
}
}
退出登录
请求方式: POST
请求url: https://api.xiaoe-tech.com/xe.websdk.account.logout/1.0.0
频率限制:
10秒3000次
请求参数
参数名称 | 必选 | 类型 | 说明 |
---|---|---|---|
access_token | 是 | string | 获取access_token |
user_id | 是 | string | 用户id |
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
code | int | 状态码,0表示成功,其他错误码见全局返回码 |
msg | string | 错误信息提示 |
data | array | 数据 |
示例
请求示例
{
"access_token":"xxxxxxxxxx",
"user_id":"xxxxxxxxxx"
}
响应示例
{
"code": 0,
"msg": "",
"data": [
"sdk logout success"
]
}