已在 API 级别 34 中引入
也已在广告服务扩展 4 中引入

广告 ID

public class AdId
extends Object

java.lang.Object
   ↳ android.adservices.adid.AdId


每个资料的设备级唯一广告 ID,可由用户重置。

广告联盟可能会使用AdId来针对用户兴趣投放广告 (IBA) 进行创收,即 定位和再营销广告。用户可能会限制此标识符的可用性。

摘要

常量

String ZERO_OUT

当用户具有 limited ad tracking 时返回的清零 ad id

公共构造函数

AdId(String adId, boolean limitAdTrackingEnabled)

创建 AdId 的实例

公共方法

boolean equals(Object o)

指示某个其他对象是否“等于”这个。

String getAdId()

广告 ID。

int hashCode()

返回对象的哈希代码值。

boolean isLimitAdTrackingEnabled()

检索已启用的广告跟踪限制设置。

String toString()

返回对象的字符串表示。

继承的方法

常量

零_OUT

已在 API 级别 34 中引入
也已在广告服务扩展 4 中引入
public static final String ZERO_OUT

当用户具有 limited ad tracking 时返回的清零 ad id

常量值: “00000000-0000-0000-0000-000000000000”

公共构造函数

广告 ID

已在 API 级别 34 中引入
也已在广告服务扩展 4 中引入
public AdId (String adId, 
                boolean limitAdTrackingEnabled)

创建 AdId 的实例

参数
adId String:从提供程序服务获取。 此值不能为 null

limitAdTrackingEnabled boolean:来自提供程序服务的值,用于确定 adId。

公共方法

equals

API 级别 34 中引入
public boolean equals (Object o)

指示某个其他对象是否“等于”此对象。

equals 方法可针对非 null 对象引用实现等价关系:

  • 该方法具有自反性:对于任何非 null 引用值 xx.equals(x) 应返回 true
  • 该方法具有对称性:对于任何非 null 引用值 xy,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true
  • 该方法具有传递性:对于任何非 null 引用值 xyz,如果 x.equals(y) 返回 truey.equals(z) 返回 true,则 x.equals(z) 应返回 true
  • 该方法具有一致性:对于任何非 null 引用值 xy,多次调用 x.equals(y) 时,只要没有修改对象的 equals 比较中使用的任何信息,就会一致地返回 truefalse
  • 对于任何非 null 引用值 xx.equals(null) 应返回 false

Object 类的 equals 方法可对对象实现最具辨别性的等价关系;也就是说,对于任何非 null 引用值 xy,当且仅当 xy 引用同一对象时,此方法才会返回 truex == y 时值为 true)。

请注意,一般而言,每次替换此方法时,都需要替换 hashCode 方法,以便维持 hashCode 方法的通用协定,该协定规定相等的对象必须具有相等的哈希代码。

参数
o Object:用来进行比较的参照对象。

返回值
boolean 如果此对象与 obj 参数相同,则返回 true;否则返回 false

获取广告 ID

已在 API 级别 34 中引入
也已在广告服务扩展 4 中引入
public String getAdId ()

广告 ID。

广告 ID 的值取决于 isLimitAdTrackingEnabled()AdServicesPermissions.ACCESS_ADSERVICES_AD_ID 的组合。

当用户为 limiting ad tracking 时,该 API 会返回 ZERO_OUT。这会禁止调用方出于变现目的跟踪用户。

否则,会返回设备和用户独有的字符串,该字符串可用于跟踪 用户投放广告

返回
String 此值不能为 null

hashCode

API 级别 34 中引入
public int hashCode ()

返回对象的哈希代码值。之所以支持此方法,是为了支持哈希表(例如由 HashMap 提供的表)。

hashCode 的通用协定如下:

  • 每当在 Java 应用执行期间在同一个对象上多次调用该方法时,只要没有修改对象的 equals 比较中使用的任何信息,hashCode 方法都必须始终返回相同的整数。在应用的不同执行之间,此整数无需保持一致。
  • 如果根据 equals(Object) 方法判断两个对象相等,则对这两个对象分别调用 hashCode 方法必须产生相同的整数结果。
  • 而如果根据 equals(java.lang.Object) 方法判断两个对象不相等,将不要求对这两个对象分别调用 hashCode 方法必须产生不同的整数结果。但是,程序员应注意,为不相等的对象产生不同的整数结果可能会提高哈希表的性能。

在合理可行的前提下,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(hashCode 不一定会在某个时间点作为对象内存地址的某个函数实现。)

返回值
int 此对象的哈希代码值。

isLimitAdTrackingEnabled

已在 API 级别 34 中引入
也已在广告服务扩展 4 中引入
public boolean isLimitAdTrackingEnabled ()

检索已启用的广告跟踪限制设置。

如果用户启用了限制广告跟踪,此值为 true,否则为 false

返回
boolean

toString

API 级别 34 中引入
public String toString ()

返回对象的字符串表示。通常,toString 方法会返回一个“以文本形式表示”此对象的字符串。结果应该是一个简洁但信息丰富,并且便于阅读的字符串表示。建议所有子类都覆盖此方法。

ObjecttoString 方法会返回一个字符串,其中包含类的名称(相应对象是此类的实例)、字符“@”,以及此对象哈希代码的无符号十六进制表示。也就是说,此方法所返回的字符串等于以下公式的值:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

返回值
String 对象的字符串表示法。