跳轉至

事件自動追蹤

SDK 會自動追蹤 Install、Open、Update、Purchase 4 個事件,並傳送至各歸因平台。各事件分別代表應用程式安裝、應用程式開啟、應用程式更新、應用程式內購事件。應用程式無需實作這 4 個事件的追蹤程式碼。

Adjust 事件自動追蹤

  1. 請取得所需的 Token。取得方法請參考 Adjust 新增事件

    若要自動追蹤 Purchase、Update 事件,請在 Adjust 儀表板中註冊事件,並確認應用程式 Token 與事件 Token。應用程式 Token 可在儀表板主頁確認,事件 Token 可在儀表板 > All Settings > Events 中確認。

    自動追蹤 Install、Open 事件時,不需要取得 Token。

  2. 請將 Token 新增至 hive_config.xml

    請將應用程式 Token、Purchase 事件 Token、Update 事件 Token 新增至 hive_config.xml。請參考下方 範例程式碼

    自動追蹤 Install、Open 事件時,不需要設定 hive_config.xml

  3. Adjust 儀表板提供防止應用程式欺騙用的 SDK Signature V3。如要使用 SDK Signature,請先確認與 Adjust 的合約內容。

Note

建議自動追蹤全部 4 個事件。

SDK Signature 整合

如果您曾使用過舊版 SDK Signature,在整合簽名程式庫之前,請參考 SDK Signature 遷移

如果您是第一次使用 SDK Signature,以下說明 Android、iOS、Unity 的整合方法。

Android

如要在 Android 環境中使用 SDK Signature,請依照下列方式進行設定。

  1. 如要使用 SDK Signature,請在模組層級的 build.gradle 檔案中新增 Adjust 歸因設定。
dependencies {
    implementation "com.com2us.android.hive:hive-analytics-provider-adjust"
}
  1. 前往 Adjust 儀表板,參考 新增至 Adjust 允許清單 設定指紋。

指紋擷取方法請參考 在 Adjust Suite 中設定憑證。各應用程式使用的憑證方式不同,擷取方法也有所不同。

iOS

如要在 iOS 環境中使用 SDK Signature,請依照下列方式在 Podfile 中新增 ProviderAdjust subspec。

(省略)
pod 'HiveAnalyticsProviderAdjust', $HIVE_SDK_VERSION
(省略)

Unity

如要在 Unity 引擎中使用 SDK Signature,請從選單中進行設定。

如下所示,在 Unity Inspector 選單中選取 Hive - Hive Dependencies(ExternalDependency),然後勾選 Adjust。之後即無需進行其他額外設定。

確認 SDK Signature 整合狀態

若要確認 SDK Signature 簽名程式庫是否已正常整合,需在 SDK 設定 中將 zone 設定為 sandbox。接著請依照下列步驟操作。

詳細內容請參考 新增至 Adjust 允許清單

  1. 請從測試裝置上完全解除安裝應用程式,以便傳送安裝資訊。
  2. 前往 Adjust 儀表板測試主控台,輸入測試裝置資訊,然後按一下刪除裝置將其全部刪除。
  3. 在測試裝置上安裝應用程式,然後執行應用程式,將安裝資訊傳送至 Adjust。
  4. 在測試主控台中輸入測試裝置的廣告 ID 或 IDFA,以載入安裝事件資訊。

SignatureVerificationResult 欄位(簽名認證結果)應顯示 Valid Signature 值。

SignatureVersion 欄位值(簽名版本)應為 3

SDK Signature 遷移

如要使用最新版 SDK Signature,必須移除舊版 SDK Signature 設定。

Android, iOS

請移除 hive_config.xml 中 Adjust 相關設定裡 secretIdinfo1info2info3info4 的所有鍵值。

<providers>
    <!-- (程式碼省略) -->

    <!-- 請勿設定 Adjust 節點的 id 欄位。-->
    <!-- Adjust 節點的 name 欄位為 "Adjust" 固定值。-->
    <!-- event 節點的 name 欄位可由應用程式自行設定。-->

    <!-- 請移除下方的 secretId="1" info1="5432112345" info2="334123" info3="555333" info4="111333" -->
    <!-- <Adjust name="Adjust" id="unused" key="APP_TOKEN" secretId="1" info1="5432112345" info2="334123" info3="555333" info4="111333"> -->
    <Adjust name="Adjust" key="APP_TOKEN">
        <events>
            <event name="Purchase" value="PURCHASE_EVENT_TOKEN" />
            <event name="Update" value="UPDATE_EVENT_TOKEN" />
        </events>
    </Adjust>

    <!-- (程式碼省略) -->
