Flutter 集成友盟移动统计(必看)

最近项目要集成移动统计,Flutter 项目的移动统计插件并不是很多。当然提起移动统计首先想到的是友盟,毕竟友盟在圈子里的熟知度还是有的,其次的选择还有TalkingData 这个也是做移动统计的。
经过百度一下,发现pub上已经有了友盟的插件,但是评分并不是很高;我去了友盟官网,发现友盟已经提供了Flutter插件,并且也给了集成文档,理所当然还是选择了友盟官网的集成方式。既然官网提供了文档我又为何多此一举写博客?我是真怕了,这文档还不如不给,自我感觉这文档太不清晰了,如果你按照文档完美集成了,那就不用看了,如果按照文档集成不下去了,欢迎来se se ,相信我 应该可以解决你的问题。

友盟集成

官方提供了集成文档https://developer.umeng.com/docs/119267/detail/174923。但是我尝试集成,能成功收集到活跃用户,新用户等信息,但是页面统计信息收集不到,同时android 10 机器无法进行集成测试,不能实时收集到统计信息。经过我通过跟客服的交流以及跟友盟技术人员的交流最终解决了问题。以下集成是按照最优方法集成的。(被文档坑坏了)
1.下载umeng_flutter_demo项目
地址:https://developer.umeng.com/docs/119267/detail/174923
找到umeng_flutter_demo 项目并下载

umeng_demo.png

2.将umeng_flutter_demo 里的umeng_sdk项目导入到自己的项目里,跟android iOS项目同级
umeng_sdk.png

导入到自己项目.png

3.在项目pubspec.yaml文件里添加插件地址

umeng_sdk:
    path: ./umeng_sdk/
引入插件.png

4.mainActivity Application 里的代码还是按照官方文档集成
在AndroidManifest.xml设置权限、添加MainApplication/MyActivity、设置Appkey和Channel

<manifest>
  <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.ACCESS_COARSE_LOCATION"/>
  <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <application android:name=".MainApplication" ...>
    <activity android:name=".MainActivity" ...>
    </activity>
    <meta-data
            android:name="UMENG_APPKEY"
            android:value="5e3f96f3cb23d2a070000048"/>
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="Umeng"/>
  </application>
  ...
</manifest>

拷贝并依据您的情况扩展MainApplication和MainActivity类,注意MainActivity中的onXXX方法必须继承

MainApplication类扩展

package com.example.umeng_sdk_example;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import io.flutter.app.FlutterApplication;
import com.umeng.commonsdk.UMConfigure;
import com.umeng.analytics.MobclickAgent;
public class MainApplication extends FlutterApplication {
    @Override
    public void onCreate() {
        super.onCreate();
        UMConfigure.init(this, "5e3f96f3cb23d2a070000048", "Umeng", UMConfigure.DEVICE_TYPE_PHONE, null);
        UMConfigure.setLogEnabled(true);
        android.util.Log.i("UMLog", "UMConfigure.init@MainApplication");
    }
}

MainActivity类扩展

package com.example.umeng_sdk_example;
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
import com.umeng.analytics.MobclickAgent;
public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
    com.example.umeng_sdk.UmengSdkPlugin.setContext(this);
    android.util.Log.i("UMLog", "onCreate@MainActivity");
  }
  @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
        android.util.Log.i("UMLog", "onPause@MainActivity");
    }
    @Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
        android.util.Log.i("UMLog", "onResume@MainActivity");
    }
}

问题一

此时MainActivity里的umengSdkPlugin你会找不到

com.example.umeng_sdk.UmengSdkPlugin.setContext(this);

还需要将UmengSkdDemo里的UmengSdkPlugin 文件导入到自己的安卓项目里


image.png
image.png

问题二

此时运行项目安卓10 无法收集到移动统计信息
原因是UMeng_Sdk里的umeng-common-2.1.8.jar 版本太低,需要更换新的版本的,新版本的common.jar 在umeng官网的安卓sdk项目里,现在稳定版是umeng-common-9.1.6.jar。
现在可以把项目里umeng_sdk 里android 里 libs 下的两个jar 文件都删掉,把common-9.1.6.jar引入


image.png

问题三

此时你会报一个ameng初始化失败,缺少umeng_asms_x.x.x.aar库。
原因是,这个库原本是在umeng-analytics-8.1.4.jar里,但是呢这个umeng-analytics-8.1.4.jar 跟common.9.1.6 不兼容,所以必须删掉,删掉后就报错了,咋办呢,技术人员回复需要自行导入这个umeng_asms_armeabi-v1.1.3.aar库,这个库在umeng的Android项目里


image.png

将umeng_asms_armeabi-v1.1.3.aar库 导入到自己的安卓项目里别忘了在app下的build.gradle依赖一下

dependencies {
    implementation(name:'umeng-asms-armeabi-v1.1.3', ext:'aar')
    implementation(name:'umeng-crash-armeabi-v0.0.5', ext:'aar')
}
image.png

ok现在项目应该没问题里,能跑起来了。

问题四

安卓6设备可以集成测试,安卓10设备没有数据。
集成测试是umeng提供的能实时收集数据的一种测试环境,我的项目需要集成页面统计功能,如果现在统计数据,第二天才能看到数据,所以我必须搞集成测试,为了就是能实时收集到数据,但此时一点数据也收集不到,我又急了,哎,难受,继续跟友盟技术沟通 他们回复说要集成umeng-crash-armeabi-v0.0.5.aar,没错就是在上图看到的那个aar 集成后应该就能收集到测试数据了,(如果你不需要测试,完全不用导入这个aar,)
现在你应该可以用umeng了应该没啥问题了,sdk 都是最新版的。

抒发一下:友盟flutter集成文档看不懂,不清晰并且都是错的,他们技术都不清楚里面的步骤。不过友盟的客服跟技术是不错的,很有耐心,并且回复很快 赞!
集成友盟用了3天,真可怕,主要时间浪费在了沟通上,找技术还得提工单,反复折腾这么久,很失望啊。
由于这么麻烦领导让换了TalkingData,这个集成比较快,半小时就ok了,并且能实时收集数据,还是不错的,里面就是ios 的库是OC的,集成时需要转换为swift。

记录一下遇到的坑,如果友盟集成有问题随时可以联系我,只限于当前本版吧。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342