Featured image of post Flutter 集成友盟 umeng 的记录

Flutter 集成友盟 umeng 的记录

在有梦记中集成友盟统计

集成友盟的真的是一个大坑, 作为一个不懂安卓的人, 可以看一下这篇文章. 其中不乏出现过什么及其简单的问题

比如什么UMConfigure找不到, kotlinoverride的写法不对(官方文档是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');
  • 运行如果没有报错, 那么你就基本成功了, 然后打开你的友盟后台, 看一下实时是否有数据上传.