</providers>

Unity

在 Unity 開發環境中,不需要移除舊版 SDK Signature 設定。

Airbridge 事件自動追蹤

  1. 請取得所需的 Token。取得方法請參考 Airbridge

    請在儀表板 > 設定 > Token 管理中取得 App SDK Token 與 App Name。

  2. 在 Android 與 iOS 中,請在 hive_config.xml 中新增 Token、應用程式名稱及 Update 事件設定。請參考下方 hive_config.xml 範例程式碼

  3. 在 Windows 中,需進行主控台設定,而非 hive_config.xml 設定。請參考下方 Windows 設定

  4. 如果同時適用於 Windows 和 Android、iOS,請事先聯繫 Airbridge 詢問設定方式。

  5. Airbridge 提供防止應用程式欺騙用的 SDK Signature。如要使用相關功能,請先確認與 Airbridge 的合約內容。

    請取得金鑰,並將其新增為 hive_config.xmlsecretIdsecret 值。

    SDK Signature 安全資訊請參考 Airbridge SDK Signature。此功能僅支援 Android 與 iOS,不支援 Windows。

SDK Signature 整合

如果您是第一次使用 SDK Signature,請依照下列說明進行設定。

hive_config.xml 範例程式碼

<providers>
    <!-- (程式碼省略) -->
    <!-- 設定 Airbridge -->
    <!--Airbridge 節點的 name 欄位為 "Airbridge" 固定值。-->
    <!--請勿設定 Airbridge 節點的 id 欄位。-->
    <!-- event 節點的 name、value 欄位可由應用程式自行設定。-->

    <Airbridge name="Airbridge" key="APP_SDK_TOKEN" appName="APP_NAME" secretId="SECRET_ID" secret="SECRET">
        <events>
            <event name="Update" value="Update" />
        </events>
    </Airbridge>

    <!-- (程式碼省略) -->
</providers>
<providers>
    <!-- (程式碼省略) -->
    <!-- 設定 Airbridge -->
    <!--Airbridge 節點的 name 欄位為 "Airbridge" 固定值。-->
    <!--請勿設定 Airbridge 節點的 id 欄位。-->
    <!-- event 節點的 name、value 欄位可由應用程式自行設定。-->

    <Airbridge name="Airbridge" key="APP_SDK_TOKEN" appName="APP_NAME" secretId="SECRET_ID" secret="SECRET">
        <events>
            <event name="Install" value="Install"/>
            <event name="Update" value="Update" />
            <event name="Open" value="Open"/>
            <event name="PrePurchase" value="airbridge.initiateCheckout"/>
            <event name="PurchaseCancel" value="airbridge.ecommerce.order.canceled"/>
            <event name="Purchase" value="airbridge.ecommerce.order.completed"/>
        </events>
    </Airbridge>

    <!-- (程式碼省略) -->
</providers>

Android, iOS

請在 hive_config.xml 中設定 Airbridge 相關的 secretIdsecret 金鑰值。

Windows

  1. 請在主控台中進行行銷歸因 - Airbridge 設定

    在 Windows 中,不需要在 hive_config.xml 中設定 Airbridge 相關的 secretIdsecret 金鑰。

  2. 請依照下列說明在 hive_config.xml 中進行設定。請參考 hive_config.xml 範例程式碼

    以 Airbridge 定義的 value 進行設定時,將以 Airbridge 標準事件傳送。詳細事件種類請參考 Airbridge 事件種類

    • 需要設定 Install 事件
    • 需要設定 Open 事件
    • 需要設定 Update 事件
    • 需要設定 PrePurchase 事件,標準事件傳送用 valueairbridge.initiateCheckout
    • 需要設定 PurchaseCancel 事件,標準事件傳送用 valueairbridge.ecommerce.order.canceled
    • 需要設定 Purchase 事件,標準事件傳送用 valueairbridge.ecommerce.order.completed
  3. 選用:延遲傳送 Airbridge 事件

    Windows 環境的 PC 版 SDK 提供將特定 Airbridge 事件的傳送時機延遲至 Sign-In 之後的功能。此功能透過在 hive_config.xml 中定義相關屬性來啟用和管理。

    如下列範例所示,在 hive_config.xml 檔案的 <Airbridge> 標籤中,使用 win: 前綴定義相關屬性。

