更新记录
1.0.3(2024-08-21)
- 增加iOS支持
1.0.2(2023-08-07)
- 升级Android包
1.0.1(2023-08-04)
- 去除日志
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.6.8,Android:4.4,iOS:10,HarmonyNext:不确定 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
Firebase Analytics
Google Analytics 是一种免费的应用衡量解决方案,可提供有关应用使用情况和用户参与度的洞察。
功能
- 记录事件
- 衡量电子商务
- 跟踪屏幕
- 衡量广告收入
- 设置默认事件参数
- 设置用户属性
- 设置用户ID
- 禁用/开启Analytics 数据收集
集成步骤
- 在Firebasehttps://console.firebase.google.com/?hl=zh-cn平台创建项目,创建项目时注意开启"为此项目启用Google Analytics(分析)"(或者在项目“项目设置”,然后在集成标签页中启用该服务)
- 点击创建的项目,分别添加Android、iOS应用,添加的时候Android需要绑定包名和打包证书签名的SHA-1(可选),iOS需要绑定包名,再分别下载Android的google-services.json和iOS的GoogleService-Info.plist,注意自定义基座或云打包时需要用绑定的包名和打包证书
- 下载示例代码demo,将demo里的nativeResources文件夹copy项目根目录下
- 将iOS下载的GoogleService-Info.plist替换nativeResources/ios/Resources/GoogleService-Info.plist
- Android的google-services.json的处理方式有2种:
4.1 联系作者将google-services.json转换为config.xml,然后替换nativeplugins/wrs-firebaseAnalytics/android/res/values的google-services.json文件
4.2 使用google-services.json的值替换config.xml的值,对应的替换值为:
google-services.json | config.xml |
---|---|
client_type为3的client_id | default_web_client_id |
project_info -> project_number | gcm_defaultSenderId |
api_key -> current_key | google_api_key |
client -> client_info -> mobilesdk_app_id | google_app_id |
api_key -> current_key | google_crash_reporting_api_key |
project_info -> storage_bucket | google_storage_bucket |
project_info -> project_id | project_id |
插件声明
import {UTSFirebaseAnalytics} from "@/uni_modules/uts-wrs-firebase";
- 初始化配置,在app启动的时候调用,放到App.vue的onLaunch里面
UTSFirebaseAnalytics.configure()
- 记录事件 详细业务参考官网https://firebase.google.com/docs/analytics/events?hl=zh-cn&platform=android options.params的值value在Android暂不支持数组或对象
// 事件名称
let name = "my_user_login";
// 事件参数
let params = {
"item_id": "123456_uniapp",
"item_name": "张三-uniapp",
"content_type": 1,
"price": 2.02
};
UTSFirebaseAnalytics.logEvent(name, JSON.stringify(params));
- 已有的name推荐事件事件常量有https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Event?hl=zh-cn:
ad_impression、add_payment_info、add_to_cart、add_to_wishlist、app_open、begin_checkout
、campaign_details、generate_lead、join_group、level_end、level_start、level_up、login、
post_score、search、select_content、share、sign_up、spend_virtual_currency、tutorial_begin
、tutorial_complete、unlock_achievement、view_item、view_item_list、view_search_results、earn_virtual_currency
screen_view、remove_from_cart、add_shipping_info、purchase、refund、select_item、select_promotion
、view_cart、view_promotion
- 已有的params的key预设参数常量有https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Param?hl=zh-cn:
achievement_id、ad_format、ad_platform、ad_source、ad_unit_name、character、travel_class、
、content_type、currency、coupon、start_date、end_date、extend_session、flight_number、group_id
、item_category、item_id、item_name、location、level、level_name、method、number_of_nights、number_of_passengers
、number_of_rooms、destination、origin、price、quantity、score、shipping
、transaction_id、search_term、success、tax、value、virtual_currency_name、campaign
、source、medium、term、content、aclid、cp1、item_brand、item_variant、creative_name
、creative_slot、affiliation、index、discount、item_category2、item_category3、item_category4
、item_category5、item_list_id、item_list_name、items、location_id、payment_type
、promotion_id、promotion_name、screen_class、screen_name、shipping_tier
除了预设参数外,您还可以将以下参数添加到事件中:
-
自定义参数:可使用自定义参数作为 Analytics 报告中的维度或指标。 您可以对非数值事件参数数据使用自定义维度,而对更适合以数值形式表示的参数数据使用自定义指标。使用 SDK 记录自定义参数后,请注册维度或指标,以确保这些自定义参数能够出现在 Analytics 报告中。可依次点击以下各项完成此操作:“分析”>“事件”>“管理自定义设置”>“创建自定义维度”。 自定义参数可用于每份报告都可能使用的受众群体定义中。如果您的应用已关联到 BigQuery 项目,自定义参数也将包含在导出至 BigQuery 的数据中。如需查看示例查询及更多内容,请访问 Google Analytics(分析)4 BigQuery Export。
-
VALUE 参数:VALUE 是一个通用参数,可用于累积与事件相关的关键指标,例如收入、距离、时间和分数。
- 设置默认事件参数
// defaultParams参数可以任意增加key/value属性值,建议不要有多级节点
var params = {};
params.system = "ios";
params.version = "1.0.1"
UTSFirebaseAnalytics.setDefaultEventParameters(JSON.stringify(params));
- 设置用户属性
https://firebase.google.cn/docs/analytics/user-properties?hl=zh-cn&platform=ios 要设置用户属性,请执行以下步骤:
在 Firebase 控制台的Analytics自定义定义页面中为用户属性创建自定义定义。有关详细信息,请参阅自定义维度和指标。 使用setUserProperty()方法在您的应用程序中设置用户属性。
let name = "张三";
let value = "20";
UTSFirebaseAnalytics.setUserProperty(name, value);
- 设置用户ID
let userId = "12121351"
UTSFirebaseAnalytics.setUserId(userId);
- 禁用/开启Analytics 数据收集
UTSFirebaseAnalytics.setAnalyticsCollectionEnabled(true);
- 重制Analytics
UTSFirebaseAnalytics.resetAnalyticsData();
DEBUGVIEW实时查看开发测试数据
- 电脑安装配置Android的adb命令
- 执行命令启动Analytics调试模式:
adb shell setprop debug.firebase.analytics.app ${PACKAGE_NAME}
- 调试模式将保持启用状态,直至您通过执行以下命令明确将其停用
adb shell setprop debug.firebase.analytics.app .none.
- 进入firebase应用的DebugView页面就可以查看上报的数据https://console.firebase.google.com/project/uniapptest-f4f1b/database/usage/current-billing/connections?hl=zh-cn