开发人员控制台

广告ID


广告ID

广告ID是用户可重置的唯一标识符,可用于广告和用户分析。用户可重置广告ID,或不跟踪根据兴趣推送的广告。目前,广告ID适用于Fire OS 5.1及更高版本的平板电脑设备,以及Fire OS 5.2.1.1及更高版本的电视设备。

在Amazon Fire TV上,用户可通过设置 > 系统> 广告ID来管理广告ID。

使用广告ID的时间

如果应用执行以下操作,应使用广告ID(若设备支持):

  • 显示广告
  • 收集数据,以便用户分析
  • 收集数据,以便构建用户配置文件(用于广告,或根据广告锁定目标用户)

若可用,请采用广告ID(而非其他ID)。若应用中采用的是第三方广告服务,该服务应符合用户的要求。

开发者期望

使用广告ID时,请遵循以下原则:

  • 广告ID只能用于广告,以及用户分析。
  • 若用户选择不接收基于兴趣的广告,广告ID仍可用,但开发者必须尊重用户的选择。不得出于以下目的收集用户行为信息:(1)创建用户配置,以便投放广告;(2)根据用户兴趣,投放广告。在您的代码中,调用之前检索广告ID,通过调用来验证用户的退出选择。许可活动包括基于语境的广告、频率上限、转化跟踪、报告,以及安全和欺诈检测。
  • 除非用户许可,否则,不得将设备标识符或个人身份信息与广告ID关联。
  • 除非用户许可,否则,当用户重置广告ID时,不得将之前的数据融入新的广告ID中,或将新ID与旧ID关联。

有关更多信息,请参阅应用分发和服务协议

验证和响应用户的广告ID选择

Android Settings.Secure类通过getIntgetString方法公开用户的广告ID选择。验证用户设置和检索广告ID(若有)的逻辑,示例如下(以Java为例)。

import android.content.ContentResolver;
import android.provider.Settings.Secure;
import android.provider.Settings.SettingNotFoundException;

String advertisingID = "";
boolean limitAdTracking = false;

try {
    ContentResolver cr = getContentResolver();

    // 获取用户的跟踪首选项
    limitAdTracking = (Secure.getInt(cr, "limit_ad_tracking") == 0) ? false : true;

    // 获取广告
    advertisingID = Secure.getString(cr, "advertising_id");
} catch (SettingNotFoundException ex) {
    //不支持

}

代码首先获取用户的广告跟踪首选项。然后,根据广告跟踪值,会发生以下情况:

  • 如果用户允许广告跟踪,则limit_ad_tracking的值为false
  • 如果用户禁用了广告跟踪,则limit_ad_tracking的值为true。 
  • 广告ID存储在advertisingID变量中。示例广告ID值可能为df07c7dc-cea7-4a89-b328-810ff5acb15d。(对于子配置文件,advertisingID00000000-0000-0000-0000-00000000000。)
  • 若系统未返回limit_ad_tracking的任何值(例如,对于非Fire-OS设备,或运行较旧版本FireOS的Fire设备),则引发SettingNotFoundException。上述异常,可根据需要处理。

检索网页应用中的广告ID和广告跟踪首选项

对于网页应用,在您包含网页应用API脚本(如包含亚马逊API中详述)后,AmazonAdvertising对象在网页应用中公开两个函数: AmazonAdvertising.getAdvertisingIdAmazonAdvertising.getLimitAdTrackingPreference。这两个函数各有两个参数 - 成功回调和错误回调。

通过函数检索的值(AmazonAdvertising.getAdvertisingId函数检索广告ID,或AmazonAdvertising.getLimitAdTrackingPreference函数检索广告跟踪首选项)将传递给成功回调。详细信息,请参阅检索网页应用中的广告ID和广告跟踪首选项