简体   繁体   English

user_first_touch_timestamp 与 first_open_time 有何不同?

[英]How is user_first_touch_timestamp different from first_open_time?

Does "first" mean first in this run of the app (until the app terminates and restarts), or first across runs? “第一次”是指在本次应用程序运行中首先(直到应用程序终止并重新启动),还是第一次跨运行?

I thought that these fields will have only one value, but they often have two.我以为这些字段只有一个值,但它们通常有两个。 When I run this query:当我运行此查询时:

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

I find that 0.6% of my users have two different values for user_first_touch_timestamp.我发现 0.6% 的用户对 user_first_touch_timestamp 有两个不同的值。 Is this a bug in Firebase?这是 Firebase 中的错误吗?

Likewise for first_open_time:同样对于 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

Exactly the same 0.6% of users have two different values for this field, too.完全相同的 0.6% 的用户对此字段也有两个不同的值。

References: https://support.google.com/firebase/answer/7029846?hl=en https://support.google.com/firebase/answer/6317486?hl=en参考资料: https ://support.google.com/firebase/answer/7029846?hl=en https://support.google.com/firebase/answer/6317486?hl=en

I started wondering about the difference in these 2 params too and found this difference.我也开始想知道这两个参数的区别,并发现了这个区别。

From User Properties :用户属性

First Open Time - The time (in milliseconds, UTC) at which the user first opened the app, rounded up to the next hour . First Open Time - 用户首次打开应用程序的时间(以毫秒为单位,UTC),四舍五入到下一个小时

From BigQuery Export Schema :BigQuery 导出架构

user_first_touch_timestamp - The time (in microseconds) at which the user first opened the app. user_first_touch_timestamp - 用户首次打开应用程序的时间(以微秒为单位)。

In my case, the rounding was the difference.就我而言,四舍五入是不同之处。 I envision that Firebase needed to have first_open_time as a User Property for some reason so they just rounded and copied user_first_touch_timestamp .我设想 Firebase 出于某种原因需要将first_open_time作为用户属性,因此他们只是四舍五入并复制user_first_touch_timestamp

I know it still doesn't answer your whole question and doesn't explain why 0.6% of your users have 2 different values.我知道它仍然没有回答您的整个问题,也没有解释为什么 0.6% 的用户有 2 个不同的值。 I still thought that this may help someone here.我仍然认为这可能会对这里的人有所帮助。

There is also a difference in the description of the two parameters:两个参数的描述也有区别:

first_open = "the first time a user launches an app after installing or re-installing it " first_open = "用户在安装或重新安装应用程序后首次启动该应用程序时"

whereas first_touch_timestamp has no mention of the value updating for re-installs.而 first_touch_timestamp 没有提到重新安装的值更新。 It is likely your 0.6% difference is users who have re-installed the app.您的 0.6% 差异很可能是重新安装该应用程序的用户。

The difference is in the accuracy of the data: while User_first_touch_timestamp gives the exact time, First_open_time gives the rounded-up time.区别在于数据的准确性: User_first_touch_timestamp给出了准确的时间,而First_open_time给出了四舍五入的时间。

Take a look at the following examples:看看下面的例子:

User 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用户 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

User 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用户 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.

相关问题 Fetch 在用户第一次登录时返回 undefined - Fetch returns undefined the first time a user signs in 在 Firebase 中检查用户是否首次通过身份验证 在 Android 中进行 Google 身份验证 - Check if user is authenticated for the first time in Firebase Google Authentication in Android 第一次获取用户名返回 null 和 Flutter Firebase - Fetching user name returns null at first time with Flutter Firebase 从 Firebase 加载数据仅在第一次返回 null - loading data from Firebase returns null only for the first time 第一次如何为 dynamo db 设置 java? - How to setup java for dynamo db for first time? 如何从 Firestore 中的第一个集合中获取数据 - How to get data from first collection in Firestore 如何使用 Presto 获得每个用户 ID 的第一和第二大值? - How to get first and second largest value per user id with Presto? BigQuery:从 Group By 中的不同组返回第一个值 - BigQuery: Return First Value from Different Groups in a Group By 如何正确排序firebase集合中的文档从头到尾 - How to properly sort documents in firebase collection from first to last 如何防止 Firebase 身份验证在首次登录时隐式创建新用户? - How to prevent Firebase Authentication creating a new user implicitly on first sign-in?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM