1. Android快速接入指南

1.1. 开始嵌入SDK

1.1.1. 获取AppKey

登陆前端管理台,按照步骤提示注册应用,可获得AppKey。

1.1.2. 向工程中导入SDK

下载SDK压缩包,解压至本地目录,将其中sdk目录下文件复制到工程的libs目录中,具体参考AndroidStudio或Eclipse导入方法。
以下为AndroidStudio导入图

若使用到.so,请在build.gradle文件添加以下内容

android {
    // 项目的其它配置

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}

1.1.3. 配置AndroidManifest.xml文件

配置权限

<!-- 基础统计相关权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<!-- 推送相关权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_LOGS" />

配置组件

<!-- 基础统计相关配置 -->
<provider
    android:name="com.tencent.mid.api.MidProvider"
    android:authorities="你的包名.TENCENT.MID.V3"
    android:exported="true" >
</provider>

<!-- 以下为推送相关配置 -->
<!-- 【必须】 信鸽receiver广播接收 -->
<receiver android:name="com.tencent.android.tpush.XGPushReceiver"
android:process=":xg_service_v3" >
<intent-filter android:priority="0x7fffffff" >
    <!-- 【必须】 信鸽SDK的内部广播 -->
    <action android:name="com.tencent.android.tpush.action.SDK" />
    <action android:name="com.tencent.android.tpush.action.INTERNAL_PUSH_MESSAGE" />
    <!-- 【必须】 系统广播:开屏和网络切换 -->
   <action android:name="android.intent.action.USER_PRESENT" />
   <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
   <!-- 【可选】 一些常用的系统广播,增强信鸽service的复活机会,请根据需要选择。当然,你也可以添加APP自定义的一些广播让启动service -->
   <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
   <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
   <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
   </intent-filter>
</receiver>

<!-- 【注意】 如果被打开的activity是启动模式为SingleTop,SingleTask或SingleInstance,请根据通知的异常自查列表第8点处理-->
<activity
    android:name="com.tencent.android.tpush.XGPushActivity"
    android:exported="false" >
    <intent-filter>
       <!-- 若使用AndroidStudio,请设置android:name="android.intent.action"-->
        <action android:name="android.intent.action" />
    </intent-filter>
</activity>

<!-- 【必须】 信鸽service -->
<service
   android:name="com.tencent.android.tpush.service.XGPushServiceV3"
   android:exported="true"
   android:persistent="true"
   android:process=":xg_service_v3" />

<!-- 【必须】 提高service的存活率 -->
<service
  android:name="com.tencent.android.tpush.rpc.XGRemoteService"
  android:exported="true">
  <intent-filter>
<!-- 【必须】 请修改为当前APP包名 .PUSH_ACTION, 如demo的包名为:com.qq.xgdemo -->
          <action android:name="当前应用的包名.PUSH_ACTION" />
  </intent-filter>
</service>

<!-- 【必须】 【注意】authorities修改为 包名.AUTH_XGPUSH, 如demo的包名为:com.qq.xgdemo-->
<provider
   android:name="com.tencent.android.tpush.XGPushProvider"
   android:authorities="当前应用的包名.AUTH_XGPUSH"
   android:exported="true"/>

<!-- 【必须】 【注意】authorities修改为 包名.TPUSH_PROVIDER, 如demo的包名为:com.qq.xgdemo-->
<provider
   android:name="com.tencent.android.tpush.SettingsContentProvider"
   android:authorities="当前应用的包名.TPUSH_PROVIDER"
   android:exported="false" />

1.1.4. 代码混淆

请保留以下选项:

-keep class com.tencent.bigdata.mta.*{*;}
-keep class com.tencent.stat.*{*;}
-keep class com.tencent.mid.*{*;}
-keep class com.qq.taf.jce.** {*;}
-keep class com.tencent.android.tpush.** {*;}
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver

1.2. 基础API接入

腾讯移动分析平台的API统一收归在com.tencent.bigdata.mta.*包名下,在import时请注意路径。
在App入口处调用,通常为Application.onCreate()MainActivity.onCreate()方法内。

1.2.1. 初始化

类名:MTAGlobalService
接口内容

    /**
     * 初始化并启动基础服务
     *
     * @param app    {@link Application}上下文
     * @param option 全局的基础配置参数
     */
    public static void initAndStartService(Application app, MTAGlobalOption option);

    /**
     * 设置是否开启日志调试,仅限调试定位问题时使用,上线时请务必关闭
     *
     * @param debug true:开启;false:关闭
     */
    public static void setDebug(boolean debug);

示例

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // 开启logcat日志调试,方便定位问题,上线时务必关闭
        MTAGlobalService.setDebug(true);
        // 配置参数信息
        MTAGlobalOption mtaGlobalOption = new MTAGlobalOption();
        mtaGlobalOption.setAppkey("Axxxxxxxxxx").setAppID(310000000).setChannel("应用宝");
        // 调用并初始化
        MTAGlobalService.initAndStartService(this, mtaGlobalOption);
        // 其它逻辑
    }
}

1.2.2. 功能类API

统计服务请参考:MTA接入指南
推送服务请参考:信鸽接入指南

results matching ""

    No results matching ""