手动事件跟踪
除了安装、打开、更新和购买(应用内购买),这些事件会由 Hive SDK 自动跟踪外,您还可以手动跟踪所需的事件。为此,您需要将事件注册到每个归因的仪表板上。例如,您可以跟踪特定事件,如完成游戏教程(TutorialComplete)或完成任务目标(MissionClear)。您应该在完成自动事件跟踪的设置后实施手动事件跟踪。
手動事件追蹤與 Adjust¶
- 要手動追蹤自定義事件,請在 Adjust 儀表板上註冊事件,並獲取應用程式令牌和事件令牌。應用程式令牌可以在儀表板主頁上獲得,事件令牌則在儀表板 > 所有設定 > 事件中獲得。請參考 Adjust 儀表板指南 了解如何獲取令牌。
- 在 hive_config.xml 中添加應用程式令牌和每個事件的事件令牌。更多詳細資訊,請參見以下示例代碼。
-
為了防止應用程式偽造,Adjust 儀表板提供 SDK 簽名。要使用此功能,您需要檢查 Adjust 合約詳細資訊。要使用此功能,請獲取所需的密鑰並將其添加到 hive_config.xml 中(
secretId
、info1
、info2
、info3
、info4
)。<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>
-
呼叫分析 API sendEvent() 以發送事件。當您發送事件時,請在 hive_config.xml 中使用
事件名稱
。name
用作 sendEvent() 的請求參數,而您設置的value
將在每個歸因的儀表板上更新。* `Analytics.sendEvent("TutorialComplete");` * `Analytics.sendEvent("MissionClear");`
手動追蹤事件與 Airbridge¶
- 獲取所需的令牌。 有關如何獲取令牌的更多信息,請參閱Airbridge 儀表板指南。
- 從儀表板 > 設置 > 令牌管理中獲取應用程序 SDK 令牌和應用程序名稱。
- 根據以下說明將令牌、應用程序名稱和事件設置添加到 hive_config.xml。 請參考下面的示例代碼。
- Airbridge 提供SDK 簽名以防止應用程序偽造。 您必須檢查與 Airbridge 的協議以使用相關功能。 要使用相關功能,請獲取密鑰並將其添加到 hive_config.xml 中的
secretId
和secret
。 有關 SDK 簽名安全信息的更多信息,請參閱Airbridge 指南。 - 通過調用分析 API sendEvent()來發送事件。 發送事件時,使用添加到 hive_config.xml 的 `事件名稱`。 `name` 在調用 API 時用作參數,`value` 可以在每個歸因的儀表板中檢查。
Analytics.sendEvent("TutorialComplete");
Analytics.sendEvent("MissionClear");
使用 Singular、Appsflyer、Firebase Analytics 手動追蹤事件¶
- 從每個歸因儀表板獲取所需的密鑰。參考每個歸因儀表板的指南以了解如何獲取密鑰。
- Singular: 從儀表板獲取 SDK 密鑰和 SDK 密碼密鑰。
- Appsflyer: 前往 AppsFlyer 配置 > 應用設置以獲取開發密鑰。
- Firebase Analytics: 不需要密鑰。
-
根據以下指南配置 hive_config.xml。更多詳細信息,請參見下面的示例代碼。如果您使用 AppsFlyer 歸因與 Hive SDK iOS(原生,Unity,Unreal),則需要為 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 分析 --> <!-- 事件节点的名称字段由游戏工作室定义。但一旦设置,它应该与 sendEvent() 请求的所有其他营销归因的名称字段相同。--> <!-- 事件节点的值字段由游戏工作室定义。 --> <firebase> <events> <event name="TutorialComplete" value="TutorialComplete"/> <event name="MissionClear" value="MissionClear"/> </events> </firebase> </providers>
-
呼叫分析 API sendEvent() 以發送事件。當您發送事件時,請在 hive_config.xml 中使用
事件名稱
。name
用作 sendEvent() 的請求參數,而您設置的value
將在每個歸因的儀表板上更新。Analytics.sendEvent("TutorialComplete");
Analytics.sendEvent("MissionClear");
透過 sendEvent() 發送事件¶
建議僅在用戶活動滿足特定條件時,例如完成教程時,向歸因發送追蹤事件。在Analytics類中調用sendEvent()
方法以發送追蹤事件。作為sendEvent()
的第一個參數,輸入在hive_config.xml文件中定義的<event>
元素的name
屬性的值。
以下是發送 TutorialComplete 事件到市場歸因的示例代碼,以通知用戶已完成教程。
API 參考: [hive.Analytics.sendEvent](http://developers.withhive.com/HTML/v4_api_reference_en/Unity3D/group___analytics.html#ga17724d232e1a72e0fd639e3f01e45bd1)
```cs
using hive;
String eventName = "TutorialComplete";
Analytics.sendEvent(eventName);
```
API 參考: [Analytics::sendEvent](http://developers.withhive.com/HTML/v4_api_reference_en/CPP/group___analytics.html#ga1bac3fa81ee5df24ddc8e592b7114c2c)
```cpp
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
string eventName = "TutorialComplete";
Analytics::sendEvent(eventName);
```
API 參考: [Analytics.sendEvent](https://developers.withhive.com/HTML/dokka/-hive%20-s-d-k%20v4/com.hive/index.html)
```kt
import com.hive.Analytics
val eventName = "TutorialComplete"
Analytics.sendEvent(eventName)
```
API 參考: [AnalyticsInterface .sendEvent](https://developers.withhive.com/documentation/hiveservice/analyticsinterface/sendevent(_:))
```java
import HIVEService
let eventName = "TutorialComplete"
AnalyticsInterface.sendEvent(eventName)
```
API 參考: [HIVEAnalytics:sendEvent](http://developers.withhive.com/HTML/v4_api_reference_en/iOS/interface_h_i_v_e_analytics.html#a952cc16b760f8f18709f0cacc715b918)
```objc
#import <HIVEService/HIVEService-Swift.h>
NSString eventName = @"TutorialComplete";
[HIVEAnalytics sendEvent: eventName];
```