跳转至

事件自动跟踪

SDK 会自动跟踪 Install、Open、Update、Purchase 这 4 个事件,并将其发送至各归因平台。这 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,请按如下方式将 ProviderAdjust subspec 添加到 Podfile

(省略)
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 上,请将 Token、应用名称及 Update 事件配置添加到 hive_config.xml。请参阅下方的 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. 请从各归因平台仪表盘获取密钥。获取方式请参阅各归因平台提供的仪表盘说明。

  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