集成友盟的真的是一个大坑, 作为一个不懂安卓的人, 可以看一下这篇文章. 其中不乏出现过什么及其简单的问题
比如什么UMConfigure
找不到, kotlin
中override
的写法不对(官方文档是java
), 并且官方的插件容易让人误解.
其实流程很简单, 这里说一下
- 首先开始,不要以为你是
Flutter
应用, 就不用做原生的(这个很多人不做原生的可能不懂), 接入Flutter
插件之前,一定要先去接入原生的.(这里使用安卓为例) - 官网文档, 如果失效直接找到安卓集成即可. https://developer.umeng.com/docs/119267/detail/118584
- 对于我们这种不懂原生的人,别搞什么手动集成,
- 一定要使用
maven
自动集成 - 一定要使用
maven
自动集成 - 一定要使用
maven
自动集成, (官网这里介绍得很详细)
- 一定要使用
原生设置三步搞定
- 依赖设置: 注意官网第一次说的是项目的(
/android/build.gradle
目录下),第二次说的是(/android/app/build.gradle
) - 权限设置:
android/app/src/main/AndroidManifest.xml
, 按照官网的来处理 - 混淆设置:
android/app/proguard-rules.pro
按照官网的来设置
原生初始化
- 这里要注意初始化, 我的是
kotlin
, 文件是android/app/src/main/kotlin/com/xxxxx/MainActivity.kt
- 第一个要注意的是引入包名, 光看官网文档看不出来, 需要自己去找
demo
看
import com.umeng.analytics.MobclickAgent
import com.umeng.commonsdk.UMConfigure
# 在 onCreate 重写方法
UMConfigure.preInit(this, "appKey", "Umeng")
- 到此原生的就完成了
Flutter 初始化
- 不要手动集成, 一切都要自动的依赖管理, 官方文档https://developer.umeng.com/docs/119267/detail/174923
- 在工程
pubspec.yaml
中加入友盟的依赖管理即可, 然后直接在用的地方UmengCommonSdk.initCommon('android app key', 'ios app key', 'Umeng');
- 运行如果没有报错, 那么你就基本成功了, 然后打开你的友盟后台, 看一下实时是否有数据上传.