个人做的一些第三方统计和推送的一点总结:
首先用的平台是友盟,链接是https://www.umeng.com/。
统计和推送有官方文档,可以先下载下来对照使用,有点感觉之后,开始往自己的项目导入,根据官方开发文档来使用。
首先我个人比较喜欢直接使用线上依赖也可以导入SDK
//友盟的统计依赖
implementation 'com.umeng.sdk:common:latest.integration'
implementation 'com.umeng.sdk:analytics:latest.integration'
//友盟的推送依赖
//PushSDK必须依赖基础组件库,所以需要加入对应依赖
implementation 'com.umeng.sdk:common:1.5.3'
//PushSDK必须依赖utdid库,所以需要加入对应依赖
implementation 'com.umeng.sdk:utdid:1.1.5.3'
//PushSDK
implementation 'com.umeng.sdk:push:4.2.0'
这里是Application需要写入初始化操作
/*
注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值,
也需要在App代码中调用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值,
UMConfigure.init调用中appkey和channel参数请置为null)。
*/
UMConfigure.init(Context context, String appkey, String channel, int deviceType, String pushSecret);
PushAgent mPushAgent = PushAgent.getInstance(this);
//注册推送服务,每次调用register方法都会回调该接口
mPushAgent.register(new IUmengRegisterCallback() {
@Override
public void onSuccess(String deviceToken) {
Log.d("这是一个我的唯一设备号-----",deviceToken);
这里的设备号必须打印,因为推送消息时测试设备要用到。
}
@Override
public void onFailure(String s, String s1) {
}
});
这个是权限,官方文档解释有
<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.INTERNET"/>
在所有的Activity里都要调用的方法,亦可以使用BaseActivity来集成使用
//在获取焦点的生命周期里调用
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
//在onCreate里调用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//友盟的统计
MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType.E_UM_NORMAL);
MobclickAgent.setSessionContinueMillis(1000*40);
//友盟的推送
PushAgent.getInstance(this).onAppStart();
}
//在onPause里调用
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
这是测试模式,测试成功以后,到消息队列发送消息,就能全部收到了
这是一个比较简单的使用,复杂的一些使用需要去仔细研读友盟开发文档。