腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 文档 腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 必读 1. SDK 嵌入 1.1 步骤 1: 添加 SDK 到工程中 1.2 步骤 2: 修改 AndroidManifest.xml 文件 2. 接入代码 2.1 激活事件统计接口 2.1.1 接入代码示例 2.1.2 激活事件主要 API 2.2 更多转化类型统计接口 2.2.1 接入代码示例 2.2.2 注册事件主要 API 2.3 会话 ( 启动次数 ) 统计接口 2.3.1 接入代码示例 2.3.2 会话 ( 启动次数 ) 统计主要 API 2.3.3 会话 ( 启动次数 ) 统计接口说明 3. 注意事项 必读 由于部分广告主包名存在规范问题, 例如大小写 Android 和 ios 共用包名等原因, 在接入前, 请联系广点通运营确认包名和 APP ID 关联是否存在异常 联系方式 : QQ:2508973061 白珺 RTX:v_junbai,franciszhao 1. SDK 嵌入
1.1 步骤 1: 添加 SDK 到工程中 请在工程根目录下创建一个名为 libs 的子目录, 并将 SDK 的 jar 包 GDTTrackSDK.min.1.1.0.jar 拷贝到该目录下 (1) 如果您使用的是 Eclipse + ADT, 而且 ADT 版本比较低的话, 则需要在 Eclipse 中选中刚才的 jar 包, 然后右键选择 Build Path->Add to Build Path (ADT17 以上已经不需要手动导入 ) (2) 如果您使用的是 Android Studio, 需要在 gradle 中添加 : dependencies { compile files('libs/gdttracksdk.min.1.0.0.jar') } 1.2 步骤 2: 修改 AndroidManifest.xml 文件 添加权限声明 : <uses-permission android:name="android.permission.internet" /> <!-- 允许联网 --> <uses-permission android:name="android.permission.access_network_state"/> <!-- 检测联网方式, 区分设备当前网络是 2G 3G 4G 还是 WiFi --> <uses-permission android:name="android.permission.access_wifi_state" /> <!-- 获取 MAC 地址, 和设备标识一起作为用户标识 --> <uses-permission android:name="android.permission.read_phone_state"/> <!-- 获取设备标识, 标识用户 --> 目前支持的 SDK 版本, 最低到 API 9( 即 Android 系统版本 2.3): <uses-sdk android:minsdkversion="9" android:targetsdkversion="22" /> 2. 接入代码 2.1 激活事件统计接口 2.1.1 接入代码示例 1. ( 完整的代码示例请参考 demo 工程中的 GDTTrackerApplication.java) 2.
3. public class GDTTrackerApplication extends Application { 4. 5. @Override 6. public void oncreate() { 7. super.oncreate(); 8. 9. /** 10. * SDK 初始化接口 : 必须在 Application 的 oncreate 中成功调用一次, 否则其他接口都将无法 使用 11. * 注意 : 只需要调用一次即可, 第一次调用之后的任何调用都将无效 Logcat 中会有初始化信 息输出, 请开发者注意 12. * 13. * @param context applicationcontext 14. * @param channel 渠道标识, 注意 : 目前仅支持传入 "ANDROID" "UNIONANDROID" 这 两个字符串 传入其他字符串将无法被统计 15. */ 16. 17. GDTTracker.init(this, "ANDROID"); 18. 19. /** 20. * SDK 激活上报接口 :Application 创建的时候是激活接口调用的最佳时机, 调用此接口会向 广点通上报激活事件 21. * 注意 :30 天内 App 被打开只会被记录为一次激活 22. * 23. * @param context applicationcontext 24. */ 25. GDTTracker.activateApp(this); 26. } 27. } 2.1.2 激活事件主要 API com.qq.e.track.tracker 方法名 init(context context, String channel) activateapp(context context) activateapp(context context, int value) 功能 初始化方法, 必须在程序的入口调用一次, 该方法不会阻塞程序也不会影响程序性能 注意 : 如果调用该方法时,channel 参数必须是 TrackConstants.APP_CHANNEL 类中定义好的渠道 否则 SDK 将无法成功初始化, 开发者也无法使用 SDK 提供的其他功能 激活上报接口,context 参数是程序的上下文, 一般是 ApplicationContext 激活上报接口,context 参数含义同上,value 参数是激活事件的价值, 由开发者根据自己需要来定义, 应该是大于 0 的整数 ; 如果是金额, 则以分为单位, 例如 1 元对应的参数应该是 100
2.2 更多转化类型统计接口 2.2.1 接入代码示例 1. ( 完整的代码示例请参考 demo 工程中的 GDTTrackerActivity.java) 2. // 当用户在 App 产生需要某一个事件, 我们希望统计这个事件的发生次数时, 可以调用 logeven t 接口进行上报 3. buttonregister.setonclicklistener(new View.OnClickListener() { 4. @Override 5. public void onclick(view v) { 6. // 对应的事件类型 7. String conversiontype = null; 8. switch (v.getid()) { 9. case R.id.button_reg: 10. conversiontype = TrackConstants.CONVERSION_TYPE.REGIS TER; 11. break; 12. case R.id.button_add_to_cart: 13. conversiontype = TrackConstants.CONVERSION_TYPE.ADD_T O_CART; 14. break; 15. case R.id.button_purchase: 16. conversiontype = TrackConstants.CONVERSION_TYPE.PURCH ASE; 17. break; 18. case R.id.button_score: 19. conversiontype = TrackConstants.CONVERSION_TYPE.SCORE ; 20. break; 21. case R.id.button_search: 22. conversiontype = TrackConstants.CONVERSION_TYPE.SEARC H; 23. break; 24. default: 25. break; 26. } 27. 28. if (TextUtils.isEmpty(conversionType)) { 29. return; 30. } 31. /** 32. * SDK 事件统计接口 : 当用户发生 " 注册 " " 添加到购物车 " " 付费 " " 评分 " " 搜索 " 行为时, 可以向广点通上报对应的事件 33. * 34. * @param context applicationcontext 35. * @param eventname 事件类型, 注意 : 目前只能统计 到 "TrackConstants.CONVERSION_TYPE" 类中预定义过的事件类型, 如果开发者传入其他字符串,
将无法在统计到这个事件 36. */ 37. GDTTracker.logEvent(context, conversiontype); 38. } 39. }); 2.2.2 注册事件主要 API com.qq.e.track.tracker 方法名 logevent(context context, String eventname) logevent(context context, String eventname, int value) 功能 注册事件上报接口,context 参数是程序的上下文, 一般是 ApplicationContext,eventName 是事件类型 注意 : 目前 SDK 只支持注册事件的上报, 即开发者只能给 eventname 传入值为 "MOBILEAPP_REGISTER" 的字符串 注册事件上报接口,context 参数和 eventname 含义同上,value 参数是激活事件的价值, 由开发者根据自己需要定义, 一般是大于 0 的整数 2.3 会话 ( 启动次数 ) 统计接口 2.3.1 接入代码示例 1. /** 2. * 会话统计接口 onsessionstart 和 onsessionend 注意事项 : 3. * 4. * 1. 确保在所有的 Activity 中都成对地调 用 "GDTTracker.onSessionStart(this)" 和 "GDTTracker.onSessionEnd(this)" 方法 5. * 2. 如果 Activity 之间有继承或者控制关系请不要同时在父和子 Activity 中重复添加这两个 方法, 否则会造成重复统计 6. * 3.SDK 默认当应用在后台运行超过 30 秒再回到前台时, 是两个独立的 session( 启动次增加 1) 例如按下 home 键, 经过一段时间 ( 大于 30s) 后再返回应用, 启动次数会增加 1 次 7. */ 8. @Override 9. protected void onresume() { 10. super.onresume(); 11. Log.i(TAG, "onresume"); 12. 13. /** 14. * 会话开始接口 15. * 16. * @param context 应用上下文, 本身是 Activity 的话就传入 Activity 17. */
18. GDTTracker.onSessionStart(this); 19. } 20. 21. @Override 22. protected void onpause() { 23. super.onpause(); 24. Log.i(TAG, "onpause"); 25. 26. /** 27. * 会话结束接口 28. * 29. * @param context 应用上下文, 本身是 Activity 的话就传入 Activity 30. */ 31. GDTTracker.onSessionEnd(this); 32. } 2.3.2 会话 ( 启动次数 ) 统计主要 API com.qq.e.track.tracker 方法名 onsessionstart(context context) onsessionend(context context) 功能 会话开始接口,context 参数是上下文信息, 如果 context 本身是一个 Activity 就传入 Activity 会话结束接口, 参数含义同上 注意 :1. 会话结束接口一定要和会话开始接口成对地在 Activity 中调用才能正确统计启动次数 ;2. 如果 Activity 之间有继承或者控制关系请不要同时在父和子 Activity 中重复添加这两个方法, 避免重复统计 2.3.3 会话 ( 启动次数 ) 统计接口说明 1. 为了准确统计应用的会话, 需要在每一个在每个 Activity 的 onresume 方法中调用 onsessionstart, 在 onpause 方法中调用 onsessionend 当一个 onsessionstart 方法与上一个 onsessionend 方法时间相差 30s 以上时, 标志着一个新的 session 开始 2. 如果 Activity 之间有继承或者控制关系请不要同时在父和子 Activity 中重复添加这两个方法, 否则会造成重复统计 3. 注意事项 代码混淆 : 如果需要使用 proguard 混淆代码, 请注意不要混淆 SDK 的代码 在 proguard 配置文件 中添加如下配置 :
1. -keep class com.qq.e.** { 2. *; 3. } SDK 初始化 : 必须先调用 GDTTracker.init(Context context, String channel) 接口, 成功初始化 SDK 后, 才能调用激活 注册事件和会话统计等其他的接口 init 方法中的 channel 参数目前只能是 ANDROID 和 UNIONANDROID 这两个字符串中的一个, 开发者如果传入了错误的 channel 参数,SDK 将抛出异常, 无法成功初始化, 也不会进行任何工作 SDK 下载链接 : http://imgcache.qq.com/qzone/biz/gdt/dev/sdk/android/release/gdt_android_track_sdk.zip