_banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanneradview.gender_male); _bannera

Similar documents
_banneradview.settest(true); _banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanner

一、

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

掌盟 SoEasy SDK 开发者帮助文档 1. 接入前项目检查 根据游戏接入后出现的问题, 对游戏项目做以下几点要求 : a) AndroidManifest.xml 中 android:targetsdkversion="19" b) 如果 AndroidManifest.xml 有 insta

RecyclerView and CardVew

Dynamic Layout in Android

Microsoft Word - BaiduMobAds_MSSP_bd_SDK_android.doc

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

百度xx SDK用户手册

Android Service

建模与图形思考

建模与图形思考

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

建立Android新專案

Microsoft Word - 01.DOC

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

百度xx SDK用户手册

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

百度xx SDK用户手册

Android Fragment

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

幻灯片 1

Java

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

untitled

Microsoft Word - ch04三校.doc

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

Microsoft Word - 第4章 3D相册.doc

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

untitled

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

图 6-1 主界面 MainActivity 界面对应的布局文件 (activity_main.xml) 如下所示 : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="

EJB-Programming-4-cn.doc

Microsoft Word - weather12 刷新按钮动画+搜索框+bug处理.docx

untitled

Chapter 9: Objects and Classes

概述

javaexample-02.pdf

TVS厂商接入流程API文档

使用Cassandra和Spark 2.0实现Rest API服务

百度xx SDK用户手册

EJB-Programming-3.PDF

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

chp6.ppt

建立Android新專案

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

untitled

构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3

人民邮电

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

Microsoft Word - FPKLSC_21.docx

手说TTS开发指南

1.5招募说明书(草案)

Microsoft PowerPoint - 08_Android_Spring11_Control2.pptx

B1

浙江师范大学2014年度毕业生就业质量报告

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

公務員服務法第13條相關解釋彙整表

大陸教育部等6個部門公佈「現代職業教育體系建設規劃 ( 年)」規劃到2015年初步形成現代職業教育體系框架,到2020年基本建成「中國」特色現代職業教育體系

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

B1

Microsoft Word - 临政办发6.doc

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

untitled

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

untitled

IoC容器和Dependency Injection模式.doc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

基于ECO的UML模型驱动的数据库应用开发1.doc


Microsoft Word - 新1-12.doc

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中

第 5 章 Android 控件进阶操作实战 ArrayAdapter 适配器 ListView 的数据渲染都需要借助适配器来完成, 首先看一下结合最简单的 ArrayAdapter 来实现 ListView 主布局文件 (activity_main.xml) 代码如下 : <?

FY.DOC

无类继承.key

實作SQLiteOpenHelper類別

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

Chapter 9: Objects and Classes

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

Microsoft Word - A _ doc

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

ASP.NET实现下拉框二级联动组件

JavaIO.PDF

Strings

JBuilder Weblogic

可 Web 编程的NativeUI 设计与实现

新版 明解C++入門編

D C 93 2

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

Transcription:

