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
  • 配置示例:
  1. <feature name="jdapp">
  2. <param name="urlScheme" value="sdkback555fde1cdxxxxxxxxxxx" />
  3. <param name="back_id" value="JD2018xxxxxxxxxxx" />
  4. <param name="appkey" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
  5. <param name="secretKey" value="xxxxxxxxxxxxxxxxxxxx" />
  6. </feature>
  • 字段描述:

    urlScheme:(必须配置) 在京东开普勒申请的当前APP的urlScheme back_id:(必须配置) 在京东开普勒申请的当前app的返回小把手ID(此项需要京东人工审核,会根据APP的流量决定是会发放.邀约制) appkey:(必须配置) 在京东开普勒申请的当前APP的appkey secretKey:(必须配置) 在京东开普勒申请的当前APP的secretKey

  • 申请教程见最下方(注意:申请时android必须用正式签名证书和包名申请,ios必须用正式的BundleID)

  1. <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:

  • 类型:字符串
  • 描述:第三方应用自定义参数,可以为页面,频道标示,实现统计,打点等需求,在订单维度会存储此字段。

    1. 注(ios已被官方禁止了此字段,android未知)
  • 必填: 否

position:

  • 类型:字符串
  • 描述:计费参数
  • 必填: 否

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. 根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
    2. data有可能是错误code,有可能是错误信息,也可能是空信息
    1. {
    2. status:false,
    3. msg:"初始化失败",
    4. data:101
    5. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. }

    示例代码

  1. var jdapp= api.require('jdapp');
  2. var params = {
  3. act_id: "100",
  4. ext: api.systemType + "_" + api.systemVersion,
  5. params: "test",
  6. position: 11,
  7. };
  8. jdapp.init(params, function (rs, err) {
  9. alert(JSON.stringify(rs));
  10. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

is_instll

是否安装京东APP

is_instll()

params

callback(ret, err)

  • 该方法为同步方法,已安装直接返回true,没有安装返回false
  • 目前只有这一个接口是同步返回,其它接口全是异步返回

示例代码

  1. var jdapp= api.require('jdapp');
  2. var ist = jdapp.is_instll();
  3. alert(ist);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

login

授权登录

login(callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. 根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
    2. data有可能是错误code,有可能是错误信息,登录成功后可能是空字符串
    1. {
    2. status:false,
    3. msg:"用户取消",
    4. data:""
    5. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. }

    示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.login( function (rs, err) {
  3. alert(JSON.stringify(rs));
  4. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

is_login

是否授权登录成功

is_login(callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. 根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
    2. data有可能是错误code,有可能是错误信息,也可能是空信息
    1. {
    2. status:false,
    3. msg:"用户取消",
    4. data:""
    5. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. }

    示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.login( function (rs, err) {
  3. alert(JSON.stringify(rs));
  4. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

logout

退出授权登录

logout(callback(ret, err))

params

callback(ret, err)

示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.logout()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

add_to_car

添加商品到购物车

add_to_car(callback(ret, err))

params

itemid:

  • 类型:字符串
  • 描述:商品id
  • 必填: 是

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. 根据ret中的status的值决定是否添加成功,此值只有初始化成功才会是true,其它都是false
    2. data有可能是错误code,有可能是错误信息,也可能是空信息
    1. {
    2. status:true,
    3. msg:"添加成功",
    4. data:""
    5. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. }

    示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.add_to_car({ itemid: "12883685691" }, function (rs, err) {
  3. alert(JSON.stringify(rs));
  4. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

open_url

打开一个京东内部网址

open_url(callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:商品链接地址,只能同京东域名下的网址
  • 必填: 是

callback(ret, err)

示例代码

  1. var jdapp= api.require('jdapp');
  2. 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)

示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.open_detail({ itemid: "24216236517" });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

open_search

打开搜索页面

open_search(callback(ret, err))

params

kw:

  • 类型:字符串
  • 描述:要搜索的关键字
  • 必填: 是

callback(ret, err)

示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.open_search({ kw: "羽绒服" });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

open_order

打开订单页面

open_order(callback(ret, err))

params

callback(ret, err)

示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.open_order();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

open_car

打开购物车页面

open_car(callback(ret, err))

params

callback(ret, err)

示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.open_car();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

open_nav

打开分类导航页面

open_nav(callback(ret, err))

params

callback(ret, err)

示例代码

  1. var jdapp= api.require('jdapp');
  2. jdapp.open_nav();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

API申请教程

  1. 目前此功能只限企业账号申请,后期是否针对个人用户开放还需看京东的运营决定
  2. 使用此模块,必须签名,包名都与在京东开普勒申请时一致才可正常使用
  3. 申请地址 http://kepler.jd.com/console/app/app_list.action
  4. 申请说明 先注册京东账号,然后进入申请地址,申请开发者账号,并创建应用
  5. 申请通过后即可进入控制台如下图

Alt text

下载SDK并提取safa.jpg文件

流程简要说明

  • 1,先创建应用
  • 2,选择对应APP的应用,点击应用管理
  • 3,点击SDK下载
  • 4,点击 生成最新的SDK
  • 5,如IOS平台,则填写IOS对应的BundleID,如安卓平台,上传正式签名的APK上传,然后下载各自的SDK
  • 6,下载完成后,得到两个zip文件,然后提取safe.jpg出来,单独做一个自定义模块上传,用来合并文件到模块中
  • 7,编译时,安卓必须使用”升级环境编译” 否则会载入不了模块(京东方面限制了,导致必须要用升级环境编译)

Alt text Alt text Alt text

创建自定义模块

流程简要说明

  • 1,下载专用的模块包,下载链接地址:https://pan.baidu.com/s/19oLpKoy342qasXFHfKIkYQ 密码:jvah
  • 2,解压后得到模块结构

    1. ├─Android
    2. └─jdapp_hongbao
    3. module.json
    4. └─res_jdapp_hongbao
    5. AndroidManifest.xml(将下载的京东android SDK中的\src\main\AndroidManifest.xml中的一串sdkback00000000000000内容,复制过来替换掉这个AndroidManifest.xml文件中对应的值
    6. └─res
    7. └─raw
    8. safe.jpg (将下载的京东android SDK中的\src\main\res\raw\safa.jpg拿过来替换掉这个文件)
    9. └─iOS
    10. └─jdapp_hongbao
    11. module.json
    12. └─target
    13. └─Kepler.bundle
    14. safe.jpg (将下载的京东ios SDK中的Kepler.bundle\safe.jpg拿过来替换掉这个文件)
  • 3,替换完成后,压缩对应的两个目录(Android\jdapp_hongbao) 和 (iOS\jdapp_hongbao),如下图,得到了两个zip文件 Alt text

  • 4,在控制台上传自定义模块包如下图 Alt text

  • 5,如果一切不出错,那么就可以添加这个模块,进行编译了,可先尝试自定义loader编译(安卓必须选中使用升级环境编译)

反馈和建议

如遇技术原因可加QQ群 865279417(注明 京东模块) 非技术人员,或闲聊者勿扰.