libWaterBridgeSDK 1.0.3

libWaterBridgeSDK 1.0.3

Y W 维护。



  • 作者
  • 周鹏

·准备工作 在进行水桥授权登录接入之前,在水桥开放平台注册开发者帐号,并有一个已审核通过的移动应用及相应的 AppID,申请水桥登录且通过审核后,可开始接入流程。

1.当前移动应用上水桥登录仅支持原生物理登录方式,需要用户安装水桥客户端配合使用。

2.对于 iOS 应用,考虑到 iOS 应用商店审核指南中的相关规定,建议开发者接入水桥登录时,先检测用户手机是否已安装水桥客户端(使用 sdk 中的 isInstalled 函数),对未安装的用户隐藏水桥登录按钮,只提供其他登录方式(比如手机号注册登录、游客登录等)。 ·集成 ·手动集成 下载水桥终端 SDK 文件,下载地址 SDK 文件包含 libWaterBridgeSDK,WBApi.h 两个文件 ·通过 CocoaPods 集成 ·在 Xcode 中建立您的工程。 ·在工程的 Podfile 中添加以下代码:pod 'libWaterBridgeSDK' 保存并执行 pod install,然后用后缀为.xcworkspace 的文件打开工程。 注意: 在命令行下执行 pod search libWaterBridgeSDK,如显示的 libWaterBridgeSDK 版本不是最新的,则先执行 pod repo update 操作更新本地 repo 的内容 关于 CocoaPods 的更多信息请查看 Cocoapods 官方网站。

·配置 [1] 在 Xcode 中,选择您的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type”添加“URL scheme”为您所注册的应用程序 id(如下所示)。 规则为 wb+APPID,如 wb202083712837192837 请务必按此格式配置 URLSchemes [2] 由于 iOS9 引入了白名单的概念,所以需要在 Xcode 中,选择您的工程设置项,选中“TARGETS”一栏,在 “info”标签栏的“LSApplicationQueriesSchemes”添加waterbridge(如下所示)。 [3] 在您需要使用水桥终端 API 的文件中,导入头文件 #import “libWaterBridgeSDK/WBApi.h” 并增加 WBApiDelegate 协议。

·示例代码 [1] 要使您的程序启动后水桥终端能响应程序,需要在代码中向水桥终端注册您的 id。(在 AppDelegate 的 didFinishLaunchingWithOptions 函数中向水桥注册 id)。

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [WBApi registerApp:APPID]; return YES; }

  • (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { return [WBApi handleOpenURL:url delegate:self]; }

(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [WBApi handleOpenURL:url delegate:self]; } 一旦流程全部完成,url 中将携带第三方授权所需登录参数,处理后将通过协议方法返回。为了展示方便,此处 delegate 设置为自己,实际项目中可以根据需求设置为其他对象。

  • 现在,您的程序要实现与水桥终端交互的具体请求和响应,因此需要实现 WBApiDelegate 协议的方法:

(void)onWaterBridgeResp:(WBAuth *)resp { } 如果授权登录成功,将会在上面的方法中返回用户信息。例如 openId、昵称、头像等

[2] 在调用水桥 app 之前可以判断是否安装水桥且已设置了白名单,可以跳转 [WBApi isInstalled] 结果为 true 表示可以调用水桥 app [WBApi sendAuthRequestWithCompletion:^(NSError * _Nullable error) {

}]; 如果授权失败,在上述回调中获取错误状态码及错误信息。

·常见问题及解决方案 一.无法跳转到水桥 App 1.iOS9 引入白名单的概念,是否将水桥的 url scheme (waterbridge) 设置到白名单,参阅配置[2] 2.APPID 是否正确,及是否已注册,参阅 示例代码[1] 3.检查网络是否良好 4.参照控制台错误信息对照表