如何使用日志定义
在游戏中发生提款请求时生成的日志。它存储有关用户提款请求和完成的信息。
Hive 分析默认创建表¶
- 默认情况下,使用分析时提供以下列出的表。
- 如果您需要一个预设表以外的表,请参考[日志定义]以创建一个。
- 表名为"t_[日志名称]"。
- 基本创建表分为两个部分:直接从平台收集的基本日志和必须从游戏服务器传输的游戏日志。
- 单击日志名称以查看每个表的字段信息。
日志名称 表描述 日志发生时间 hive_purchase_log 包含用户购买活动和由Hive的计费功能生成的支付信息的表 当用户通过Hive计费购买游戏内产品后,收据验证完成时 hive_sub_purchase_log 包含订阅产品购买数据和由Hive的计费功能生成的支付详情的表 当用户通过Hive开票购买游戏内订阅产品后,订阅收据被验证时 hive_login_log 包含成功通过Hive认证的用户的登录信息的表 在用户通过Hive认证功能完成认证后登录时 hive_quit_log 当用户在游戏中发起提款请求时生成的日志。它存储有关用户提款请求和完成的信息。 用户请求提款或提款在游戏中完成的时刻。 hive_singular_install 一个通过Analytics提供的Singular特定端点URL存储各种属性的归因信息的表。 应用程序安装和执行、事件发生、应用程序会话开始和结束,以及链接点击时间 hive_adjust_fix_log 一个通过Analytics提供的Adjust端点的URL存储各种属性的归因信息的表。 应用程序安装和执行、事件发生、应用程序会话开始和结束,以及链接点击时间 hive_appsflyer_log 一个通过Analytics提供的Appsflyer特定端点URL存储各种属性的归因数据的表。 应用程序安装和执行、事件发生、应用程序会话开始和结束,以及链接点击时间 hive_user_entry_log 一个存储用户启动游戏后直到到达游戏界面的每个部分的信息的表。 访问每个部分的时间,包括新安装、条款和条件协议、额外下载、登录等 hive_au_download_log 一个在条款和条件协议界面后,通过Hive提供功能下载游戏时存储下载信息的表。 下载后同意条款的时间 hive_concurrent_user_log 一个每两分钟接收并存储使用Hive SDK的客户端连接信息的表。 ※当在 Hive 控制台中激活“最小化网络通信”选项时,不会进行收集。 登录后每 2 分钟发送一次日志。 hive_promotion_install_log 使用 Hive 推广功能时收集的推广安装数据 在点击交叉活动后初始化 SDK 时 hive_promotion_click_cross_log 使用 Hive 推广功能时收集的交叉点击推广记录 当用户点击交叉横幅、优惠墙或 UA 邀请页面上的下载图标时 hive_promotion_cpi_v2_log 使用 Hive 推广功能时收集的推广 CPI V2 日志 在选择交叉活动按钮后初始化 SDK 时(限于初始安装) hive_promotion_open_log 使用 Hive 推广功能时收集的推广打开日志。 推广横幅和优惠墙的特殊曝光时间 hive_promotion_info 使用 Hive 推广功能时收集的推广信息 (Hive 控制台 > 推广)活动的修改和创建时间 hive_ad_watch_log 通过 Hive AdKit 提供的广告观看日志,当使用 AD(X) 或 ADOP 时 广告加载、观看开始、激励和关闭时间 hive_push_open_log 存储用户在使用 Hive 通知功能时打开推送通知的信息的表 当用户在点击活动推送通知后进入游戏时 hive_push_send_stat_log 在使用 Hive 通知功能时,包含从推送发送后的 D-2 开始的活动统计信息的表被创建和维护 在汇总从 D-2 开始发送的活动信息后 pub_user_property_log 自定义用户属性表,除了预定义属性外,还可以使用从Hive SDK收集的数据任意定义属性值 (日志必须通过客户端日志传输功能直接传输) 当发生客户定义的属性时 pub_mate_log Mate 日志 (日志必须通过客户端日志传输功能直接传输) 当发生伴侣获取和消费变化时 pub_levelup_log 升级日志 (日志必须通过客户端日志传输功能直接传输) 当用户账户或游戏中的角色升级时 pub_asset_log 货币日志 (日志必须通过客户端日志传输功能直接传输) 当购买或获取产品时 pub_store_click_log 商店点击日志 (日志必须通过客户端日志传输功能直接传输) 当点击产品详情或进行购买时 pub_society_log 社交活动日志 (日志必须通过客户端日志传输功能直接传输) 当发生邀请、加入或添加公会、熟人、聚会等社交活动的变化时 pub_contents_log 内容日志 (日志必须通过客户端日志传输功能直接传输) 当游戏内内容(任务、地下城、阶段等)被接受、失败、取消或完成时状态时间变化 pub_device_info 捕获用户设备信息的表格,通过Hive SDK (日志必须通过客户端日志传输功能直接传输) 何时初始化、登录或更改Hive SDK设置
日志定义¶
- 日志定义是将游戏日志传输到Hive Analytics v2的功能。
-
- 在后台定义您想要从游戏中传输的日志。指定的日志将在您在定义日志后应用创建的源代码到游戏时收集
- 将提供一个功能,您可以检查日志是否已正确定义,以及日志是否正在正确收集。
- 后台路线:Analytics > 日志定义
-
- Analytics的日志定义功能是一个重要功能,用于在发送日志之前定义要发送的字段。
- Analytics在定义日志时创建基本字段,将日志定义功能分为两种类型:定义日志时必需的字段和用于使用Analytics功能的字段。
- 可以根据用户需求创建和使用附加字段。
- 日志定义所需字段
- 下表详细说明了Analytics日志定义所需的字段。
- 这些字段在使用Hive SDK客户端日志传输功能时会定期收集。
类别 字段名称 描述 数据类型 示例 基础 时间 dateTime 日志生成时间 格式:“YYYY-MM-DD hh:mm:ss”* dateTime 值如果超出当前时间前后 -4 年到 +1 年的范围,将被视为异常。这类日志会单独存储,并在存储日期后的两天内可供验证 TIMESTAMP 2023-07-07 15:30:00 timezone UTC offset 的日志时间参数值< \* 传输注意事项 - 动态设置并传输基于dateTime值的timezone值 字符串 GMT+9:00 游戏 分类 appId 每个在应用中心注册的游戏的应用程序 ID< - 发送时作为app_id,更改为appId并保存 字符串 com.com2us.ios.universal appIndex 分配给appId的索引编号< * 替换 INTEGER 123456 gameId 格式包括域名和游戏名称在appId中。 * 替换 字符串 com.com2us.gamename gameIndex 分配给游戏的索引编号< * 替换 INTEGER 123456 日志 名称 类别 在日志定义期间指定的日志名称 字符串 hive_login_log 日志 标识符 guid 用于通过唯一键值和一个属性行从日志中删除重复项。 (即使剩余字段的值相同,如果guid值不同,也会被识别为不同的日志。)* 传输注意事项 - 建议传输为随机字符串,例如UUID 字符串 61ad27eaad7ae3d1521d 其他 undefinedRawData 如果日志定义中有未定义的元素,它们将作为JSON字符串保存 字符串 { "tier" : "10", "fluentd_tag" : "ha2union.game.purchase_log", "country" : "HK" }
- 用于分析功能的字段
- 下表显示了使用各种分析功能所需的元素,例如游戏特定指标和分析提供的细分。
- 必须建立分析才能利用其功能。
- 使用Hive SDK客户端日志传输功能时,常规收集这些字段。
字段名称 描述 数据类型 示例 vid 为每个游戏生成的用户虚拟ID 整数 100967777206 did 设备ID 在终端中唯一生成 整数 51726905112 playerId 在Hive集成认证中使用的密钥 整数 100967777106 serverId 识别游戏服务所在服务器的唯一ID信息 字符串 GLOBAL market 游戏服务的商店/平台信息 字符串 GO bigqueryRegistTimestamp 客户提交的日志进入BigQueryID表的时间 时间戳 2023-08-22 03:34:08 UTC lang 游戏服务的语言信息 STRING 中文 appIdGroup 每个在应用中心注册的游戏的游戏ID STRING com.com2us.testgame checksum 标准列,用于检查重复数据,如果guid不正确< - 传输注意事项 * 将所有列名和列值(除了guid)组合成一个字符串,并作为md5值发送。 字符串 20ed52852cb2f72 国家 游戏服务所在的国家信息 字符串 美国 公司 提供游戏服务的公司信息 字符串 com2us
定义日志¶
日志定义列表¶
- 您可以在日志定义列表中定义新的日志,并检查先前定义的日志的状态。
- 创建客户端源:生成一个客户端源代码,以应用于您定义的整个日志列表对应的游戏。
- 日志定义:定义一个新的日志。
- 加载以定义新的日志:您可以在选择了之前定义的日志之一后使用此功能,您将被转移到复制并定义指定日志定义详细信息的屏幕。
- 注册为模板:您可以选择在之前定义的日志中经常使用的日志并将其注册为模板。注册的模板可以在日志定义屏幕中加载并使用。
- 连接到 BigQueryID:这意味着日志数据存储已正确创建。
- 在数据流中存在:对于新定义的日志,它将显示为“x”。您必须在使用之前检查它是否在第二天变为“O”。但是,您可以在定义新日志的当天收集日志。如果在您定义日志的当天以外的日子看到“X”,请联系以下。
- 如果“连接到 BigQueryID”和“在数据流中存在”显示“X”,这意味着数据同步存在问题,您必须联系数据技术团队(DW 部门)。
使用网页表单定义日志¶
- 基本信息
- 表名:输入对应日志的表名。
- 详细信息:输入对应表的详细信息。这将在段落的游戏信息字段中显示,因此强烈建议您输入用户易于理解的描述。(例如:级别 – 用户的账户级别)
- 通过模板创建字段:如果您选择之前注册的模板之一,将会显示对应日志的定义信息,您可以通过修改需要修改的部分来继续进行日志定义。
- 通用字段设置
- 通用字段是一个预定义字段,其中可以用于所有日志的字段提前定义。
- 如果您勾选选择数据复选框,该字段将成为此日志中使用的字段。只要在游戏中传输,即使不勾选,您仍然可以收集日志。然而,如果您勾选,将会自动创建服务器源代码,这样您将能够更方便地使用它。即使您不勾选客户端,它也会从Hive SDK 4中收集。
- 定义字段设置
- 定义字段是您设置要传输的游戏日志的部分。您需要输入字段名称、类型、描述和示例值。
- 勾选复选框,该字段将成为推荐字段,并定义为可以用于该段的字段。
- 点击注册按钮以完成日志定义。日志定义完成后,日志将被添加到列表中,您将能够添加或修改字段,并在详细信息页面中检查收集的数据。
使用 Excel 定义日志¶
- 创建 Excel 文件
管理日志¶
定义的日志详细页面¶
- 点击日志并移动到详细页面,以从日志定义列表中添加字段到相应的日志,或检查日志传输状态是否正确。
- 基本信息,BigQuery 模式信息
- 基本信息:您可以查看具有定义日志的游戏,类别,注册日期和详细信息。您还可以更改详细信息。
- BigQuery 模式信息:您可以查看保存到BigQuery的模式信息。
- 日志字段信息
- 常见字段将以黑色显示,而从游戏添加的字段将以蓝色显示。
- 您可以修改字段详细信息和“使用”类别。
- 使用:您可以选择相应字段的使用。它将作为定义日志的人的参考,并且在开发日志传输时应根据使用情况正确应用。设置为“推荐”和“必需”的字段可以在段中使用。
- 必需:指必须收集的字段。您必须将相应字段的值包含到游戏中。(例如:Vid字段)
- 推荐:指非常重要的字段。它是强烈建议收集的字段。您可以将“推荐”和“必需”字段作为段的条件添加。
- 自动:指日志收集系统所需的字段,并且是自动生成的。(例如:通过客户端IP收集国家值的字段,使用geoIpCountry字段。)
- 选择:指已收集但可选使用的字段。传输日志时,您不必发送此字段。
- 与BigQueryID同步:您可以检查它是否与BigQuery正确同步。如果正确同步,您将看到“O”,如果同步日志时出现问题,则会看到“X”。如果您看到“X”,请联系数据技术团队(DW部分)。
- 您可以通过拖动字段信息表的行来更改字段的顺序。
- 添加字段
- 添加字段:这是一个功能,您可以向您之前定义的日志添加字段。您可以以与您定义日志相同的方式添加字段。
- 输入要添加的字段的详细信息,然后单击运行附加字段按钮以保存。
- ETL模拟
- ETL模拟是一个功能,您可以检查相应的日志定义是否被正确收集。
- 请求 - Json主体
- 您可以检查相应日志的示例Json,并单击发送Json按钮以检查是否获得正确的响应。
- 当您单击发送Json按钮时,结果值将在下面的响应区域中显示。此外,收集状态将在Json数据存储服务器路径中分阶段显示。
- 单击Json数据存储服务器路径按钮,状态值将显示。您可以通过单击BigQuery按钮来检查数据是否安全保存,并将显示最后保存的Json数据。
- 请注意,使用此功能收集的示例数据实际上是保存到数据库中的,并且由于日志可能会存在差异。
- 数据示例
- 数据样本:您可以检查与相应定义实际收集的日志。最多将显示从最新到最旧的10个日志。
- 检查待保存的最新数据:您可以通过刷新来显示最新日志。
- 查看更多:您可以查看更多页面以便检查更多数据样本。(下图)
- 您可以在数据样本查看更多页面上检查过去7天的日志,这是一个可以搜索字段的功能。您可以通过左右滚动查看所有字段。
- 选择字段:您可以选择所有字段并使用所选字段的值进行搜索。
- 比较方法:支持“=”,这是等效搜索和“Like”搜索方法。
- 如果您想搜索特定vid的日志,请选择vid字段,输入vid,只有相应的vid的日志将被显示。
- 创建客户端源
- 创建客户端源:为每种语言创建相应日志的客户端源。
- 导出Json:将相应日志导出为Json。源将在新窗口中导出,您将能够使用或修改导出的源。
- 加载以定义新日志:单击此按钮以定义与相应日志相似的日志,将显示一个带有已定义日志的新日志定义屏幕。
- 删除:删除相应日志的日志定义。
将定义的日志发送到服务器之间¶
尽管Hive Analytics v2建议您通过Hive SDK v4中“6. 创建客户端源”中描述的API传输日志;您也可以通过服务器到服务器将日志发送到Analytics v2。
“Fluentd”将用于发送日志。请参考下面的链接了解如何使用它。
Hive Analytics 结构 : Fluentd 类型
日志定义 服务器到服务器传输 : 使用 Fluentd
日志数据验证和修改过程¶
- 除了在定义日志时提供的信息外,附加的数据验证和修改处理如下
- geoipCountry 添加
- 如果存在 clientIp 字段,则用于执行 MaxMind DB 搜索以匹配 country。
- 如果 clientIp 不可用或搜索未成功,
- 将使用 lang 字段中的值
-
在 lang 中的一些 country 值被更改和添加。
校准前 校准后 ko KR ja JP vi VN es ES
- 如果最终无法确认country值,则将“ET”添加到geoIpCountry。
- clientIp 校准
- class 4 数据被排除在记录之外。
- 例如) 127.0.0.1 → 127.0.0.0
- class 4 数据被排除在记录之外。
- 使用appId进行最终数据校准
- 通过根据App Center数据中注册的数据按appId搜索添加空值
- 市场
- os
- company
- channel
- 如果缺少channel字段,则添加“C2S”
- sdkVer
- appidGroup
- appidCompany
- 通过根据App Center数据中注册的数据按appId搜索添加空值