[英]How is user_first_touch_timestamp different from 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
- 用户首次打开应用程序的时间(以微秒为单位)。
就我而言,四舍五入是不同之处。 我设想 Firebase 出于某种原因需要将first_open_time
作为用户属性,因此他们只是四舍五入并复制user_first_touch_timestamp
。
我知道它仍然没有回答您的整个问题,也没有解释为什么 0.6% 的用户有 2 个不同的值。 我仍然认为这可能会对这里的人有所帮助。
两个参数的描述也有区别:
first_open = "用户在安装或重新安装应用程序后首次启动该应用程序时"
而 first_touch_timestamp 没有提到重新安装的值更新。 您的 0.6% 差异很可能是重新安装该应用程序的用户。
区别在于数据的准确性: User_first_touch_timestamp给出了准确的时间,而First_open_time给出了四舍五入的时间。
看看下面的例子:
用户 1: User_first_touch_timestamp :1670263710266000 Mon Dec 05 2022 20:08:30 GMT+0200 First_open_time :1670266800000 Mon Dec 05 2022 21:00:00 GMT+0200
用户 2: User_first_touch_timestamp :1670248060903000 Mon Dec 05 2022 15:47:40 GMT+0200 First_open_time :1670248800000 Mon Dec 05 2022 16:00:00 GMT+0200
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.