ios - user_first_touch_timestamp 与 first_open_time 有何不同?
问题描述
“第一个”是指在此应用程序运行中的第一个(直到应用程序终止并重新启动),还是在运行中第一个?
我以为这些字段只有一个值,但它们通常有两个。当我运行此查询时:
SELECT
user_pseudo_id,
COUNT(*) AS the_count
FROM (
SELECT
DISTINCT user_pseudo_id,
user_first_touch_timestamp AS user_first_touch_timestamp
FROM
`noctacam.<my project>.events*`
WHERE
app_info.id = "<my bundle ID>"
ORDER BY
user_pseudo_id)
GROUP BY
user_pseudo_id
ORDER BY
the_count DESC
我发现 0.6% 的用户对 user_first_touch_timestamp 有两个不同的值。这是 Firebase 中的错误吗?
对于 first_open_time 也是如此:
SELECT
user_pseudo_id,
COUNT(*) AS the_count
FROM (
SELECT
DISTINCT user_pseudo_id,
user_properties.value.int_value AS first_open_time
FROM
`noctacam.<my project>.events*`,
UNNEST(user_properties) AS user_properties
WHERE
app_info.id = "<my bundle ID>"
AND user_properties.key = "first_open_time"
ORDER BY
user_pseudo_id)
GROUP BY
user_pseudo_id
ORDER BY
the_count DESC
完全相同的 0.6% 的用户对该字段也有两个不同的值。
参考: https ://support.google.com/firebase/answer/7029846?hl=en https://support.google.com/firebase/answer/6317486?hl=en
解决方案
我也开始想知道这两个参数的区别并发现了这种区别。
从用户属性:
First Open Time
- 用户首次打开应用的时间(以毫秒为单位,UTC),四舍五入到下一个小时。
user_first_touch_timestamp
- 用户首次打开应用的时间(以微秒为单位)。
就我而言,四舍五入就是区别。我设想 Firebasefirst_open_time
出于某种原因需要作为用户属性,所以他们只是四舍五入并复制了user_first_touch_timestamp
.
我知道它仍然不能回答你的整个问题,也不能解释为什么 0.6% 的用户有 2 个不同的值。我仍然认为这可能会帮助这里的人。
推荐阅读
- android - 在片段和协程中使用 Recyclerview 不起作用
- javascript - 点击锚标签后汉堡菜单不关闭
- c++ - 在 gtest 中使用 fff.h 模拟系统 API
- java - 运行消费者时出现 IncompatibleClassChangeError
- c - 与布尔值进行比较
- angular - 当页面加载Angular 8时设置默认选项卡处于活动状态
- docker - 什么是面向容器的集群和节点?
- php - 使用 spatie/media-library,如何重命名上传文件的集合?
- java - PDFBox 返回丢失的后代字体字典
- python - 如何使用 statsmodels GLM fit_constrained 将输出约束为正