我们能为您提供什么帮助?

受众群体 - 为合作伙伴受众群体创建配置其他标识符

  • 更新

概要:向广告投放渠道发送自定义人群包时,您可以额外配置其他的用户标识符。

其他相关标识符简介

AppsFlyer的受众共享产品支持以下设备标识符,用于向合作渠道发送自定义人群包:

  • iOS:IDFA
  • 安卓(Google Play):GAID
  • 安卓(第三方应用商店):OAID和IMEI

部分渠道还支持根据额外配置的用户标识符进行自定义的人群匹配。AppsFlyer的受众共享针对此类标识符提供多种使用方式,但您需要事先通过AppsFlyer SDK或S2S-mobile API对所需的特定标识符进行配置。

这些额外的标识符还可包括电话号码和邮箱地址,但必须经过SHA256算法加密后才能使用。  使用此类额外标识符时,您还需要遵守额外标识符的使用条款。

下一步

  1. 从可用标识符表格中选择您要使用的额外标识符(若有)。请注意:并非所有渠道都支持全部标识符。
  2. 开发人员——使用以下说明配置选定的标识符:
  3. 在受众共享面板中完成以下操作:

可用标识符

您可以配置一个或多个标识符。具体的可用标识符请见下表。

额外标识符—参数和格式

标识符 参数名称 格式 示例值(加密前)
邮箱地址 email_sha256

SDK v7.0.0 及更早版本:

  • 小写
  • 无空格
  • 在传入前进行客户端哈希处理 (SHA256)

SDK v7.0.1 及更高版本:纯文本。SDK 会自动对其进行标准化和哈希处理。

name@domain.com
电话号码
(见表格下方注释)

v7.0.0 及更早版本(或 S2S): phone_number_sha256

v7.0.1 及更高版本: phone_number_hashed

v7.0.0 及更早版本(或 S2S):

  • 无符号、字母,不能以零开头
  • 需包含国家代码
  • 须经过SHA256加密

v7.0.1 及更高版本:纯文本。SDK 会自动拼接国家/地区代码和号码,进行标准化并执行哈希处理。

442070313000

电话号码E164

(见表格下方注释)

v7.0.0 及更早版本(或 S2S): phone_number_e164_sha256

v7.0.1 及更高版本: phone_number_e164_hashed

v7.0.0 及更早版本(或 S2S):

  • E164电话号码
  • 须经过SHA256加密

v7.0.1 及更高版本:纯文本。SDK 会自动拼接国家/地区代码和号码,进行标准化并执行哈希处理。

+442070313000

 注释 

各个渠道支持的电话号码格式有所不同。如果您选择电话号码作为额外的标识符,请同时配置电话号码和电话号码E164。

SDK参考说明和代码示例

通过SDK发送标识符用于受众共享时,请注意以下事项:

  • 对于哈希处理的 电子邮件地址 或 电话号码 以外的标识符,请使用 setAdditionalData。
  • 如需发送加密邮箱地址,请使用
    • SDK v7.0.1 及更高版本:请使用 setUserEmail。
    • SDK v7.0.0 及更早版本:请使用 setUserEmails。
  • 对于哈希处理的 电话号码:
    • SDK v7.0.1 及更高版本:请使用 setUserPhone(推荐)。
    • SDK v7.0.0 及更早版本:请结合自定义数据使用 setAdditionalData。

 注释

请牢记以下版本相关的变更:

  • *电子邮箱自 SDK v7.0.1 起,setUserEmails (iOS/Android) 已被完全移除并由 setUserEmail 取代。这是一个破坏性变更,而非弃用。v7.0.0 及更早版本的应用必须继续使用 setUserEmails。v7.0.1 及更高版本的应用必须切换至 setUserEmail。在选择参考示例之前,请检查您集成的 SDK 版本。
  • 手机自 SDK v7.0.1 起,已提供专用的 setUserPhone API。这是发送用于高级匹配的电话号码标识符的推荐方式。这不是破坏性变更:setAdditionalData 仍然有效。对于新的集成,以及升级至 v7.0.1 及更高版本的客户,我们建议迁移至 setUserPhone。v7.0.0 及更早版本的应用必须继续使用 setAdditionalData,因为 setUserPhone 在这些 SDK 版本中不存在。

iOS的SDK配置

如需将加密后的电话号码设置为额外的用户标识符:

SDK v7.0.0 及更早版本 — setAdditionalData

Objective-C Swift
NSDictionary *customData = @{
  @"audiences": @{
    @"phone_number_sha256": @"6C91C4C640F6EF0162833260DB4F13DEC0DF2B683092F4DBA7E874BEF1ACEA37",
    @"phone_number_e164_sha256":@"F3D7E96C73FB0DE1B66ACFCE541D7AF758FBD4F3FA3AF0EA4E10110000D3625E"
  }
};
[[AppsFlyerLib shared] setAdditionalData:customData];

注意

您必须在传入这两个值之前对其进行预哈希处理 (SHA-256)。

SDK v7.0.1 及更高版本 — setUserPhone(推荐)

