📅  最后修改于: 2023-12-03 14:41:12.093000             🧑  作者: Mango
Firebase是一个提供移动和Web应用程序开发平台和后端服务的Google子公司。其中,Firebase Cloud Messaging (FCM)是一项跨平台的云消息传递解决方案,可让您在移动应用程序和Web应用程序之间直接交换信息。 Firebase还包括与FCM配套的Analytics和Remote Config等服务。
而BigQuery是一个全托管的云数据仓库,带有实时分析和协作数据探索能力,支持标准SQL。 Firebase提供了与BigQuery的集成,支持把FCM发送到BigQuery数据集,并使用SQL查询分析这些数据。
Firebase提供了一种简单而灵活的方法来将FCM消息传递到BigQuery数据集中,无需编写代码。首先,您需要在Firebase控制台中启用BigQuery集成。然后,您需要在项目中配置包含您想要查询的消息的表格。最后,您可以使用BigQuery的标准SQL功能来查找并分析这些数据。
Firebase 消息数据模式遵循以下结构:
{
"message_id": "string",
"message_type": "string",
"app_id": "string",
"creation_time": "string",
"dry_run": "boolean",
"error": {
"code": "integer",
"message": "string"
},
"notification": {
"title": "string",
"body": "string",
"icon": "string",
"image": "string",
"sound": "string",
"tag": "string",
"color": "string",
"click_action": "string",
"body_loc_key": "string",
"body_loc_args": [
"string"
],
"title_loc_key": "string",
"title_loc_args": [
"string"
],
"android_channel_id": "string"
},
"data": {
"key1": "string",
"key2": "string",
...
},
"android": {
"collapse_key": "string",
"priority": "string",
"ttl": "string",
"restricted_package_name": "string",
"data": {
"key1": "string",
"key2": "string",
...
},
"notification": {
"title": "string",
"body": "string",
"icon": "string",
"image": "string",
"sound": "string",
"tag": "string",
"color": "string",
"click_action": "string",
"body_loc_key": "string",
"body_loc_args": [
"string"
],
"title_loc_key": "string",
"title_loc_args": [
"string"
]
}
}
}
一旦FCM消息已存储到BigQuery数据集中,您就可以使用BigQuery的标准SQL功能来对其进行分析。以下是一个使用BigQuery查询工具分析FCM消息示例:
SELECT COUNT(message_id) AS message_count, notification.title, notification.body
FROM `project_id.dataset_id.table_name`
WHERE message_type = 'MESSAGE_TYPE_RECEIVED'
GROUP BY notification.title, notification.body
HAVING message_count > 10
ORDER BY message_count DESC
LIMIT 100
这条SQL查询语句将计算收到的消息数,并按标题和正文显示消息内容。筛选器将消息类型指定为“MESSAGE_TYPE_RECEIVED”,并限制结果集为超过10条的数据行,按消息计数降序排序并限制结果集大小为100行。
FCM和BigQuery的结合为Firebase用户提供了可靠的移动通信方案,并使数据分析变得更加容易。使用BigQuery的标准SQL功能,可以轻松地对Firebase消息进行分析,从而得出有用的洞察力。