京东 APP 联盟 SDK Android 版接口说明文档 1.0 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到 libs/ 目录下 1.2 拷贝资源文件将 App 联盟 SDK 所带的 layout 资源文件拷贝到 res/layout/ 目录下 将 App 联盟 SDK 所带的 png 图标资源拷贝到 res/drawable-xhdpi/ 目录下 1.3 修改 AndroidManifest.xml 文件 1. 添加权限声明 : <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.read_phone_state" /> 2. 注册 Activity <activity android:name="com.jd.jdadsdk.jdadbrowser" android:screenorientation="portrait"/> 2. 接口示例及说明 2.1 banner 广告 banner 广告类名为 com.jd.jdadsdk.jdbanneradview 代码示例 : public class MainActivity extends Activity { JDBannerAdView _banneradview; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); final RelativeLayout rootlayout = (RelativeLayout) LayoutInflater.from(this).inflate(R.layout.activity_main, null); setcontentview(rootlayout); RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutparams.addrule(relativelayout.align_parent_bottom); layoutparams.addrule(relativelayout.center_horizontal); _banneradview = new JDBannerAdView(MainActivity.this, "example_ad_pos_id", BannerAdSize.Banner_320_48); _banneradview.setclosable(true);
_banneradview.settest(true); _banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanneradview.gender_male); _banneradview.setuseryob("1983"); _banneradview.setappcategories("1,4"); _banneradview.setappkeywords(" 人民币道具 "); _banneradview.setuserid("ab2313cdk89"); _banneradview.loadads(); rootlayout.addview(_banneradview.getview(), layoutparams); protected void ondestroy() { // don't forget to call super.ondestroy() here super.ondestroy(); if(_banneradview!= null) { _banneradview.destroy(); 该类的公共字段有 : 字段名 字段介绍 备注 String Banner_320_48 广告大小,320 宽,48 高 必选 String Banner_320_50 广告大小,320 宽,50 高 必选 String GENDER_MALE 用户性别, 男 String GENDER_FEMALE 用户性别, 女 该类的公共方法有 : 方法名 方法介绍 备注 JDBannerAdView(Activity activity, String adposid, 构造函数 activity 是广告所在的活动窗口, adposid 是广告位 Id,adSize 指定广告的大 必选 String adsize) 小, 值为 JDBannerAdView. Banner_320_48 和 JDBannerAdView. Banner_320_50 void setclosable(boolean closable) 设置 banner 广告是否可关闭, 如可关闭广告右上方有一个关闭按钮 如不调用该方法 默认为可关闭 void loadads() 加载广告 必选 View getview() 获取 View 对象 必选 void destroy() 销毁 AdView, 应该在 Activity::onDestroy() 必选
里调用, 详见代码示例和 Demo void setusergender(string 设置性别, gender 值为 gender) JDBannerAdView.GENDER_MALE 和 JDBannerAdView.GENDER_FEMALE void setuseryob(string yob) 设置用户出生年, 如 1990 void settest(boolean test) 设置测试标识,App 开发者在测试的时候应 设置为 true, 发布版本应设置为 false void setcustomparams(string 自定义参数, 保留接口 customparams) void setuserkeywords(string 用户关键字, 体现用户所感兴趣的领域, 如 userkeywords) 游泳, 唱歌等 void setusercategories(string 用户分类 ( 详见 2.3 分类说明 ) usercategories) void setappkeywords(string 应用特征关键字, 体现 APP 所属板块或领 keywords) 域特征, 如新闻, 军事等 void setappcategories(string 应用分类 ( 详见 2.3 分类说明 ) appcats) void setuserid(string userid) 映射用户的唯一 id,sdk 会利用该 ID 映射成京东自己的用户 ID, 从而推送更精准的广告, 该属性当且仅当 APP 与京东建立了用户映射关系时有用 2.2 插屏广告插屏广告类名为 com.jd.jdadsdk.jdmodaladview, 继承自 com.jd.jdadsdk.jdadview 插屏广告是采用 Dialog 实现的, 所以显示插屏广告会阻止当前活动窗口的交特互 示例代码 : public class MainActivity extends Activity { JDModalAdView _modaladview; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); final RelativeLayout rootlayout = (RelativeLayout) LayoutInflater.from(this).inflate(R.layout.activity_main, null); setcontentview(rootlayout); _modeladview = new JDModalAdView(MainActivity.this, "example_ad_pos_id", JDModalAdView.ModalAdSize.Modal_320_480); _ modeladview.settest(true); _ modeladview.setuserkeywords("swimming"); _ modeladview.setusergender(jdmodaladview.gender_male); _ modeladview.setuseryob("1983"); _modeladview.loadads(); protected void ondestroy() {
// don't forget to call super.ondestroy() here super.ondestroy(); if(_modaladview!= null) { _ modaladview.destroy(); 该类的公共字段有 : 字段名 字段介绍 备注 String Modal_320_480 广告大小,320 宽,480 高 必选 String GENDER_MALE 用户性别, 男 String GENDER_FEMALE 用户性别, 女 该类的公共方法有 : 方法名 方法介绍 备注 JDModalAdView(Activity 构造函数 activity 是广告所在的活动窗口, 必选 activity, String adposid, BannerAdSize adsize) adposid 是广告位 Id,adSize 指定广告的大小, 值为 JDModalAdView. Modal_320_480 void loadads() 加载广告 必选 void destroy() 销毁 AdView, 应该在 Activity::onDestroy() 里调用, 详见代码示例和 Demo 必选 void setusergender(string 设 置 性 别, gender 可 选 值 为 gender) JDModalAdView.GENDER_MALE 和 JDModalAdView.GENDER_FEMALE void setuseryob(string yob) 设置用户出生年, 如 1990 void settest(boolean test) 设置测试标识,App 开发者在测试的时候应 设置为 true, 发布版本应设置为 false void setcustomparams(string 自定义参数, 保留接口 customparams) void setuserkeywords(string 用户关键字, 体现用户所感兴趣的领域, 如 userkeywords) 游泳, 唱歌等 void setusercategories(string 用户分类 ( 详见 2.3 分类说明 ) usercategories) void setappkeywords(string 应用特征关键字, 体现 APP 所属板块或领域 keywords) 特征, 如新闻, 军事等 void setappcategories(string 应用分类 ( 详见 2.3 分类说明 ) appcats) void setuserid(string userid) 映射用户的唯一 id
2.3 用户分类与应用分类说明 1. void setusercategories(string usercategories) : 该字段映射您的应用对用户的分类, 因为不同应用都有自己的用户分类体系, 比如,A 应用对从事教育工作的人标签 tagid=30010, 而京东对教育的分类有音像教育, 母婴教育等, 对应的 tagid 分别为 50026,50037, 为了能够更加精准的投放广告, 给您带的利益最大化, 需要将您的标签 tagid 映射到京东 tagid, 所以该字段的使用需要私下与京东联系 2. void setappcategories(string appcats) : 该字段映射您的应用的分类, 因为不同的应用对相同的内容会有自己不同的分类体系, 例如 :A 应用用 tag=10010 代表 经济, 而京东对 经济 的分类有 手机, 钟表, 奢侈品等, 对应了不同的 tagid( 如 21001,21002,21003 等 ), 为了可以为您投放更精准的广告, 给您带的利益最大化, 所以才需要和您下沟通, 关联映射您的 tagid 3. 混淆处理 3.1 如果您需要使用 proguard 混淆代码, 需确保不要混淆 SDK 的代码 请在 proguard.cfg 文件 ( 或其他混淆文件 ) 尾部添加如下配置 : -injars 'libs/jd_adsdk.jar'; -keep class com.jd.**;