教程:衡量 iOS 广告转化情况

第 3 步:使用 Google Analytics 启动设备端转化衡量


简介: 衡量 iOS Ads 转化

第 1 步: 实现登录体验

第 2 步:集成 Google Analytics

第 3 步:使用 Google Analytics 启动设备端转化衡量

第 4 步: 排查和处理常见问题


现在,您可以收集用户的电子邮件地址和电话号码,并且您的应用具有 Firebase SDK 的 Google Analytics,因此您可以开始使用这两项功能来衡量转化。

调用 API

使用第 1 步中征得用户同意的电子邮件地址或电话号码调用转化衡量 API,以用于广告转化衡量,同时不允许任何个人身份信息离开用户设备。

您可以通过以下两种方式开始衡量:

使用电子邮件地址或电话号码

Swift

导入 FirebaseAnalytics 模块,并将电子邮件地址或电话号码传递给 initiateOnDeviceConversionMeasurement() API。

import FirebaseAnalytics

// ...
// If you're using an email address....
Analytics.initiateOnDeviceConversionMeasurement(emailAddress: "example@gmail.com")
// If you're using a phone number....
Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: "+15555555555")

Objective-C

导入 FirebaseAnalytics 模块,并将电子邮件地址传递给 initiateOnDeviceConversionMeasurementWithEmailAddress: API,或将电话号码传递给 initiateOnDeviceConversionMeasurementWithPhoneNumber: API。

@import FirebaseAnalytics;

// ...
// If you're using an email address....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"example@gmail.com"];
// If you're using a phone number....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];

Unity

导入 Firebase.Analytics 命名空间,并将电子邮件地址传递给 InitiateOnDeviceConversionMeasurementWithEmailAddress() API,或将电话号码传递给 InitiateOnDeviceConversionMeasurementWithPhoneNumber() API:

using Firebase.Analytics;

// ...
// If you're using an email address....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithEmailAddress("example@gmail.com");
// If you're using a phone number....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithPhoneNumber("+15555555555");

使用经过哈希处理的电子邮件地址或电话号码

该 API 将接受使用 SHA256 进行哈希处理的电子邮件地址和电话号码。您可以在代码中执行哈希处理,然后再调用 SDK,从而保持对用户数据的控制权。

如需使用哈希处理后的凭据,请先将地址和号码标准化,然后使用 SHA256 对其进行哈希处理,最后调用 API。

规范化电子邮件地址和电话号码

对于电子邮件地址Google Analytics API 假定在应用 SHA256 之前执行了特定的规范化,因此请按照以下步骤规范化您的数据:

  1. 将整个电子邮件地址转换为小写。

  2. 如果电子邮件地址以域名 @googlemail.com 结尾,请将 @googlemail.com 域名替换为 @gmail.com

  3. 对于以网域 @gmail.com 结尾的地址(包括在上一步中修改的地址):

    1. 从用户名部分中移除所有句点。

    2. 在用户名部分进行以下替换:

      • 对于字母 I 或 i,或者数字 1,请替换为字母 l
      • 对于数字 0,请替换为字母 o
      • 对于数字 2,请替换为字母 z
      • 对于数字 5,请替换为字母 s

例如,在归一化之后:

  • an.email.user0125@googlemail.com 变为 anemalluserolzs@gmail.com
  • CAPSUSER0125@provider.net 变为 capsuser0125@provider.net

对于电话号码,在通过 SHA256 进行哈希处理之前,号码必须已采用 E.164 格式(即,以 + 开头,1-3 位国家/地区代码,最多 12 位用户号码)。

请注意,经过哈希处理的 SHA256 电子邮件地址或电话号码必须为 32 字节长,而不是十六进制字符串。

使用哈希凭据调用 API

Swift

导入 FirebaseAnalytics 模块,并将电子邮件地址或电话号码传递给 initiateOnDeviceConversionMeasurement() API。

import FirebaseAnalytics

// ...
// If you're using an email address....
Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress)
// If you're using a phone number....
Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: hashedPhoneNumber)

Objective-C

导入 FirebaseAnalytics 模块,并将电子邮件地址传递给 initiateOnDeviceConversionMeasurementWithHashedEmailAddress: API,或将电话号码传递给 initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: API。

@import FirebaseAnalytics;

// ...
// If you're using an email address....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress];
// If you're using a phone number....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];

Unity

导入 Firebase.Analytics 命名空间,并将电子邮件地址传递给 InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() API 或将电话号码传递给 InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() API:

using Firebase.Analytics;

// ...
// If you're using an email address....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress);
// If you're using a phone number....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);

验证集成

启用调试模式。调用启动衡量 API 后,请确保 Xcode 调试控制台中显示类似于以下日志消息的消息:

[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement

如果您已启用调试模式并添加了 -DebugOnDeviceConversionMeasurement 启动实参,则调用 initiateOnDeviceConversionMeasurement() API 将模拟匹配。

[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match




第 2 步:集成 Google Analytics 第 4 步:排查和处理常见问题