跳转至

手动事件跟踪

除了安装、打开、更新和购买(应用内购买)这些由 Hive SDK 自动跟踪的事件外,您还可以手动跟踪所需的事件。为此,您需要将事件注册到每个归因的仪表板上。例如,您可以跟踪特定事件,例如完成游戏教程(TutorialComplete)或完成任务目标(MissionClear)。您应该在完成自动事件跟踪的设置后实施手动事件跟踪。

手动事件追踪与 Adjust

  1. 要手动跟踪自定义事件,请在 Adjust 仪表板上注册事件,并获取应用程序令牌和事件令牌。应用程序令牌可以在仪表板主页上获得,事件令牌可以在仪表板 > 所有设置 > 事件中找到。请参考 Adjust 仪表板指南 了解如何获取令牌。
  2. 在 hive_config.xml 中添加应用程序令牌和每个事件的事件令牌。有关更多详细信息,请参见下面的示例代码。
  3. 为了防止应用程序欺骗,Adjust 仪表板提供 SDK 签名。要使用此功能,您需要检查 Adjust 合同详细信息。要使用此功能,请获取所需的密钥并将其添加到 hive_config.xml 中(secretIdinfo1info2info3info4)。

    <providers>
    <!-- (已跳过) -->
    <!-- 请勿设置 Adjust 节点的 id 字段。 -->
    <!-- Adjust 节点的 name 字段固定为 "Adjust." -->
    <!-- 事件节点的 name 字段由游戏工作室定义。但一旦设置,它应该与 sendEvent() 请求的所有其他营销归因的 name 字段相同。-->
    <Adjust name="Adjust" id="unused" key="APP_TOKEN" secretId="1" info1="5432112345" info2="334123" info3="555333" info4="111333">
            <events>
                    <event name="TutorialComplete" value="TutorialComplete_EVENT_TOKEN"/>
                    <event name="MissionClear" value="MissionClear_EVENT_TOKEN"/>
            </events>
    <!-- (已跳过) -->
    </Adjust>
    </providers>
    
  4. 调用分析 API sendEvent() 发送事件。在发送事件时使用 hive_config.xml 中的 event namename 用作 sendEvent() 的请求参数,而您设置的 value 将在每个归因的仪表板上更新。

    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

手动跟踪事件与 Airbridge

  1. 获取所需的令牌。有关如何获取令牌的信息,请参阅Airbridge仪表板指南
    • 从仪表板 > 设置 > 令牌管理中获取应用程序SDK令牌和应用程序名称。
  2. 将令牌、应用程序名称和事件设置添加到hive_config.xml中。请参阅下面的 hive_config.xml 示例代码。在Windows上,令牌和应用程序名称设置不是必需的,但Hive控制台设置是必需的。
  3. Airbridge提供SDK签名以防止应用程序欺骗。要使用相关功能,您必须首先检查与Airbridge的合同条款。获取密钥并将其作为secretIdsecret值添加到hive_config.xml中。 有关SDK签名安全信息的更多信息,请参阅Airbridge指南。仅在Android和iOS上支持,不支持Windows。
  4. 如果您同时申请Windows、Android和iOS,请联系Airbridge以获取预设。
  5. 通过调用分析API sendEvent()发送事件。发送事件时,使用添加到hive_config.xml中的event<标签的namevaluename在调用API时用作参数,value可以在每个归因的仪表板中查看。
    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

hive_config.xml 示例代码

<providers>
    <Airbridge name="Airbridge" key="APP_SDK_TOKEN" appName="APP_NAME" secretId="SECRET_ID" secret="SECRET">
                <events>
                        <event name="TutorialComplete" value="Tutorial Complete" />
                        <event name="MissionClear" value="Mission Clear" />
                </events>
        </Airbridge>
</providers>

