答:使用 showTaokeItemDetailByOpenItemId 或 showTaokeItemDetailByItemId 方法,并且传入应用appkey对应的pid,pid获取方法 。
消费者在打开的商品详情页中直接进行购买,交易成功后就能获取淘客佣金了,具体查看可以去阿里妈妈后台。
答:需要把SDK中的AndroidManifest.xml文件内容合并(主要是application和uses-permission标签下的内容)到项目文件中。
答:在调用showitemdetailbyopenitemid接口的时候,传入的openiid如果不是安全图片对应的appkey生成的就会报错这个无效参数的错误。要注意每个appkey生成混淆商品openiid都是唯一的,openiid是要和安全图片中的appkey匹配的。
答:首先检查一下应用appkey情况,确认使用的百川类型的应用的appkey,只有百川appkey可以使用客户端SDK;
其次,在 应用管理后台 检查appkey的基本信息,应用图标是否正常填写,如果没有填写,登录也会失败。
最后,检查一下应用是否上线,授权管理里面是否有数量限制,
没有申请上线的应用,授权用户只有50个人,超过50个的用户也会授权失败。申请上线
答:onActivityResult中调用CallbackContext.onActivityResult
答:客户端SDK存放的路径不能含有中文,如果有中文的话可能是造成乱码,导致SDK内容无法同步到项目中。
答:一般都是由于开发者没有注册URL跳转的scheme ,URL Schemes填写为 tbopen+appkey,例如tbopen611265。
请参考文档进行设置:点击查看 。
方法一
通过代码获取,代码如下所示:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
方法二
Xcode切换到General标签,查看Bundle Identifier,如下图所示:
答:
在系统的handleOpenURL处需要调用TaeSDK监听手淘登录授权后的回跳
[[TaeSDK sharedInstance] handleOpenURL:url]
TaeSDK会监听回跳的URL,调用开发者之前传入的loginSuccessCallback或loginFailedCallback
示例截图:
答:
1、 检查下是否实现了UIApplicationDelegate。并且设置Window属性可见(一般是系统默认设置的),TAESDK需要用到Window。
@property (strong, nonatomic) UIWindow *window;
示例截图:
2、 为工程增加-ObjC属性
答:1.Sdk中的AndroidManifest.xml文件内容要和开发者项目中的该文件合并;
2.SDK是否使用是最新版的,特别是个别资源文件不要遗漏更新。
答:需要申请相关权限才能使用,参考文档:点击查看
[NSConcreteMutableData gzipDeflate]: unrecognized selector sent to instance 0x7ff21c91c3a0
答:原因是由于没有配置编译参数 -ObjC (一定要注意大小写!), 如图:
可以修改layout的titilebar里的回退按钮的backgroud,如下图:
1.7版本SDK的安全图片和老版本的安全图片是不兼容的,需要替换一下。
去掉title:修改sdk中的AndroidManifest.xml文件的activity的theme设置为notitilebar就可以了,需要哪个activity不显示,去掉哪个就可以
去掉topbar:直接修改sdk的\res\layout目录下的com_taobao_tae_sdk_web_view_title_bar.xml文件的RelativeLayout中的layout_height为0dp就可以
如下图所示:
商品详情服务 (ItemService) 支持指定商品详情页面类型, 目前支持 :
百川 H5 页面 TradeConstants.BAICHUAN_H5_VIEW
淘宝 H5 页面 TradeConstants.TAOBAO_H5_VIEW
唤起手淘详情页 TradeConstants.TAOBAO_NATIVE_VIEW
Map<String, String> exParams = new HashMap<String, String>();
exParams.put(TradeConstants.ITEM_DETAIL_VIEW_TYPE, TradeConstants.BAICHUAN_H5_VIEW);
ItemService itemService = AlibabaSDK.getService(ItemService.class);
itemService.showItemDetailByOpenItemId(this, new TradeProcessCallback() {
@Override
public void onPaySuccess(TradeResult tradeResult) {
}
@Override
public void onFailure(int code, String msg) {
}
}, null, "AAGMb-fzAAgOrLtFIoJ_X7yh", ItemType.TMALL, exParams);
答:1. 如果使用项目依赖方式使用 SDK,请检查所依赖的 SDK 项目中 libs 目录下 securityguard***.jar 和 armeabi/armeabi-v7a/x86 下 securityguard***.so 是否存在,大小正常并版本是否一致,如果是将 SDK 拷贝至当前开发应用中,请在当前应用中检查。如文件存在而生成的 apk 中不存在,请检查 IDE 设置,例如 Android Studio 项目的 build.gradle 中 jniLibs.srcDirs。
2.因为 Android 部分版本系统中载入不同架构原生库 (so 文件) 的限制,请确保项目运行所需的原生库文件在当前手机 CPU 对应架构目录下都存在。例如,安全模块暂时未提供 arm64 架构的原生库,若当前 apk 依赖的其他组件包含 arm64 原生库,会导致载入错误,解决方法是移除依赖组件中相关原生库,确保最终 apk 中不存在 arm64-v8a 。