京东与 AdView APP 联盟 SDK Android 版接口说明文档 1.5 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 修改 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" /> <uses-permission android:name="android.permission.write_external_storage"/> 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.setadlistener(new AdListener() { public void reqsuccess() { Log.d("myTag", "user mytag reqsuccess"); public void reqfailed(int errorcode, String errmessage) { Log.d("myTag", "mytag banner reqfailed"); public void showsuccess() { Log.d("myTag", "mytag banner showsuccess"); public void onclickad() { Log.d("myTag", "mytag banner onclickad"); public void onloadingfinish() { Log.d("myTag", "mytag banner onloadingfinish"); ); _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 Banner_480_75 广告大小,480 宽,75 高 适用于平板电脑 String Banner_640_100 广告大小,640 宽,100 高 适用于平板电脑 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 appcats) 应用分类 ( 详见 2.3 分类说明 )

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.setadlistener(new AdListener() { public void reqsuccess() { Log.d("myTag", "mytag modal reqsuccess"); public void reqfailed(int errorcode, String errmessage) { Log.d("myTag", "mytag modal reqfailed"); public void showsuccess() { Log.d("myTag", "mytag modal showsuccess"); public void onclickad() { Log.d("myTag", "mytag modal onclickad");

public void onloadingfinish() { Log.d("myTag", "mytag modal onloadingfinish"); _modeladview.show(); ); _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 Modal_600_500 广告大小,600 宽,500 高 适用于平板电脑 String Modal_640_960 广告大小,640 宽,960 高 适用于平板电脑 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 2.4 原生广告接口 1. 原生广告接口类 :com.jd.jdadsdk.nativead 2. NativeAd nativead = new NativeAd(acitivty, posid,nativeadlistener); nativead.loadad(int count,int imgwidth); 参数说明 :NativeAd 构造广告分别对应 Activity, 密钥 id, 回调接口 (NativeAdListener), NativeAdListener 是原生广告请求的回调接口, 在有数据返回成功与失败时, 会通过这个接口回调, 详情参见 demo 与下方示例 ; 方法名方法说明 onloadad(list<nativeadref> arg0) 请求成功会返回 listad 集合 onloadfailed(int errorcode) 请求失败会返回 errorcode

NativeAd.loadAd(int count,int imgwidth), int count 对应请求返回广告的条数,int imgwidth 对应正方形广告图片的象素大小 3. 返回数据 com.jd.jdadsdk.nativeadref,nativeadref 为单个商号类对象, 所含 api 如下 : 方法名 方法介绍 getimgurl() 图片 url nativeadref.gettitle() 广告标题 onclicked(view v) 点击处理接口,v 为详应的 view, 不可为 null nativeadref.doshowreport(activity) 展现上报接口 getdesc() 获取商品描述信息 备注 : 以下所使用的 FinalBitmap 为第三方下载图片的插件, 开发者可随意使用的下载图片的广告 ; 示例代码 : public class NativeAdActivity extends Activity implements NativeAdListener { private ListView mlistview; private MyAdapter myadapter; private FinalBitmap finalbitmap; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.native_layout); mlistview = (ListView) findviewbyid(r.id.list_view); finalbitmap = FinalBitmap.create(this); NativeAd nativead = new NativeAd(this, "dummy_tagid_native_ad", this); nativead.loadad(10,120); public void onloadad(list arg0) { List<NativeAdRef> listad = (List<NativeAdRef>)arg0;

if (listad!= null && listad.size() > 0) { myadapter = new MyAdapter(listAd); mlistview.setadapter(myadapter); public void onloadfailed(int errorcode) { class MyAdapter extends BaseAdapter { private List<NativeAdRef> listad; public MyAdapter(List<NativeAdRef> list) { listad = list; public Object getitem(int position) { return listad.get(position); public long getitemid(int position) { return 0; public int getcount() { return listad!= null? listad.size() : 0; public View getview(int position, View convertview, ViewGroup parent) { final NativeAdRef nativeadref = listad.get(position); ViewHolder viewholder; null); if (convertview == null) { viewholder = new ViewHolder(); convertview = LayoutInflater.from(NativeAdActivity.this).inflate(R.layout.native_listitem,

viewholder.iconimg = (ImageView) convertview.findviewbyid(r.id.img_iconid); viewholder.titletv = (TextView) convertview.findviewbyid(r.id.native_title); viewholder.desctv = (TextView) convertview.findviewbyid(r.id.native_desc); convertview.settag(viewholder); else { viewholder = (ViewHolder) convertview.gettag(); finalbitmap.display(viewholder.iconimg,nativeadref.getimgurl()); viewholder.titletv.settext(nativeadref.gettitle()); convertview.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { nativeadref.onclicked(v); ); return convertview; class ViewHolder { ImageView iconimg; TextView titletv; TextView desctv; 3. 混淆处理 3.1 如果您需要使用 proguard 混淆代码, 需确保不要混淆 SDK 的代码 请在 proguard.cfg 文件 ( 或其他混淆文件 ) 尾部添加如下配置 : -injars 'libs/ jd_adsdk.jar'; -keep class com.jd.**;