更新记录
1.0.3(2020-09-22)
1.优化业务逻辑
1.0.2(2020-09-10)
1.安卓升级为官方v3.1.0版本
2.ios升级为官方v3.0.0版本
3.ios全面替换uiwebview为wkwebview
1.0.1(2019-12-17)
1.修复IOS打开我的购物车页面唤端方式参数失效的BUG。
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 10.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 13 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
声明
“京东开普勒”商标权属于北京京东叁佰陆拾度电子商务有限公司,本插件仅调用京东开普勒SDK,京东开普勒SDK是完全免费的,收费是插件收费,和京东开普勒sdk无关。本插件仅用作使uniapp项目(混合)拥有调用原生能力,不对京东开普勒sdk作任何对二次修改。
插件简介
UZK-JDkepler插件 封装了京东开普勒SDK,能够使你的app具备任何京东链接拉起到京东客户端app打开,并具备返回键返回到你的APP的功能。支持京东授权登录,app内闭环交易。
安卓使用demo
链接:https://pan.baidu.com/s/1jZXiHsoSfE2ff9VWAKTpgA 提取码:xfme
模块使用攻略
使用之前须在京东联盟-》推广管理-》APP管理,创建应用,并获取 appkey。
在使用插件中出现任何问题可以通过邮箱:hkeda@qq.com,或者QQ:474938261与我联系。
准备事项
1.首先在京东联盟创建应用https://union.jd.com/manager/appMng,在京东联盟-》推广管理-》APP管理创建应用并获取appkey
注意安卓平台应用要下载下方的小工具来获取MD5和SHA1值,应用创建成功后,等待审核。
审核通过后到开普勒控制台https://k.jd.com分别生成ios和android平台最新的SDK,并下载到本地。
导入插件相关文件
一.创建插件目录
- 1.在项目根目录创建nativeplugins目录(如有请忽略)
- 2.在nativeplugins目录下创建UZK-JDkepler(注意大小写)
- 3.在UZK-JDkepler目录下分别创建android目录和ios目录
二.导入安卓插件包
- 1.将下载的安卓sdk解压,并将整个libs目录拷贝到插件目录下到android目录:
)
- 2.下载UZKJDkepler.zip,并解压。
- 3.全选UZKJDkepler目录下的文件,压缩为zip,并改后缀为aar
- 4.配置完整的安卓目录
二.导入ios插件包
- 1.导入SDk,将开普勒控制台下载下来到ios sdk全部文件拷贝到插件目录的ios文件夹下面
- 2.下载UZKJDkepler.a文件,拷贝到插件目录的ios文件夹下面
- 3.配置完成后的插件目录
配置appkey和appsecret
在manifest.json里的APP原生插件配置里面分别填入安卓和IOS的appkey和appsecret。
IOS 配置urlschemes
在manifest.json 域名视图里面配置IOS的urlschemes
"ios" : {
"urltypes" : [
{
"urlschemes" : [ "sdkback62eb6f5hssuj456fb54ab7646c8"]
}
],
"urlschemewhitelist" : "openapp.jdmobile,jdlogin"
},
其中sdkback后面一串为你京东联盟创建的IOS应用的apkey。
模块接口
方法名 | 说明 |
---|---|
init() | 初始化 |
login() | 授权登录 |
islogin() | 判断是否登录 |
keplerCancelAuth() | 清除授权登录 |
openJDUrlPage() | 打开任意京东url |
keplerNavigationPage() | 打开导航页面 |
keplerOpenItemDetail() | 通过SkuID打开指定商品 |
keplerOpenOrderList() | 打开订单页面 |
keplerOpenSearchResult() | 打开搜索结果页面 |
keplerOpenShoppingCart() | 打开购物车 |
keplerAddToCartWithSku() | 批量加入购物车 |
keplerFastPurchase() | 联盟一键加购 |
setKeplerJDappBackTagID() | 设置开普勒ID |
实例化插件 ,在需要用到插件的页面引入
const plug= uni.requireNativePlugin('UZK-JDkepler');
1 . init(),传入参数: 无
京东开普勒SDK插件初始化(使用模块前务必进行一次初始化操作)
示例代码
plug.init(result=>{
console.log(JSON.stringify(result));
});
- 初始化成功后,返回数据格式
{ "status":true,
"msg": "初始化成功",
}
- 初始化失败,返回数据格式
{ "status":false,
"msg": "初始化失败",
}
2. login()
京东授权登录
传入的参数无
url:
- 类型:字符串
- 描述:(必传)需要打开的京东URL,比如优惠券领券页面
示例代码
plug.login(result=>{
console.log(JSON.stringify(result));
});
3. islogin()
判断是否已经登录
传入的参数无
示例代码
plug.islogin(result=>{
console.log(JSON.stringify(result));
});
4. keplerCancelAuth()
清除授权登录
传入的参数无
示例代码
plug.keplerCancelAuth(result=>{
console.log(JSON.stringify(result));
});
5. openJDUrlPage()
打开任意京东URL
传入的参数
url:
- 类型:字符串
- 描述:(必传)需要打开的京东URL,比如优惠券领券页面
opentype:
- 类型:字符串
- 默认:native
- 描述:(非必传)唤端模式:native为:打开京东APP,H5:打开一个webview
userInfo:
- 类型:JSON对象
- 描述:(非必传)推广位和自定义参数,详见示例代码
- customerInfo // 该参数据为第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。 // 传参长度,使用URL encode之后长度必须小于256字节,否则会抛出异常 //严禁传入中文以及以下特殊字符 (=#%&+?< {})
- positionId:该参数据为联盟推广位ID,需要先在联盟平台union.jd.com的APP管理中创建推广位,只可传入已经创建的推广位ID值,不支持自定义
示例代码
plug.openJDUrlPage({
url: "https://u.jd.com/N618at",
opentype:"native",
userInfo:{
customerInfo:'123',//自定义参数,经测试该参数并不会在订单api里透出
positionId:'1276520279'//推广位PID
}
}, result => {
});
6. keplerNavigationPage()
打开京东导航页面
传入的参数
opentype:
- 类型:字符串
- 默认:native
- 可选参数:native/H5
- 描述:(非必传)唤端模式:native为:打开京东APP,H5:打开一个webview
userInfo:
- 类型:JSON对象
- 描述:(非必传)推广位和自定义参数,详见示例代码
- customerInfo // 该参数据为第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。 // 传参长度,使用URL encode之后长度必须小于256字节,否则会抛出异常 //严禁传入中文以及以下特殊字符 (=#%&+?< {})
- positionId:该参数据为联盟推广位ID,需要先在联盟平台union.jd.com的APP管理中创建推广位,只可传入已经创建的推广位ID值,不支持自定义
示例代码
plug.keplerNavigationPage({
opentype:"native",
userInfo:{
customerInfo:'123',//自定义参数,经测试该参数并不会在订单api里透出
positionId:'1276520279'//推广位PID
}
}, result => {
});
7. keplerOpenItemDetail()
通过SkuID打开指定商品
传入的参数
sku:
- 类型:字符串
- 描述:必传,京东商品id
opentype:
- 类型:字符串
- 默认:native
- 可选参数:native/H5
- 描述:(非必传)唤端模式:native为:打开京东APP,H5:打开一个webview
userInfo:
- 类型:JSON对象
- 描述:(非必传)推广位和自定义参数,详见示例代码
- customerInfo // 该参数据为第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。 // 传参长度,使用URL encode之后长度必须小于256字节,否则会抛出异常 //严禁传入中文以及以下特殊字符 (=#%&+?< {})
- positionId:该参数据为联盟推广位ID,需要先在联盟平台union.jd.com的APP管理中创建推广位,只可传入已经创建的推广位ID值,不支持自定义
示例代码
plug.keplerNavigationPage({
sku:'61885041487',
opentype:"native",
userInfo:{
customerInfo:'123',//自定义参数,经测试该参数并不会在订单api里透出
positionId:'1276520279'//推广位PID
}
}, result => {
});
8. keplerOpenOrderList()
打开我的订单页面
传入的参数
opentype:
- 类型:字符串
- 默认:native
- 可选参数:native/H5
- 描述:(非必传)唤端模式:native为:打开京东APP,H5:打开一个webview
userInfo:
- 类型:JSON对象
- 描述:(非必传)推广位和自定义参数,详见示例代码
- customerInfo // 该参数据为第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。 // 传参长度,使用URL encode之后长度必须小于256字节,否则会抛出异常 //严禁传入中文以及以下特殊字符 (=#%&+?< {})
- positionId:该参数据为联盟推广位ID,需要先在联盟平台union.jd.com的APP管理中创建推广位,只可传入已经创建的推广位ID值,不支持自定义
示例代码
plug.keplerOpenOrderList({
opentype:"native",
userInfo:{
customerInfo:'123',//自定义参数,经测试该参数并不会在订单api里透出
positionId:'1276520279'//推广位PID
}
}, result => {
});
9. keplerOpenSearchResult()
通过关键词打开京东搜索页面
传入的参数
searchKey:
- 类型:字符串
- 描述:必传,搜索关键词
opentype:
- 类型:字符串
- 默认:native
- 可选参数:native/H5
- 描述:(非必传)唤端模式:native为:打开京东APP,H5:打开一个webview
userInfo:
- 类型:JSON对象
- 描述:(非必传)推广位和自定义参数,详见示例代码
- customerInfo // 该参数据为第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。 // 传参长度,使用URL encode之后长度必须小于256字节,否则会抛出异常 //严禁传入中文以及以下特殊字符 (=#%&+?< {})
- positionId:该参数据为联盟推广位ID,需要先在联盟平台union.jd.com的APP管理中创建推广位,只可传入已经创建的推广位ID值,不支持自定义
示例代码
plug.keplerOpenSearchResult({
searchKey:'手机',
opentype:"native",
userInfo:{
customerInfo:'123',//自定义参数,经测试该参数并不会在订单api里透出
positionId:'1276520279'//推广位PID
}
}, result => {
});
10. keplerOpenShoppingCart()
打开我的购物车页面
传入的参数
opentype:
- 类型:字符串
- 默认:native
- 可选参数:native/H5
- 描述:(非必传)唤端模式:native为:打开京东APP,H5:打开一个webview
userInfo:
- 类型:JSON对象
- 描述:(非必传)推广位和自定义参数,详见示例代码
- customerInfo // 该参数据为第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。 // 传参长度,使用URL encode之后长度必须小于256字节,否则会抛出异常 //严禁传入中文以及以下特殊字符 (=#%&+?< {})
- positionId:该参数据为联盟推广位ID,需要先在联盟平台union.jd.com的APP管理中创建推广位,只可传入已经创建的推广位ID值,不支持自定义
示例代码
plug.keplerOpenShoppingCart({
opentype:"native",
userInfo:{
customerInfo:'123',//自定义参数,经测试该参数并不会在订单api里透出
positionId:'1276520279'//推广位PID
}
}, result => {
});
11. keplerAddToCartWithSku()
将商品加入购物车
传入的参数
unionID:
- 类型:字符串
- 描述:必传,京东联盟ID
appId:
- 类型:INT
- 描述:必传,京东联盟创建的应用的APPID
sku:
- 类型:字符串
- 描述:必传,商品id
skuCounts:
- 类型:INT
- 描述:必传,加入购物车的数量
示例代码
plug.keplerAddToCartWithSku({
unionID: 1000579191,
appId: 1276162731,
sku: "52058054504",
skuCounts: 1
}, result => {
console.log(JSON.stringify(result));
});
12. keplerFastPurchase()
联盟一键加购
传入的参数
unionID:
- 类型:字符串
- 描述:必传,京东联盟ID
appId:
- 类型:INT
- 描述:必传,京东联盟创建的应用的APPID
skuID:
- 类型:字符串
- 描述:必传,商品id
示例代码
plug.keplerFastPurchase({
unionID: 1000579191,
appId: 1276162731,
skuID:51229964416,
}, result => {
console.log(JSON.stringify(result));
});