一、注册账号+创建应用
1、注册友盟账号
友盟官网 申请账号并登录。
2、创建应用
登陆 友盟+官网,在 我的产品 页面添加新应用,然后获取到Appkey,为下一步集成做准备。
3、SDK集成
可以参考Flutter SDK官方集成文档 和 官方demo,不过他们的官方文档写的不太详细。本文只介绍如何自动集成sdk。
common flutter暂未提供预初始化接口,需要用户自行通过原生进行。
Android端预初始化,需要在Applicaiton.onCreate函数中调用预初始化接口。
iOS端没有预初始化接口,开发者应确保App首次冷启动时,在用户阅读《隐私政策》并取得用户授权之后,才调用正式初始化函数初始化统计SDK。
3.1 安装
本文以1.2.7版本为例。最新版本号获取
//在工程 pubspec.yaml 中加入
dependencies:
umeng_common_sdk: ^1.2.7
执行 pub get 命令将sdk下载下来
3.2 SDK初始化
合规声明本文不做讨论,可参考 官方文档 进行合规声明。
3.2.1 Andriod
我使用的 kotlin,java 版本初始化参考 官方demo
1、在MainActivity中导入头文件 import com.umeng.commonsdk.UMConfigure 并重写 onCreate 方法调用基础组件库初始化函数:
//UM日志打印
UMConfigure.setLogEnabled(true)
UMConfigure.preInit(this, "650c03b158a9eb5b0ae14f6a", "Umeng")
代码截图:
2、修改 AndroidManifest.xml 文件,添加网络许可设置,放在<application >上面
<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"/>
3.2.2 iOS
我使用的Swift,OC版本参考 官方demo
1、因为使用的混编,已经创建好了桥接文件,直接在桥接文件里导入
#import <UMCommon/UMCommon.h>
具体参考下图:
2、在 AppDelegate.swift 里添加头文件并在 * override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool { } *函数中调用基础组件库初始化方法
//打开日志
UMConfigure.setLogEnabled(true)
//设置AppKey,初始化友盟所有组件产品,开发者在友盟官网申请的appkey
UMConfigure.initWithAppkey("650c041558a9eb5b0ae14faf", channel: "AppStore")
具体见下图
3.2.3 Flutter初始化
在Flutter中调用初始化方法,初始化sdk,就可以使用了。
导入头文件
import 'package:umeng_common_sdk/umeng_common_sdk.dart';
初始化方法
static Future<dynamic> initCommon(String androidAppkey, String iosAppkey, String channel);
代码示例截图:
4、使用
操作完以上步骤后,就可以参考官方demo进行埋点数据上报了。
参考链接:
1、友盟集成文档:https://developer.umeng.com/docs/119267/detail/174923
2、Flutter接入常见问题:https://developer.umeng.com/docs/119267/detail/456496