更新记录
1.0.1(2023-01-30)
1、优化插件包与部分开发者的插件包冲突问题。
1.0.0(2022-03-08)
首次发布Firebase Analytics 插件
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
Google Firebase Analytics 插件,Firebase Analytics,Firebase ,(插件有问题请联系QQ:1684729125)
插件仅支持Android版本
Firebase 后台地址:https://console.firebase.google.com
插件使用流程(详情请参考Demo)
- 在Firebase官方网站https://console.firebase.google.com注册账号,创建项目等
- 将 Firebase 添加到 项目应用中,并下载配置文件 google-services.json
google-services.json文件的使用,下面两种方式,请选择一种。
- 下载示例项目(使用 HBuilderX 导入示例项目),把示例项目中的nativeplugins文件夹内容拷贝到你的项目同样位置,Android原生插件配置时,选择本地插件(GT-GoogleFirebase-Settings)
- GT-GoogleFirebase-Settings插件中的string.xml(GT-GoogleFirebase-Settings/android/res/values/string.xml)内容需要根据你的google-services.json文件修改
- string.xml文件中每个值对应google-services.json中的值可参考string.xm文件中的字段备注,不懂可以QQ联系作者。
- 使用谷歌推送功能。使用谷歌推送功能需要在uniapp开发者后台上传google-services.json文件,谷歌推送配置请参考uniapp官方文档。
回调参数说明
参数 | 说明 | 示例 |
---|---|---|
code | 结果码 | 200 |
gaid | 回调方法提示文案信息 | xxx |
msg | 回调方法提示文案等 | success |
结果码参数说明
Code | 说明 |
---|---|
200 | 成功结果码 |
400 | 失败结果码 |
插件方法 -- 详情请参考demo及Firebase官方文档
-
loadGaid 获取谷歌gaid
-
logEvent 统计事件
-
setUserProperty 设置用户属性
-
setUserId 设置用户ID
使用插件代码如下(精简版详情请参考Demo)
var FirebaseAnalytics = uni.requireNativePlugin('GT-GoogleFirebase_FirebaseAnalytics');
FirebaseAnalytics.loadGaid(res => {
if (res.code == 200) {
console.log('loadGaid success: ', res);
} else {
console.log('loadGaid failed: ', res);
}
});
FirebaseAnalytics.setUserId('123321',res => {
if (res.code == 200) {
console.log('setUserId success: ', res);
} else {
console.log('setUserId failed: ', res);
}
});
FirebaseAnalytics.setUserProperty('favorite_food','litchi',res => {
if (res.code == 200) {
console.log('setUserProperty success: ', res);
} else {
console.log('setUserProperty failed: ', res);
}
});
FirebaseAnalytics.logEvent(
{
eventName: 'open',
eventParams: {
item_id: '1',
item_name: 'click btn',
content_type: 'image'
}
},
res => {
if (res.code == 200) {
console.log('logEvent success: ', res);
} else {
console.log('logEvent failed: ', res);
}
}
);