使用的相关事例在:DemoAlibaichuan.js
方便在RN应用中集成阿里百川SDK的各种功能。正在积极开发和完善, 如果觉得有用请给个Star。
- 淘宝登录授权
- 淘客参数设置
- 通过手淘App和H5方式打开宝贝页面、购物车页面、订单页面,添加购物车页面和Url链接, 并获取交易回调信息,实现交易闭环。
- 通过在react-native内嵌入WebView方式打开宝贝页面、购物车页面、订单页面,添加购物车页面和Url链接, 并获取交易回调信息,实现App内交易闭环。
- 进入阿里百川开发者控制台 -> 创建应用 -> 在我的产品后台开通百川电商SDK -> 在API申请开通初级电商能力和无线开放百川淘宝客。
- npm install github:MX8CLUB/react-native-alibaichuan --save
- react-native link react-native-alibaichuan
iOS (参考 http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.VWjqPl&treeId=129&articleId=105648&docType=1 以及Demo工程配置)
- 配置URL Types为tbopen{AppKey}, 比如tbopen123456。
- 在info.plist中,增加LSApplicationQueriesSchemes字段,并添加tbopen,tmall。
- 配置ATS, 允许HTTP请求。
- 上传BundleID, 获取安全图片放到工程目录底下, 并将安全图片加入工程(Build phases -> Copy Bundle Resources)。
- 将node_modules/react-native-alibc-sdk/ios/AlibcTradeSDK/Frameworks和Reaources全部加入工程。参考Demo的工程配置, 添加其它依赖库。
- 参考Demo的工程配置, 配置Framework Search Paths和Header Search Paths。
- Other Linker flags中添加-lc++和-lstdc++。
- 关闭bitcode(build settings -> build options)
- 参考DEMO添加下面代码到AppDelegate.m, 让sdk处理应用跳转结果。
#import <AlibcTradeSDK/AlibcTradeSDK.h> ... - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ // 如果百川处理过会返回YES if ([[AlibcTradeSDK sharedInstance] application:application openURL: url sourceApplication: sourceApplication annotation: annotation]) { // 处理其他app跳转到自己的app return YES; } return NO; } //IOS9.0 系统新的处理openURL 的API - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { //处理其他app跳转到自己的app,如果百川处理过会返回YES if ([[AlibcTradeSDK sharedInstance] application:application openURL: url options: options]) { return YES; } return NO; } ...
Android (参考 http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.Qn05oE&treeId=129&articleId=105647&docType=1 以及Demo工程配置)
- 上传用于调试的app-debug.apk(发布时再上传签名的apk), 获取安全图片放在(res/drawable/yw_1222.jpg)。
- AndroidManifest.xml:
<manifest ... xmlns:tools="http://schemas.android.com/tools" ... <application ... android:allowBackup="true" tools:replace="android:allowBackup"> ... </manifest>
- build.gradle:
... allprojects { repositories { ... maven { url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/" } ... } } ...
参考Demo。