<providers>
    <!-- (程式碼省略) -->
    <Airbridge
        win:DeferSendUntilGate="signin"
        win:DeferScope="include"
        win:DeferEventList="Install,Update,Open"
        win:DeferSendTimeout="86400"
        win:DeferQueueMax="1000">
        <events>
            <event name="Install" value="Install"/>
            <event name="Open" value="Open"/>
        </events>
    </Airbridge>
    <!-- (程式碼省略) -->
</providers>

用於延遲傳送 Airbridge 事件的 hive_config.xml 屬性如下所示。

屬性 說明 選項 最大值 備註
win:DeferSendUntilGate 指定開始傳送事件的閘門(時機)
  • init (default)
  • signin
設定事件在佇列中累積後,實際開始傳送至 Airbridge 的時機。
  • init:SDK 初始化後立即開始傳送。
  • signin:在登入(Sign-In)事件發生後才開始傳送。
win:DeferScope 指定要延遲傳送的事件範圍
  • all
  • include
  • none (default)
設定要套用延遲傳送功能的事件範圍。
  • none (default):不使用延遲傳送。
  • all:將所有發生的事件延遲傳送至指定閘門。
  • include(建議):僅延遲傳送 win:DeferEventList 中指定的事件。
win:DeferEventList 要延遲傳送的事件清單 僅在 win:DeferScope 設定為 include 時適用。
  • 「,」(逗號)分隔,列出要延遲傳送的事件名稱。允許空格。
  • 範例:「Install,Update,Open」
win:DeferSendTimeout 最大延遲時間(秒) 86400(24 小時)
  • 若在設定時間(秒)內 DeferSendUntilGate 未開啟,則立即傳送等待中的事件。
  • 未設定或值為 0 時,在閘門開啟之前不會傳送事件,將無限期等待。
win:DeferQueueMax 延遲事件最大儲存數量 1000
  • 延遲傳送佇列中可儲存的最大事件數量。
  • 超過此數量時,將自動從最舊的事件開始移除。
  • 未設定或值為 0 時,將忽略最大數量限制。

Unity

請從選單中選取 Hive - Edit Config,然後啟用 Android 或 iOS 分頁。接著在 Airbridge 中設定收到的 secretId、secret 值。

自動事件發生時的傳送資訊

進行下列特定事件時,將自動傳送事件至 Airbridge 應用程式歸因。此時傳送的資訊如下所示。

EVENT NAME PARAMETER 備註
登入 Sign-in
  • user.externalUserID: playerId
登出 Sign-out
開始結帳 Initiate Checkout
  • totalQuantity
  • currency
  • originalCurrency
  • products
  • products.name: product title
  • originalCurrency: SDK 傳送的 currency
  • currency: 設定 Airbridge 應用程式時登錄的基準貨幣
完成購買 Order Complete
  • totalQuantity
  • currency
  • originalCurrency
  • value
  • transactionID
  • inAppPurchased
  • products
  • products.name: product title
  • value: sum products.price
  • originalCurrency: SDK 傳送的 currency
  • currency: 設定 Airbridge 應用程式時登錄的基準貨幣
取消購買 Order Cancel
  • transactionType
  • totalQuantity
  • currency
  • originalCurrency
  • value
  • inAppPurchased
  • products
  • transactionType: "cancel"
  • products.name: product title
  • value: sum products.price
  • originalCurrency: SDK 傳送的 currency
  • currency: 設定 Airbridge 應用程式時登錄的基準貨幣
訂閱 Subscribe
  • totalQuantity
  • currency
  • originalCurrency
  • value
  • isRenewal
  • products
  • products.name: product title
  • value: sum products.price
  • originalCurrency: SDK 傳送的 currency
  • currency: 設定 Airbridge 應用程式時登錄的基準貨幣
廣告曝光 Ad Impression
  • ad_placement
  • ad_platform
  • ad_type
  • ad_unit_id
  • currency
  • eventType
  • revenue
  • 整合 Adiz、Adkit 時自動追蹤
    • 待更新
廣告點擊 Ad Click
  • ad_placement
  • ad_platform
  • ad_type
  • ad_unit_id
  • currency
  • eventType
  • revenue
  • 整合 Adiz、Adkit 時自動追蹤
    • 待更新
