WebSDK接入

iOS App中课程支付必须接入iOS代币支付方案,因苹果对于虚拟产品有收取“苹果税”的规则,如不遵守会有下架风险 详细了解请点击

先决条件

  • 已开通小鹅通SDK服务

  • 已开通对应接口的小鹅通API服务

本教程所涉及的接口都先要获得access_token

获取access_token。(获取access_token前需要配置IP白名单, 详情请查看开发指南)

用户注册

时序图 接口请求

接口文档详见注册新用户

用户登录(无登录态)

时序图

配置跳转登录页

为什么配置跳转登录页

  1. 实现客户侧和小鹅侧的账号打通,小鹅通的获取登录链接接口需传递 user_id 参数,指定登录的具体用户。用户未登录时,跳转到配置的登录页,引导用户先在客户侧登录获取user_id,然后再调用小鹅的注册接口进行注册,获取小鹅侧的user_id,从而实现两端的账号数据关联

  2. 客户可在配置的登录页实现自己个性化的登录逻辑。

  3. App内嵌webSDK,需要在访问小鹅通内嵌SDK页面的header头添加指定的user-agentXiaoeEmbed 。当访问的页面没有登录态时,小鹅平台会根据指定的user-agent跳转到客户配置的登录页面

配置
登录小鹅通后台,应用->经营渠道->SDK服务->平台信息,配置对应终端的登录页

SDK-URL链接配置规则

店铺首页:https://{{app_id}}.[h5或pc].xiaoeknow.com 其他页面: 通过小鹅店铺管理台以下路径“课程管理-图文(课程类型,以图文为例)-点击某个具体的课程分享按钮-点击复制按钮” 得到链接 https://wxbe1b550e2f0d61db.h5.xiaoe-tech.com/v1/course/text/i_5e7f809dd6317_qSMuUoAi?type=2 SDK展示链接需要替换链接域名部分为{{app_id}}.[h5或pc].xiaoekonow,例如,您的appid参数为”apprnDA0ZDw4581”,那么适配SDK展示的链接如下: https://apprnDA0ZDw4581.[h5或pc].xiaoeknow.com/v1/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

获取登录鉴权链接

请求参数

参数名称 必选 类型 说明
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"
    }
}
​
​

退出登录

请求参数

参数名称 必选 类型 说明
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"
    ]
}
​
​

帮助

用户没有登录态(展示)

用户有登陆态(展示)

results matching ""

    No results matching ""