概述
本指南介绍在共享 S2S 机制之上叠加的移动端专属归因信号:Apple Search Ads、Google Play 和 Meta 安装引荐来源、卸载追踪以及 iOS 安装收据。它适用于以 server-to-server 方式上报会话和事件的 iOS 和 Android 应用集成。
开始之前: 这些功能构建于共享的 S2S 请求流程之上。有关核心概念,请参阅 S2S 基础知识中心;有关身份验证和通用参数,请参阅 SESSION 端点参考 和 EVENT 端点参考。
相关移动指南: 要将用户从广告系列引导至您的应用,请参阅深度链接指南了解通过 S2S 实现的深度链接和延迟深度链接。
Apple Search Ads 归因
iOS Search Ads 集成
Apple Search Ads 是一种自归因网络 (SAN),需要通过 Apple 框架进行平台专属的归因实现。
框架支持:
- AdServices(iOS 14.3 及以上): AdServices 框架. 当前推荐的集成方式。
- iAd(iOS 14.2 及以下): iAd 框架. 旧版框架,已被 Apple 弃用;不建议用于新集成。
完整指南: Apple Search Ads 集成文档
AdServices 框架实现
针对 iOS 14.3 及以上版本,通过 AdServices 框架检索并发送归因令牌。
第 1 步:检索归因令牌
#import <AdServices/AdServices.h>
NSError *error = nil;
Class AAAttributionClass = NSClassFromString(@"AAAttribution");
if (AAAttributionClass) {
NSString *attributionToken = [AAAttributionClass attributionTokenWithError:&error];
if (!error && attributionToken) {
// Handle attributionToken
}
}
令牌特性:
- 在设备上生成
-
缓存 5 分钟——如果调用
attributionToken(),则会在过期后生成新令牌 - 有效期为 24 小时
第 2 步:发送至 Singular
对令牌进行 URL 编码,并在每次安装和重装后的首个会话上,将其作为
attribution_token
参数附加到
SESSION 端点
。
Google Play 安装引荐来源
Android 安装归因
Google Play 安装引荐来源提供最准确的 Android 安装归因,其中包含用户在到达 Play Store 之前的来源信息。
更多信息: Google 安装引荐来源文档
实现步骤:
- 在首次打开应用时,使用 Play Install Referrer API 检索安装引荐来源
-
通过
SESSION 端点
上报会话,其中包含带有必需属性的
install_refJSON 参数
install_ref 属性:
| 参数 | 详情 |
|---|---|
referrer
|
来自 Play Install Referrer API 的引荐来源值(JSON 对象——编码为字符串) |
referrer_source
|
指定为 |
clickTimestampSeconds
|
来自 API 的点击时间戳(例如 |
installBeginTimestampSeconds
|
来自 API 的安装开始时间 |
current_device_time
|
当前设备时间(毫秒,例如 |
Meta 安装引荐来源
Facebook 归因增强
自 2025 年 6 月 18 日起: Meta 的 高级移动测量 (AMM) 消除了实现 Meta 安装引荐来源的需求。如果已启用 AMM,则不推荐使用。
Meta Referrer 是 Android 专属的测量解决方案,结合了 Google Play 安装引荐来源和 Meta 安装引荐来源技术,为应用安装提供精细的用户级归因数据。
了解更多: Meta Referrer 常见问题
实现步骤:
- 在首次打开应用时,根据 Meta 的文档 检索 Meta 安装引荐来源
-
通过
SESSION 端点
上报会话,其中包含带有必需属性的
meta_refJSON 参数
meta_ref 属性:
| 参数 | 详情 |
|---|---|
is_ct
|
来自 Meta 安装引荐来源的 is_ct( |
install_referrer
|
来自 Meta 安装引荐来源的 install_referrer |
actual_timestamp
|
来自 Meta 安装引荐来源的 actual_timestamp(例如 |
卸载追踪
静默推送通知设置
通过在每次会话通知中发送推送令牌,使用设备静默推送通知来追踪卸载。
设置要求:
- 遵循平台专属的卸载追踪设置:
-
将平台专属的令牌附加到 SESSION 请求:
-
iOS:
apns_token(APNs 设备令牌) -
Android:
fcm(FCM 设备令牌)
-
iOS:
iOS 安装收据
收据验证
在上报 iOS 会话时,将 iOS 安装收据传入
install_receipt
参数。
import Foundation
import StoreKit
class ReceiptManager {
static func getInstallReceipt() -> String? {
if #available(iOS 18.0, *) {
let semaphore = DispatchSemaphore(value: 0)
var result: String?
Task {
do {
let transaction = try await AppTransaction.shared
result = transaction.jwsRepresentation
semaphore.signal()
} catch {
debugPrint("Failed to get app transaction: \(error.localizedDescription)")
semaphore.signal()
}
}
semaphore.wait()
return result
} else {
guard let receiptURL = Bundle.main.appStoreReceiptURL else {
debugPrint("Receipt URL not found")
return nil
}
do {
let receiptData = try Data(contentsOf: receiptURL, options: .uncached)
return receiptData.base64EncodedString(options: [])
} catch {
debugPrint("Failed to read receipt: \(error.localizedDescription)")
return nil
}
}
}
}