評分 Rate
  • buttontype
  • category
  • orient
  • category:
    • hive_review_click: 評論 UI
    • hive_native_review_request: 商店 Native 評論彈出視窗
  • orient:
    • portrait: "1"
    • landscape: "2"
分享 Share

Singular、AppsFlyer、Firebase Analytics 事件自動追蹤

  1. 請在各歸因平台儀表板中取得金鑰。關於取得金鑰的方法,請參考各歸因平台提供的儀表板說明。

    • Singular:請在儀表板中取得 SDK Key 和 SDK SecretKey。
    • AppsFlyer:請在儀表板 > 應用程式設定中取得 Dev 金鑰。
    • Firebase Analytics:不需要取得金鑰。
  2. 請依照下列說明在 hive_config.xml 中進行設定。請參考下方範例程式碼。

    • Open:僅需設定 Firebase Analytics 歸因。
    • Update:Singular、AppsFlyer、Firebase Analytics 均需新增設定。

    • 在 SDK iOS(Native、Unity、Unreal Engine)中使用 AppsFlyer 歸因時,需要設定 itunseConnectAppId 值以配置 Apple AppID。

    <providers>
        <!-- 設定 Singular -->
        <!-- Singular 節點的 name 欄位為 "Singular" 固定值。-->
        <!-- event 節點的 name、value 欄位可由應用程式自行設定。-->
        <Singular name="Singular" id="SDK_KEY" key="SDK_SECRET_KEY">
            <events>
                <event name="Update" value="update" />
            </events>
        </Singular>
    
        <!-- 設定 AppsFlyer -->
        <!-- AppsFlyer 節點的 name 欄位為 "AppsFlyer" 固定值。-->
        <!-- 請勿設定 AppsFlyer 節點的 id 欄位。-->
        <!-- event 節點的 name、value 欄位可由應用程式自行設定。-->
        <AppsFlyer name="AppsFlyer" id="unused" key="DEV_KEY" itunseConnectAppId="909923112">
            <events>
                <event name="Update" value="Update" />
            </events>
        </AppsFlyer>
    
        <!-- 設定 Firebase Analytics -->
        <!-- event 節點的 name、value 欄位可由應用程式自行設定。-->
        <firebase>
            <events>
                <event name="Open" value="open"/>
                <event name="Update" value="update"/>
            </events>
        </firebase>
    </providers>
    
Note

為確保遊戲的順暢運營,建議自動追蹤 Update、Open、Purchase 全部事件。

付款事件發生時的傳送資訊

透過 IAP 完成付款後,系統會自動傳送付款事件至第三方行動應用程式歸因平台。此時,除 Adjust 以外的歸因平台,將以各歸因平台定義的標準購買事件傳送。傳送的資訊如下所示。

EVENT NAME PARAMETER 備註
Adjust Purchase
  • price
  • currency
  • orderId
  • pid
  • title
  • serverId
  • quantity
  • revenue
  • pid: product id
  • revenue: price * quantity
Airbridge Order Complete
  • totalQuantity
  • currency
  • originalCurrency
  • value
  • transactionID
  • inAppPurchased
  • products
  • products.name: product title
  • value: sum products.price
  • originalCurrency: SDK 傳送的 currency
  • currency: 設定 Airbridge 應用程式時登錄的基準貨幣
Singular __iap__
  • r
  • pk
  • pcc
  • pn
  • pc
  • pq
  • pp
  • market
  • server
  • psku
  • pvid
  • haid
  • r: revenue (price * quantity)
  • pk: order id
  • pcc: currency
  • pn: title
  • pc: Inapp_Item
  • pq: quantity
  • pp: price
  • market: google
  • server:serverId
  • psku: product id
  • pvid: Hive PlayerID
  • haid: Hive Analytics ID
AppsFlyer af_purchase
  • af_price
  • af_currency
  • af_quantity
  • af_content
  • af_receipt_id
  • custsom_product_id
  • af_content_type
  • af_revenue
  • custsom_product_id: product id
  • af_content: product description
  • af_content_type: title
  • af_revenue: price * quantity
Firebase Analytics purchase
  • price
  • currency
  • orderId
  • pid
  • title
  • serverId
  • quantity
  • revenue
  • pid: product id
  • revenue: price * quantity