小鹅通 · 云服务 API
首页
解决方案
  • 开放API
  • APP开店
文档中心应用市场控制台
首页
解决方案
  • 开放API
  • APP开店
文档中心应用市场控制台
  1. 内嵌SDK服务场景
  • 开发前必读
    • 小鹅云介绍
    • 更新日志
    • 开始开发
    • 小鹅通开放API开发交流群
  • 开发指南
    • 创建并授权应用
    • 获取access_token(含代码示例)
    • 开通接口权限
    • 全局返回码
    • 常用工具
      • 日志排查工具
  • 场景方案
    • 同步用户场景
    • 同步商品场景
    • 同步订购关系场景
    • 同步积分场景
    • 同步页面统计场景
    • 同步学习数据场景
    • 同步推广员场景
  • 内嵌SDK服务场景
    • 产品简介
    • 小鹅通SDK开发者声明
    • 小鹅通SDK个人信息保护政策
    • 开发指南
    • Android-SDK 接入
    • iOS-SDK 接入
    • H5直接嵌入
    • SDK&H5账号详解
    • 常见问题
    • 原生SDK登录态
      • 先决条件
      • 登录接口
      • 登出接口
  • 消息推送
    • 使用说明
    • 消息加/解密
    • 消息接收URL校验说明
    • 账号合并推送
    • 用户手机号变更推送
    • 用户状态变更推送
    • 用户注册推送
    • 商品变更推送
    • 订单支付推送
    • 订单状态变更推送
    • 优惠券消息推送
    • 信息采集推送
    • 积分变更推送
    • 考试消息推送
    • 活动签到推送
  • API列表
    • 用户管理
      • 使用说明
      • 注册新用户
      • 更新用户信息
      • 获取用户列表2.0
      • 获取用户列表1.0.0
      • 查询单个用户信息
      • 批量查询获取用户信息
      • 获取用户消费信息
      • 获取课程学员列表
      • 查询单个用户标签列表
      • 查询用户合并记录
      • 获取标签列表
      • 添加/修改标签
      • 添加/修改用户标签
    • 学习数据管理
      • 获取学习记录列表
      • 获取每日学习记录
      • 获取指定资源学习记录信息
      • 获取营期下用户的学习情况
    • 直播管理
      • 获取直播列表
      • 获取班课列表接口
      • 获取签到列表
      • 获取签到学员列表
      • 获取直播红包列表
      • 获取红包领取记录
      • 获取直播数据概览
      • 获取直播详情
      • 获取红包数据概况
    • 商品管理
      • 查询商品列表2.0
      • 查询商品列表1.0
      • 拉取组合课的资源列表4.0
      • 拉取组合课的资源列表3.0
      • 获取训练营营期任务
      • 商品详情2.0
      • 商品详情1.0
      • 获取直播带货商品列表
      • 商品增加库存
      • 商品减少库存
      • 新建实物商品
      • 编辑实物商品
      • 删除实物商品
      • 获取实物商品列表
      • 获取C端搜索商品列表
    • 商品分组管理
      • 获取店铺商品分组列表
      • 获取商品分组内商品列表
      • 批量新建/更新商品分组
      • 删除商品分组
    • 素材管理
      • 获取素材列表
      • 获取素材分组列表
      • 素材分组编辑
      • 素材分组移动
      • 素材分组删除
    • 订单管理
      • 获取订单列表1.1
      • 获取订单列表1.0
      • 查询用户订单列表
      • 获取订单详情
    • 订购管理
      • 用户开通产品包权益
      • 查询用户订购资源列表
      • 用户购买关系查询
      • 查询用户资源权益2.0
      • 查询用户资源权益1.0
      • 取消订购
    • 物流管理
      • 普通实物单发货
    • 推广员管理
      • 查询推广员列表
      • 查询推广员客户列表
      • 查询推广员的下级推广员列表
      • 查询指定推广员的信息
      • 查询客户所属推广员
      • 新增推广员
      • 推广员绑定客户
      • 修改/解除绑定关系
      • 设置推广员上级
      • 推广订单详情
      • 按日期查询推广员的收益和新增加的下级
      • 推广订单详情(支持购物车订单返回多条记录)
    • 信息采集管理
      • 获取信息采集列表
      • 获取单个信息采集结果
      • 获取用户信息采集结果
      • 根据表单ID以及用户ID获取信息采集结果
    • 营销码卷管理
      • 优惠券列表
      • 获取优惠券详情2.0
      • 获取优惠券详情
      • 获取优惠券领券用户
      • 发放优惠券2.0
      • 发放优惠券
      • 优惠券核销
      • 获取优惠码列表
      • 获取优惠码码库列表
      • 获取优惠码效果数据
      • 创建优惠码
      • 优惠码添加库存
      • 优惠码失效
      • 编辑优惠码
      • 优惠码删除
      • 获取兑换码码库列表
      • 追加兑换码库存
      • 创建兑换码
      • 编辑兑换码
      • 兑换码失效
      • 用户使用兑换码
      • 获取兑换码批次列表
    • 积分管理
      • 业务类型说明
      • 查询用户积分日志
      • 获取单个用户积分信息
      • 批量获取用户积分列表
      • 获取店铺积分信息
      • 批量发放积分
      • 批量扣减积分
      • 解冻冻结积分
      • 设置店铺积分过期时间
    • 页面统计管理
      • 新建页面统计
      • 编辑页面统计
      • 获取页面统计列表
      • 获取页面统计详情
      • 获取页面统计订单列表
      • 新建投放渠道
      • 获取投放渠道列表
    • 打卡管理
      • 获取打卡列表
      • 获取打卡参与用户
      • 获取指定学员活动日记列表
      • 获取活动点赞列表
      • 获取指定学员被点赞总数和列表
      • 获取用户日记被点评/评论列表
    • 社群管理
      • 获取用户参与的小社群
    • 考试管理
      • 获取考试列表
      • 获取考试详情
      • 获取考试结果列表信息
      • 获取考试结果详细信息
    • 活动管理
      • 获取活动列表
      • 获取签到列表
      • 获取活动报名列表
      • 获取活动签到信息
    • 组织管理
      • 获取员工列表
      • 获取员工详细信息
      • 添加或者保存员工信息
      • 启用员工
      • 停用员工
      • 删除员工
      • 根据员工账号获取用户ID
      • 获取组织结构树
      • 添加或修改组织架构
      • 移除组织架构
    • 微页面管理
      • 获取微页面列表
    • 企学院专用
      • 学员管理
        • 企学院获取学员列表
        • 企学院添加学员
        • 企学院修改学员
        • 企学院删除学员
        • 企学院添加组织架构
        • 企学院删除组织架构
        • 企学院编辑组织架构
        • 企学院获取组织架构
        • 企学院获取部门信息
      • 活动管理
        • 企学院用户签到活动列表
      • 培训计划管理(限企学院)
        • 获取培训计划列表
        • 获取培训计划详情
        • 获取用户培训学习数据
        • 获取员工的培训计划列表
  • 旧版API
    • 使用须知
    • 旧版指南
      • 签名和请求
      • Xiaoe SDK使用简介
      • 状态码和常见问题
    • 用户
      • 用户注册
      • 用户信息修改
      • 获取用户信息
    • 支付
      • 下单
      • 更新订单状态
    • 订单
      • 订单查询1.0
      • 订单查询2.0
    • 订购
      • 订阅列表查询
      • 订阅用户列表查询
      • 取消订阅
  • 常见问题
    • 问题汇总
    • 问题反馈
  1. 内嵌SDK服务场景

iOS-SDK 接入

小鹅通原生SDK- iOS端接入指南#

小鹅通 SDK 依托于 XEWebView 来进行页面展示. 类似 UIWebView, 传入店铺页面地址,就可以进行完整的商品展示购买流程。具体可参考 DEMO。

1.前置条件#

注册使用小鹅店铺,取得店铺app_id。
购买小鹅店铺sdk接入服务,取得client_id。

1.1 SDK相关参数名词解释#

参数名描述备注
app_id店铺id小鹅店铺的店铺id,在管理台获取
client_idsdk客户端ID(对应Client ID)开通sdk服务后在管理台获取
secret_key店铺配置安全密钥开通sdk服务后在管理台获取

1.2 SDK-URL链接配置规则说明#

参数名规则说明备注
店铺首页https://.h5.xiaoeknow.com动态参数 app_id:小鹅店铺id
其他页面通过小鹅店铺管理台以下路径:“课程管理-图文(课程类型,以图文为例)-点击某个具体的课程分享按钮-点击复制按钮”得到链接:https://appidxxxxxx.h5.xiaoeknow.com/v1/course/text/i_5e7f809dd6317_qSMuUoAi?type=2SDK展示链接需要替换链接域名部分为.h5.xiaoeknow ,例如,您的appid参数为”apprnDA0ZDw4581”,那么适配SDK展示的链接如下:https://apprnDA0ZDw4581.h5.xiaoeknow.com/v1/course/text/i_5e7f809dd6317_qSMuUoAi?type=2动态参数 “appXXXXXXXXXX”:需动态替换为您的小鹅店铺id

