jdapp

来自于:开发者立即使用

京东开普勒概述

京东开普勒集成京东官方移动开放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 appkey:(必须配置) 在京东开普勒申请的当前APP的appkey secretKey:(必须配置) 在京东开普勒申请的当前APP的secretKey

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

模块提供的方法

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:

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

    示例代码

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:

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

    示例代码

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:

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

    示例代码

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:

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

    示例代码

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_cate

打开某个分页面

open_cate(callback(ret, err))

params

name:

  • 类型:分类名称
  • 描述:要打开的某个分类
  • 必填: 是
          {"热门分类", "手机", "家用电器",
              "电脑办公", "摄影数码", "女装服饰", "男装服饰", "时尚鞋靴", "内衣配件", "运动户外", "珠宝饰品",
              "钟表", "母婴用品", "童装童鞋", "玩具乐器", "护肤美妆", "清洁洗护", "皮具箱包", "家居家纺",
              "生活用品", "食品生鲜", "酒水饮料", "奢品礼品", "家具建材", "热卖品牌", "营养保健", "汽车用品",
              "宠物专区", "图书音像", "情趣用品"};
      //仅限上面几个一级分类,如京东一级分类发生变化,其它问题,会跳转整体导航页。
    

callback(ret, err)

示例代码

var jdapp= api.require('jdapp');
jdapp.open_cate({ name: "时尚鞋靴" });

可用性

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
申请说明 先注册京东账号,然后进入申请地址,申请开发者账号,并创建应用
申请通过后即可进入控制台如下图

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,解压后得到模块结构

    ├─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文件 Alt text

  • 4,在控制台上传自定义模块包如下图 Alt text
  • 5,如果一切不出错,那么就可以添加这个模块,进行编译了,可先尝试自定义loader编译(安卓必须选中使用升级环境编译)

反馈和建议

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