方法签名
- (void)setUserPhone:(NSString *_Nonnull)countryCode
phoneNumber:(NSString *_Nonnull)phoneNumber;
用法示例
Objective-C Swift
[[AppsFlyerLib shared] setUserPhone:@"1" phoneNumber:@"(650) 555-1212"];

注意

请以纯文本形式传入国家/地区拨号代码和本地号码。本地号码中允许包含符号和空格。SDK 会在本地对这两个值进行拼接、标准化和哈希处理 (SHA-256)。请勿进行预哈希处理。

如需将加密后的邮箱地址设置为额外的用户标识符:

SDK v7.0.0 及更早版本

方法签名
- (void)setUserEmails:(NSArray<NSString *> *_Nullable)userEmails 
withCryptType:(EmailCryptType)type;
用法示例
Objective-C Swift
NSArray *emails = @[@"name@domain.com"];    
[[AppsFlyerLib shared] setUserEmails:emails withCryptType:EmailCryptTypeSHA256];

SDK v7.0.1 及更高版本

方法签名
- (void)setUserEmail:(NSString *_Nonnull)email;
用法示例
Objective-C Swift
[[AppsFlyerLib shared] setUserEmail:@"name@domain.com"];

注意

请传入纯文本格式的电子邮件地址。SDK 会在本地对其进行标准化和哈希处理(SHA-256)。请勿进行预哈希处理。每次调用仅接受一个电子邮件地址:再次调用 setUserEmail 会覆盖之前设置的值,而不是进行添加。

安卓的SDK配置

如需将加密后的电话号码设置为额外的用户标识符:

SDK v7.0.0 及更早版本 — setAdditionalData

Java Kotlin
HashMap<String, Object> audiences = new HashMap<>();
audiences.put("phone_number_sha256", "6C91C4C640F6EF0162833260DB4F13DEC0DF2B683092F4DBA7E874BEF1ACEA37");
audiences.put("phone_number_e164_sha256", "F3D7E96C73FB0DE1B66ACFCE541D7AF758FBD4F3FA3AF0EA4E10110000D3625E");
HashMap<String, Object> customDataMap = new HashMap<>();
customDataMap.put("audiences", audiences);
AppsFlyerLib.getInstance().setAdditionalData(customDataMap);

注意

您必须在传入这两个值之前对其进行预哈希处理 (SHA-256)。

SDK v7.0.1 及更高版本 — setUserPhone(推荐)

方法签名
public abstract void setUserPhone(String countryCode, String phoneNumber);
用法示例
JavaKotlin
AppsFlyerLib.getInstance().setUserPhone("1", "(650) 555-1212");

注意

请以纯文本形式传入国家/地区拨号代码和本地号码。SDK 会在本地对这两个值进行拼接、标准化和哈希处理 (SHA-256)。请勿进行预哈希处理。

如需将加密后的邮箱地址设置为额外的用户标识符:

SDK v7.0.0 及更早版本

方法签名
public abstract void setUserEmails(
  AppsFlyerProperties.EmailsCryptType cryptMethod,
  String... emails
);
用法示例
JavaKotlin
AppsFlyerLib.getInstance().setUserEmails(
  AppsFlyerProperties.EmailsCryptType.SHA256,
  "name@domain.com",
  "another_name@another_domain.com"
);

SDK v7.0.1 及更高版本

方法签名
public abstract void setUserEmail(String email);
用法示例
AppsFlyerLib.getInstance().setUserEmail("name@domain.com");

注意

在 v7.0.1 及更高版本中,每次调用仅接受一个电子邮件地址。不支持多个电子邮件地址:再次调用 setUserEmail 会覆盖之前设置的值,而不是进行添加。

S2S参考说明和代码示例

通过S2S发送用户标识符用于受众共享时,请使用custom_data参数。该参数适用于所有标识符(包括加密的邮箱地址)。您可以发送一个或多个标识符。

通过S2S发送标识符

格式:

  • 多层嵌套JSON
  • 参数值必须是audiences
  • 所有参数值都必须转化为字符串,参见下图代码示例。
  • 参数名称必须与上文可用标识符表格中所列的名称一致。

通用格式:

"custom_data" : { 
      \"audiences\" : { 
          \"parameter_name_a\" : \"hashed_identifer_a\",
          \"parameter_name_a\" : \"hashed_identifer_b\",
          \"parameter_name_c\" : \"hashed_identifer_c\" 
       }
 }

填充参数值后的加密电话号码和邮箱地址代码示例:

"custom_data" : {
     \"audiences\" : { 
         \"phone_number_sha256\" : \"6C91C4C640F6EF0162833260DB4F13DEC0DF2B683092F4DBA7E874BEF1ACEA37\",
         \"phone_number_e164_sha256\" : \"F3D7E96C73FB0DE1B66ACFCE541D7AF758FBD4F3FA3AF0EA4E10110000D3625E\",
         \"email_sha256\"         : \"34D31BE18022626DE6B311D6A76E791176D2691B6EEF406F524D8F56364C187A\"
     }
}