jdapp
来自于:开发者立即使用
init is_instll login is_login logout add_to_car open_url open_detail open_search open_order open_car open_nav
京东开普勒概述
京东开普勒集成京东官方移动开放SDK
适合不同场景下的入口链接嵌入,方便灵活的配置,满足不同场景下需求,可享受京东全品类实物商品、优惠券和营销工具,合作方可任意组合自己的商品页面。
便捷灵活的搭建电商系统和使用营销工具,可实现场景内交易闭环和外呼交易闭环,享受京东标准配送服务和售后服务。
模块配置
使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:jdapp
- 配置示例:
<feature name="jdapp">
<param name="urlScheme" value="sdkback555fde1cdxxxxxxxxxxx" />
<param name="back_id" value="JD2018xxxxxxxxxxx" />
<param name="appkey" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
<param name="secretKey" value="xxxxxxxxxxxxxxxxxxxx" />
</feature>
字段描述:
urlScheme:(必须配置) 在京东开普勒申请的当前APP的urlScheme back_id:(必须配置) 在京东开普勒申请的当前app的返回小把手ID(此项需要京东人工审核,会根据APP的流量决定是会发放.邀约制) appkey:(必须配置) 在京东开普勒申请的当前APP的appkey secretKey:(必须配置) 在京东开普勒申请的当前APP的secretKey
申请教程见最下方(注意:申请时android必须用正式签名证书和包名申请,ios必须用正式的BundleID)
<preference name="querySchemes" value="jdlogin,openapp.jdmobile"/>
字段描述:
querySchemes:(必须配置) 调用京东登录和检测京东是否安装
如果您的APP本身有设定了querySchemes,可以value后面加上jdlogin,openapp.jdmobile,多个以英文豆号格开
- 如tbopen,weixin,wechat,alipay,jdlogin,openapp.jdmobile
模块提供的方法
init
初始化sdk
init({params}, callback(ret, err))
params
act_id:
- 类型:字符串
- 描述:设置ActId 内容ID
- 必填: 否
ext:
- 类型:字符串
- 描述:内容渠道扩展字段
- 必填: 否
virtual_appkey:
- 类型:字符串
- 描述:计费到另外一个账号体系的appkey
- 必填: 否
params:
- 类型:字符串
描述:第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。
注(ios已被官方禁止了此字段,android未知)
必填: 否
position:
- 类型:字符串
- 描述:计费参数
- 必填: 否
callback(ret, err)
ret:
- 类型:JSON对象
内部字段:
根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
data有可能是错误code,有可能是错误信息,也可能是空信息
{
status:false,
msg:"初始化失败",
data:101
}
err:
var jdapp= api.require('jdapp');
var params = {
act_id: "100",
ext: api.systemType + "_" + api.systemVersion,
params: "test",
position: 11,
};
jdapp.init(params, function (rs, err) {
alert(JSON.stringify(rs));
})
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
is_instll
是否安装京东APP
is_instll()
params
无
callback(ret, err)
无
- 该方法为同步方法,已安装直接返回true,没有安装返回false
- 目前只有这一个接口是同步返回,其它接口全是异步返回
示例代码
var jdapp= api.require('jdapp');
var ist = jdapp.is_instll();
alert(ist);
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
login
授权登录
login(callback(ret, err))
params
无
callback(ret, err)
ret:
- 类型:JSON对象
内部字段:
根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
data有可能是错误code,有可能是错误信息,登录成功后可能是空字符串
{
status:false,
msg:"用户取消",
data:""
}
err:
var jdapp= api.require('jdapp');
jdapp.login( function (rs, err) {
alert(JSON.stringify(rs));
})
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
is_login
是否授权登录成功
is_login(callback(ret, err))
params
无
callback(ret, err)
ret:
- 类型:JSON对象
内部字段:
根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
data有可能是错误code,有可能是错误信息,也可能是空信息
{
status:false,
msg:"用户取消",
data:""
}
err:
var jdapp= api.require('jdapp');
jdapp.login( function (rs, err) {
alert(JSON.stringify(rs));
})
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
logout
退出授权登录
logout(callback(ret, err))
params
无
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.logout()
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
add_to_car
添加商品到购物车
add_to_car(callback(ret, err))
params
itemid:
- 类型:字符串
- 描述:商品id
- 必填: 是
callback(ret, err)
ret:
- 类型:JSON对象
内部字段:
根据ret中的status的值决定是否添加成功,此值只有初始化成功才会是true,其它都是false
data有可能是错误code,有可能是错误信息,也可能是空信息
{
status:true,
msg:"添加成功",
data:""
}
err:
var jdapp= api.require('jdapp');
jdapp.add_to_car({ itemid: "12883685691" }, function (rs, err) {
alert(JSON.stringify(rs));
})
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open_url
打开一个京东内部网址
open_url(callback(ret, err))
params
url:
- 类型:字符串
- 描述:商品链接地址,只能同京东域名下的网址
- 必填: 是
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.open_url({ url: "https://item.jd.com/24216236517.html" });
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open_detail
通过商品ID打开详情页
open_detail(callback(ret, err))
params
itemid:
- 类型:字符串
- 描述:商品id
- 必填: 是
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.open_detail({ itemid: "24216236517" });
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open_search
打开搜索页面
open_search(callback(ret, err))
params
kw:
- 类型:字符串
- 描述:要搜索的关键字
- 必填: 是
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.open_search({ kw: "羽绒服" });
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open_order
打开订单页面
open_order(callback(ret, err))
params
无
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.open_order();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open_car
打开购物车页面
open_car(callback(ret, err))
params
无
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.open_car();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open_nav
打开分类导航页面
open_nav(callback(ret, err))
params
无
callback(ret, err)
无
示例代码
var jdapp= api.require('jdapp');
jdapp.open_nav();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
API申请教程
目前此功能只限企业账号申请,后期是否针对个人用户开放还需看京东的运营决定
使用此模块,必须签名,包名都与在京东开普勒申请时一致才可正常使用
申请地址 http://kepler.jd.com/console/app/app_list.action
申请说明 先注册京东账号,然后进入申请地址,申请开发者账号,并创建应用
申请通过后即可进入控制台如下图
下载SDK并提取safa.jpg文件
流程简要说明
- 1,先创建应用
- 2,选择对应APP的应用,点击应用管理
- 3,点击SDK下载
- 4,点击 生成最新的SDK
- 5,如IOS平台,则填写IOS对应的BundleID,如安卓平台,上传正式签名的APK上传,然后下载各自的SDK
- 6,下载完成后,得到两个zip文件,然后提取safe.jpg出来,单独做一个自定义模块上传,用来合并文件到模块中
- 7,编译时,安卓必须使用”升级环境编译” 否则会载入不了模块(京东方面限制了,导致必须要用升级环境编译)
创建自定义模块
流程简要说明
- 1,下载专用的模块包,下载链接地址:https://pan.baidu.com/s/19oLpKoy342qasXFHfKIkYQ 密码:jvah
2,解压后得到模块结构
├─Android
│ └─jdapp_hongbao
│ │ module.json
│ │
│ └─res_jdapp_hongbao
│ │ AndroidManifest.xml(将下载的京东android SDK中的\src\main\AndroidManifest.xml中的一串sdkback00000000000000内容,复制过来替换掉这个AndroidManifest.xml文件中对应的值
│ │
│ └─res
│ └─raw
│ safe.jpg (将下载的京东android SDK中的\src\main\res\raw\safa.jpg拿过来替换掉这个文件)
│
└─iOS
└─jdapp_hongbao
│ module.json
│
└─target
└─Kepler.bundle
safe.jpg (将下载的京东ios SDK中的Kepler.bundle\safe.jpg拿过来替换掉这个文件)
3,替换完成后,压缩对应的两个目录(Android\jdapp_hongbao) 和 (iOS\jdapp_hongbao),如下图,得到了两个zip文件
4,在控制台上传自定义模块包如下图
- 5,如果一切不出错,那么就可以添加这个模块,进行编译了,可先尝试自定义loader编译(安卓必须选中使用升级环境编译)
反馈和建议
如遇技术原因可加QQ群 865279417(注明 京东模块) 非技术人员,或闲聊者勿扰.