2021.09记录,2023发布,如有不对,还请包含。发晚了
版本:
Android Studio 4.2.1 (以下简称AS)
UMeng 9.4.0 (2021.06.24当天用的版本)
参考文档:开发者中心 (umeng.com)
目前实现了两种办法接入SDK,我们先来看第一种,先下载后接入,也就是官网说的:手动集成。
还有一种是自动集成,是官方推荐的。确实是比手动集成快,可以直接跳到手动集成的下方看如何操作。
官网地址:友盟+,国内领先的第三方全域数据智能服务商 (umeng.com)
1、下载的文件进行解压,得到下边四个文件夹。
找1221217469 -> Android -> apm -> apm_android_1.3.1 -> umeng-apm-armeabi-v1.3.1.aar
找1221217469 -> Android -> common -> common_android_9.4.0下的
①:umeng-abtest-v1.0.0.aar
②:umeng-asms-armeabi-v1.2.3.aar
③:umeng-common-9.4.0.jar
2、找到后,放到你工程Moudle下的libs文件夹里,然后引入jar包。
1、接下来我们在工程Moudle的build.gradle下,引入相关文件。并且Sync Now
2、打开我们的AndroidManifest.xml清单文件,并且在里边加入:
3、混淆设置
-keep class com.umeng.** {*;}
-keepclassmembers class * {
public (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
//SDK 9.2.4及以上版本自带oaid采集模块,不再需要开发者再手动引用oaid库,所以可以不添加这些混淆
-keep class com.zui.**{*;}
-keep class com.miui.**{*;}
-keep class com.heytap.**{*;}
-keep class a.**{*;}
-keep class com.vivo.**{*;}
-keep public class 您的应用包名.R$*{
public static final int *;
}
package com.test.umengtest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure;
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
*设置组件化的Log开关
*参数: boolean 默认为false,如需查看LOG设置为true
*/
UMConfigure.setLogEnabled(true);
/**
* 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值,也需要在App代码中调
* 用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值,
* UMConfigure.init调用中appkey和channel参数请置为null)。
*/
UMConfigure.init(
getApplicationContext(),
"60d30eab8a104826db785a78xxxxxxxxxxxxx", //在UMeng+申请的KEY值
"Umeng", //自己定义的渠道名字
UMConfigure.DEVICE_TYPE_PHONE,
null
);
/**
* 如果选用AUTO页面采集模式
* 那么就不用在onResume与onPause中注册事件了。
*/
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
}
//@Override
// public void onResume(){
// super.onResume();
// MobclickAgent.onResume(this);
// }
//
// @Override
// public void onPause(){
// super.onPause();
// MobclickAgent.onPause(this);
// }}
从Log中可以看到,我们的UMeng初始化成功了。
至此,是不是觉得很快,比别的SDK还要快,那小黑给你带来更快的。
直接通过官方给的链接,自动集成,倍儿快,走着。开发者中心 (umeng.com)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
jcenter()
maven { url 'https://repo1.maven.org/maven2/' }
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.1"
classpath 'com.android.tools.build:gradle:3.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url 'https://repo1.maven.org/maven2/' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
// 下面各SDK根据宿主App是否使用相关业务按需引入。
// 友盟统计SDK
implementation 'com.umeng.umsdk:common:9.4.0'// 必选
implementation 'com.umeng.umsdk:asms:1.2.3'// 必选
implementation 'com.umeng.umsdk:apm:1.3.1' // 错误分析升级为独立SDK,看crash数据请一定集成,可选
implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选
接下来就和上边没什么区别了,直接到上边看步骤就好咯
友盟接入完成了,没啥喷的,真的是想让JPush的文档编写者来学习学习,垃圾JPush(手动滑稽)。
今日分享结束啦,小伙伴们你们get到了么,你们有没有更好的办法呢,可以评论区留言分享,也可以加我QQ:841298494,大家一起进步。
- 博客杂货铺
- GoF23 种设计模式的分类和功能