jdapp

init login logout open_url open_search open_car

京东开普勒概述

京东开普勒集成京东官方移动开放SDK

适合不同场景下的入口链接嵌入,方便灵活的配置,满足不同场景下需求,可享受京东全品类实物商品、优惠券和营销工具,合作方可任意组合自己的商品页面。

便捷灵活的搭建电商系统和使用营销工具,可实现场景内交易闭环和外呼交易闭环,享受京东标准配送服务和售后服务。

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:jdapp
  • 配置示例:
  • 字段描述:

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

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

    • 字段描述:

      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)

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

      1. 根据ret中的status的值决定是否初始化成功,此值只有初始化成功才会是true,其它都是false
      2. data有可能是错误code,有可能是错误信息,登录成功后可能是空字符串

    err:

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

      1. {
      2. }

      示例代码

    1. jdapp.login( function (rs, err) {
    2. alert(JSON.stringify(rs));
    3. })

    可用性

    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. {

      示例代码

    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))

    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,有可能是错误信息,也可能是空信息

    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');

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    open_detail

    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申请教程

    下载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

    创建自定义模块

    流程简要说明

    • 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
    • 3,替换完成后,压缩对应的两个目录(Android\jdapp_hongbao) 和 (iOS\jdapp_hongbao),如下图,得到了两个zip文件

    反馈和建议

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