Talkingdata:集成文档Android
适用范围
talkingdata App Analytics Android SDK适用于 Android 2.3.3(API Level 10)及以上的设备。
集成准备-创建应用并获取App ID
App ID是TalkingData分析平台标识一款独立应用/游戏的唯一标识,集成SDK前需要在TalkingData报表中创建应用/游戏并获取相应的App ID。
步骤:
1)注册并登录https://www.talkingdata.com/ ,选择App Analytics产品线
2)创建应用并获取App ID
3)如果已创建的应用,请从“应用管理->基本信息”中查看App ID。
说明: TalkingData支持多平台使用相同的App ID。
集成准备-统计标准说明
基础统计指标定义:
1)新增用户:Android平台中“用户”指一个独立设备。
2)用户的一次使用:指用户从打开应用到退出应用的全过程,如果用户按“Home”键将切出应用后30s内再次返回应用,则认为是上一次使用的延续,不会算作新的应用使用。
3)自定义事件:指用户在HTML5中进行了特定的操作或达成了特定的条件。例如:用户点击了广告栏、用户进行付费等。 自定义事件用于收集任意您期望跟踪的数据。
快速集成-导入 SDK
请根据所用IDE选择导入方式: 1)Eclipse ADT 将 SDK 中的 jar
文件拷贝到工程的libs
文件夹中。
2)Android Studio 2.1)在 Android Studio 项目的 app
文件夹中,新建 libs
文件夹。 2.2)将 SDK jar
文件拷贝到新建的 libs
文件夹中。 2.3)修改 app
文件夹中的 build.gradle
文件,添加 dependencies
依赖项
dependencies {
…
compile files('libs/TalkingdataAnalytics.jar')
…
}
快速集成-代码混淆
如果开发者的应用需要混淆,请在 Proguard
混淆配置文件中增加以下规则,以避免TalkingData SDK 不可用。
-dontwarn com.tendcloud.tenddata.**
-keep class com.tendcloud.** {*;}
-keep public class com.tendcloud.tenddata.** { public protected *;}
-keepclassmembers class com.tendcloud.tenddata.**{
public void *(***);
}
-keep class com.talkingdata.sdk.TalkingDataSDK {public *;}
-keep class com.apptalkingdata.** {*;}
-keep class dice.** {*; }
-dontwarn dice.**
重要说明: 首次从2.1.37及之前版本SDK升级到2.2.2及以后版本时,请务必确认代码混淆方式与我们的集成文档中代码混淆方式一致。
快速集成-配置权限
权限 | 用途 |
---|---|
INTERNET | 允许程序联网和发送统计数据的权限。 |
ACCESS_NETWORK_STATE | 允许应用检测网络连接状态,在网络异常状态下避免数据发送,节省流量和电量。 |
READ_PHONE_STATE | 允许应用以只读的方式访问手机设备的信息,通过获取的信息来唯一标识用户。 |
ACCESS_WIFI_STATE | 获取设备的MAC地址,同样用来标识唯一用户。 |
WRITE_EXTERNAL_STORAGE | 用于保存设备信息,以及记录日志。 |
GET_TASKS (建议) | 获取当前应用是否在显示应用,可以更精准的统计用户活跃 |
ACCESS_FINE_LOCATION(可选) | 可通过GPS获取设备的位置信息,用来修正用户的地域分布数据,使报表数据更准确。 |
ACCESS_COARSE_LOCATION(可选) | 用来获取该应用被使用的粗略位置信息。 |
示例代码
<!--?xml version="1.0" encoding="utf-8"?-->
<manifest ......>
<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.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<application ......>
<activity ......>
......
</activity>
......
<service android:name="com.talkingdata.sdk.TDAntiCheatingService"
android:process="com.talkingdata.sdk.TDAntiCheatingService"> <!--用户质量评估Service可以配置在主进程或者单独进程-->
<intent-filter>
<action android:name="com.talkingdata.sdk.TDAntiCheatingService" />
</intent-filter>
</service>
<meta-data android:name="TD_APP_ID" android:value="Your_app_id" />
<meta-data android:name="TD_CHANNEL_ID" android:value="Your_channel_id" />
</application>
</manifest>
快速集成-SDK初始化
在应用程序的 Application
类的 onCreate
方法中调用 TCAgent.init
public class MainApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
TCAgent.LOG_ON=true;
// App ID: 在TalkingData创建应用后,进入数据报表页中,在“系统设置”-“编辑应用”页面里查看App ID。
// 渠道 ID: 是渠道标识符,可通过不同渠道单独追踪数据。
TCAgent.init(this, "您的 App ID", "渠道 ID");
// 如果已经在AndroidManifest.xml配置了App ID和渠道ID,调用TCAgent.init(this)即可;或与AndroidManifest.xml中的对应参数保持一致。
TCAgent.setReportUncaughtExceptions(true);
}
}
说明:
1、无 Application
类请自行添加
2、init接口需早于onResume,否则可能会导致数据异常
3、系统计算App ID时,读取App ID的优先级如下:AndroidManifest.xml中配置的App ID>TCAgent.init(this, “您的 App ID”, “渠道 ID”)方法配置的App ID;
4、系统计算渠道ID时,读取渠道ID的优先级如下:“多渠道打包工具”产生的渠道ID> AndroidManifest.xml中配置的渠道ID>TCAgent.init(this, “您的 App ID”, “渠道 ID”)方法配置的渠道ID。
5、“渠道ID”最多包含64个字符,支持中文、英文、数字、下划线,但不能包含空格或其他的转义字符。
6、由于我们提供了Google Play专属版SDK,已将渠道ID固定为“play.google.com”,且无法修改。
7、如果您使用Talking官方标准版SDK,请勿添加“play.google.com”、”GooglePlay”为渠道ID,以免和集成Google专属版SDK的渠道混淆。 Google专属版SDK详见:https://www.talkingdata.com/sdk-forgp.jsp8、请确保您所安装的JDK为1.7及以上版本。
原创文章,作者:youou,如若转载,请注明出处:https://xue.youounet.com/1640.html