ios 用户第一次触摸时间戳与第一次打开时间有何不同?

u5rb5r59  于 2022-12-15  发布在  iOS
关注(0)|答案(3)|浏览(195)

“第一个”是指应用程序本次运行中的第一个(直到应用程序终止并重新启动),还是跨运行的第一个?
我原以为这些字段只有一个值,但它们通常有两个值。当我运行以下查询时:

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中的一个bug吗?
同样,对于首次打开时间:

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=enhttps://support.google.com/firebase/answer/6317486?hl=en

ldioqlga

ldioqlga1#

我也开始想知道这两个参数的差异,并发现了这个差异。
从用户属性:
First Open Time-用户首次打开应用的时间(毫秒,UTC),四舍五入到下一个小时
从BigQuery导出架构:
user_first_touch_timestamp-用户首次打开应用的时间(微秒)。
在我的例子中,四舍五入是不同之处。我设想Firebase由于某种原因需要将X1 M2 N1 X作为用户属性,所以他们只是四舍五入并复制了X1 M3 N1 X。
我知道它仍然没有回答你的全部问题,也没有解释为什么0.6%的用户有两种不同的价值观。我仍然认为这可能会帮助这里的一些人。

jexiocij

jexiocij2#

这两个参数的描述也存在差异:
first_open =“用户在安装或重新安装后首次启动应用
而first_touch_timestamp**没有提到重新安装时的值更新。**您的0.6%差异很可能是重新安装应用的用户。

yyyllmsg

yyyllmsg3#

差异在于数据的准确性:User_first_touch_timestamp给出的是准确时间,First_open_time给出的是舍入后的时间。
请看下面的例子:
用户1:用户第一次触摸时间戳:1670263710266000 2022年12月5日星期一20:08:30 GMT+0200首次营业时间:1670266800000 2022年12月5日星期一21:00:00格林尼治标准时间+0200
用户2:用户第一次触摸时间戳:1670248060903000 2022年12月5日星期一15:47:40 GMT+0200首次开放时间:1670248800000 2022年12月5日星期一16:00:00格林尼治标准时间+0200

相关问题