iOS-SDK 接入
小鹅通原生SDK- iOS端接入指南
1.前置条件
1.1 SDK相关参数名词解释
参数名 | 描述 | 备注 |
---|---|---|
app_id | 店铺id | 小鹅店铺的店铺id,在管理台获取 |
client_id | sdk客户端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. 接入要求
3. 接入流程
3.1 CococaPods 导入
pod 'XEShopSDK'
3.1 手动导入
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,无支付可忽略)
3.4 初始化 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,纯代码或者 Storyboard
self.webView.noticeDelegate = self; // 实现代理方法,监听相关的通知
// 加载链接
[self.webView loadRequest:urlRequest];
3.6 认证
3.6.1 同步认证信息
- (void)synchronizeCookieKey:(nullable NSString *)key
cookieValue:(nullable NSString *)value;
3.6.2 清除认证信息
- (void)logout;
3.7 接收回调事件
#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 类型
3.7.1.1 XENoticeTypeLogin 登录通知
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 点击自定义链接回调
3.8 页面分享
- (void)share;
3.9 日志开关
// 是否开启控制台日志输出,默认为NO。仅在 DEBUG 模式下有效
@property (nonatomic, assign) BOOL enableLog;
4 常见问题
4.1 iOS 使用 SDK 时,出现支付后不能返回 APP
4.2 iOS点击去支付无法跳转到对应客户端微信
4.3 pod 搜索不到最新的 SDK 呀?
4.4点击分享按钮没有弹出分享。
- (void)webView:(id<XEWebView>)webView didReceiveNotice:(XENotice *)notice {
switch (notice.type) {
case XENoticeTypeShare: // 收到分享的回调数据
{
NSLog(@"分享数据:%@", notice.response);
break;
}
}
4.5 分享回调没有图片等数据?
4.6 接入过程中的问题及其他未注明事宜,请咨询您的专属管家。
修改于 2022-03-08 10:08:55