2. 接入要求#

iOS 8.0 或更高
Xcode 9.0 或更高版本(建议使用最新版本)

3. 接入流程#

Github链接 推荐使用 CocoaPods 导入 framework。如有特殊需求,也可以手动导入。

3.1 CococaPods 导入#

在你的 Podfile 文件中加入一行:
pod 'XEShopSDK'
运行 pod install

3.1 手动导入#

XEShopSDK.framework 加入到工程 将对应的 framework 添加到 Embedded Binaries 中
⚠️注意:需要在 Build Settings 的 Other Linker flags 加上 -ObjC

3.2 配置 Info.plist 中的权限#

<key>NSCameraUsageDescription</key>
<string>请允许访问您的相机</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>请允许保存图片到相册</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>请允许访问您的相册</string>
<key>NSMicrophoneUsageDescription</key>
<string>请允许访问您的麦克风</string>
<key>UIRequiredDeviceCapabilities</key>

3.3 配置 app scheme(微信支付完成后跳转回App,无支付可忽略)#

然后通过 XEConfig 将 scheme 传递给 SDK。
⚠️只有配置了 Scheme, 并正确调用 SDK 的对应方法,微信支付完成后才能正确跳转回到你的 app 中。

3.4 初始化 SDK#

使用 SDK 前需要先初始化。
// 生成一个配置对象 从小鹅通申请的 clientId,appId 从小鹅通申请的店铺 Id
XEConfig *config = [[XEConfig alloc] initWithClientId:clientId appId: APPID]
config.scheme = SCHEME; // 配置 scheme 以便微信支付完成后跳转
config.enableLog = NO; // 关闭 sdk 的 log 输出
[XESDK.shared initializeSDKWithConfig:conf]; // 使用配置初始化 SDK

3.5 界面展示#

使用 XEWebView 来展示店铺界面
...
// 初始化 XEWebView,纯代码或者 Storyboard
self.webView.noticeDelegate = self; // 实现代理方法,监听相关的通知
// 加载链接
[self.webView loadRequest:urlRequest];

3.6 认证#

3.6.1 同步认证信息#

登录后获取认证信息。同步给 SDK 的方法如下:
- (void)synchronizeCookieKey:(nullable NSString *)key
                 cookieValue:(nullable NSString *)value;
⚠️注意,接受到下文回调 XENoticeTypeLogin 时,应从通过您的App后台到小鹅云获取最新token并使用此方法同步到sdk内部

3.6.2 清除认证信息#

在您的 App 内发生用户切换或用户退出的时, 为了避免出现客户信息混乱, 请务必执行如下代码登出小鹅通用户角色.
代码示例:
- (void)logout;

3.7 接收回调事件#