使用 Singular、Appsflyer、Firebase Analytics 手动事件跟踪

  1. 从每个归因仪表板获取所需的密钥。请参考每个归因仪表板的指南以了解如何获取密钥。
    • Singular: 从仪表板获取 SDK 密钥和 SDK 秘密密钥。
    • Appsflyer: 转到 AppsFlyer 配置 > 应用设置以获取开发密钥。
    • Firebase Analytics: 不需要密钥。
  2. 按照下面的指南配置 hive_config.xml。有关更多详细信息,请参见下面的示例代码。如果您使用带有 Hive SDK 的 iOS (Native, Unity, Unreal) 的 AppsFlyer 归因,则需要为 Apple AppID 设置 itunseConnectAppId

    <providers>
            <!-- 配置为 Singular -->
            <!-- Singular 节点的名称字段固定为 "Singular." -->
            <!-- 事件节点的名称字段由游戏工作室定义。但一旦设置,它应该与 sendEvent() 请求的所有其他市场归因的名称字段相同。-->
            <!-- 事件节点的值字段由游戏工作室定义。 -->
            <Singular name="Singular" id="SDK_KEY" key="SDK_SECRET_KEY">
                    <events>
                            <event name="TutorialComplete" value="教程完成"/>
                            <event name="MissionClear" value="任务完成"/>
                    </events>
            </Singular>
    
            <!-- 配置 AppsFlyer -->
            <!-- AppsFlyer 节点的名称字段固定为 "AppsFlyer." -->
            <!-- 不要设置 AppsFlyer 节点的 id 字段. -->
            <!-- 事件节点的名称字段由游戏工作室定义。但一旦设置,它应该与 sendEvent() 请求的所有其他营销归因的名称字段相同. -->
            <!-- 事件节点的值字段由游戏工作室定义. -->
            <AppsFlyer name="AppsFlyer" id="unused" key="DEV_KEY" itunseConnectAppId="909923112">
                    <events>
                            <event name="TutorialComplete" value="教程完成"/>
                            <event name="MissionClear" value="任务清除"/>
                    </events>
            </AppsFlyer>
    
            <!-- 配置 Firebase Analytics -->
            <!-- 事件节点的名称字段由游戏工作室定义。但一旦设置,它应该与 sendEvent() 请求的所有其他营销归因的名称字段相同。-->
            <!-- 事件节点的值字段由游戏工作室定义。 -->
            <firebase>
                    <events>
                        <event name="TutorialComplete" value="TutorialComplete"/>
                        <event name="MissionClear" value="MissionClear"/>
                    </events>
            </firebase>
    </providers>   
    
  3. 调用分析 API sendEvent() 发送事件。在发送事件时,请在 hive_config.xml 中使用 事件名称名称 用作 sendEvent() 的请求参数,您设置的 将在每个归因的仪表板上更新。

    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

通过 sendEvent() 发送事件

建议仅在用户活动满足特定条件时(例如完成教程)向归因发送跟踪事件。在Analytics类中调用sendEvent()方法以发送跟踪事件。作为sendEvent()的第一个参数,输入在hive_config.xml文件中定义的<event>元素的name属性的值。

以下是发送 TutorialComplete 事件到营销归因的示例代码,以通知用户已完成教程。

API 参考: hive.Analytics.sendEvent

using hive;    
    String eventName = "TutorialComplete";    
Analytics.sendEvent(eventName);
#include "HiveAnalytics.h"

FString 事件名称 = TEXT("教程完成");
FHiveAnalytics::SendEvent(事件名称);

API 参考: Analytics::sendEvent

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    string eventName = "TutorialComplete";    
Analytics::sendEvent(eventName);

API 参考: Analytics.sendEvent

import com.hive.Analytics    
    val eventName = "TutorialComplete"    
Analytics.sendEvent(eventName)

API 参考: AnalyticsInterface .sendEvent

import HIVEService    
    let eventName = "TutorialComplete"    
AnalyticsInterface.sendEvent(eventName)

API 参考: HIVEAnalytics:sendEvent

#import <HIVEService/HIVEService-Swift.h>    
    NSString eventName = @"TutorialComplete";    
[HIVEAnalytics sendEvent: eventName];