当遇到需要登陆才可以访问的页面,会触发下面的回调,此时去获取登录态信息,并同步给 SDK。(⚠️强烈建议在展示XEWebView前同步token到sdk中,以避免异步同步token方法导致用户体验不佳)
#pragma mark - XEWebViewNoticeDelegate

- (void)webView:(XEWebView *)webView didReceiveNotice:(XENotice *)notice
{

    switch (notice.type) {
        case XENoticeTypeLogin: // 收到登陆请求⚠️必须实现以在token失效时同步登录态至sdk内部
        {
            // 这里应该调用登陆接口,获取到cookie_key, cookie_value,
            // 并通过 -synchronizeCookieKey:cookieValue: 同步至SDK
            break;
        }
        case XENoticeTypeShare: // 收到分享的回调数据
        {
            // 在这里自定义分享操作
            break;
        }
        case XENoticeTypeReady: // Web页面已准备好,可以调用分享接口
        {
            // 这里可以启用分享按钮
            break;
        }
        default:
            break;
    }
}

3.7.1 XENotice 类型#

XENotice 是 XEShopSDK 提供给商家的一种事件通知,用来告知特定事件的发生,并提供相关参数,以便商家针对特定事件进行二次开发。
目前所提供的类型如下:
3.7.1.1 XENoticeTypeLogin 登录通知#
收到该通知时代表需要登录,请调用小鹅通登录态接口进行登录,并将返回值通过 SDK 的接口设置给 XESDK。
3.7.1.2 XENoticeTypeShare 接收到分享结果的通知#
回调数据:
{
 "share_content": "小鹅通分享描述",
 "share_image": "小鹅通分享图片链接",
 "share_link": "http://appTCVlUyvG2205.h5.xiaoeknow.com",
 "share_title": "小鹅通分享标题"
 }
说明
字段说明
share_image图片链接
share_title标题
share_link页面链接
share_content描述
3.7.1.3 XENoticeTypeTitleChange WebView 标题改变#
3.7.1.3 XENoticeTypeOutLinkUrl 点击自定义链接回调#
规则为带参数 needoutlink=1 的链接, 例:https://xiaoe-tech.com/?needoutlink=1

3.8 页面分享#

如需要获取页面的分享信息, 需要调用 XEWebView 的share()方法来触发分享事件:
- (void)share;
触发分享操作后, XEWebView 会异步调用 webView:didReceiveNotice:代理方法,XENotice 的 response 会包含分享需要的各种信息。
并不是所有可见页面都能触发分享. 没有回调则代表该页面不可分享。

3.9 日志开关#

SDK 提供了日志功能,默认日志为关闭状态. 开发者可以通过 XEConfig 中的设置打开日志开关.
// 是否开启控制台日志输出,默认为NO。仅在 DEBUG 模式下有效
@property (nonatomic, assign) BOOL enableLog;

4 常见问题#

4.1 iOS 使用 SDK 时,出现支付后不能返回 APP#

请参考上方接入指南,配置 app scheme.

4.2 iOS点击去支付无法跳转到对应客户端微信#

首先确认用户设备是否安装相应客户端,其次确认 shouldStartLoadWithRequest 里是否拦截微信的 scheme,最后确认工程是否加了微信 scheme 白名单。

4.3 pod 搜索不到最新的 SDK 呀?#

您电脑本地的 pod repo 没有更新。运行 pod repo update 即可。

4.4点击分享按钮没有弹出分享。#

点击分享按钮后,SDK 会将页面相关信息返回到应用中。应用开发者需要自行实现分享的 UI。 监听一下消息即可获取分享相关信息:
- (void)webView:(id<XEWebView>)webView didReceiveNotice:(XENotice *)notice {     
    switch (notice.type) {         
        case XENoticeTypeShare: // 收到分享的回调数据         
             {
                 NSLog(@"分享数据:%@", notice.response);
                 break;
             }
}

4.5 分享回调没有图片等数据?#

需在B端后台开通配置

4.6 接入过程中的问题及其他未注明事宜,请咨询您的专属管家。#

上一页
Android-SDK 接入
下一页
H5直接嵌入
Built with