API 级别 34 中添加
也在广告服务扩展 4 中添加

CustomAudienceManager

public class CustomAudienceManager
extends Object

java.lang.Object
   ↳ android.adservices.customaudience.CustomAudienceManager


CustomAudienceManager 为应用和广告 SDK 提供用于加入/退出自定义受众群体的 API。

总结

公共方法

void fetchAndJoinCustomAudience(FetchAndJoinCustomAudienceRequest fetchAndJoinCustomAudienceRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

将用户添加到从 fetchUri 提取的 CustomAudience

static CustomAudienceManager get(Context context)

用于创建 CustomAudienceManager 实例的工厂方法。

TestCustomAudienceManager getTestCustomAudienceManager()

使用支持测试的 API 创建服务

void joinCustomAudience(JoinCustomAudienceRequest joinCustomAudienceRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

将用户添加到指定的 CustomAudience

void leaveCustomAudience(LeaveCustomAudienceRequest leaveCustomAudienceRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

尝试通过删除由 ownerPackageNamebuyername 标识的任何现有 CustomAudience 数据,从自定义受众群体中移除用户。

继承的方法

公共方法

fetchAndJoinCustomAudience

public void fetchAndJoinCustomAudience (FetchAndJoinCustomAudienceRequest fetchAndJoinCustomAudienceRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

将用户添加到从 fetchUri 提取的 CustomAudience

如果尝试使用相同的 ownerPackageNamebuyername 组合为用户注册自定义受众群体,则会导致现有自定义受众群体的信息被覆盖,包括广告数据列表。

请注意,每日后台提取作业可能会完全覆盖广告列表。

如果存在以下情况,此调用会失败并返回 SecurityException

  1. ownerPackageName 没有调用应用的软件包名称,并且/或者
  2. 买方无权使用该 API。

如果存在以下情况,此调用会失败并返回 IllegalArgumentException

  1. 发起调用的应用已超出存储空间上限,并且/或者
  2. 给定的 CustomAudience 中的任何 URI 参数都未经过 CustomAudience 买方的身份验证。

如果发出调用的软件包超出了允许的速率限制并受到限制,则此调用会失败并返回 LimitExceededException

如果发生内部服务错误,此调用将失败并显示 IllegalStateException
需要 AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

参数
fetchAndJoinCustomAudienceRequest FetchAndJoinCustomAudienceRequest:此值不能为 null

executor Executor:此值不能为 null。 回调和监听器事件通过此 Executor 进行分派,从而提供了一种简单的方法来控制使用哪个线程。如需通过应用的主线程分派事件,您可以使用 Context.getMainExecutor()。 否则,请提供可分派给适当线程的 Executor

receiver OutcomeReceiver:此值不能为 null

get

API 级别 34 中添加
也在广告服务扩展 6 中添加
public static CustomAudienceManager get (Context context)

用于创建 CustomAudienceManager 实例的工厂方法。

参数
context Context:要使用的 Context。此值不能为 null

开球回攻次数
CustomAudienceManager CustomAudienceManager 实例。此值不能为 null

getTestCustomAudienceManager

API 级别 34 中添加
也在广告服务扩展 4 中添加
public TestCustomAudienceManager getTestCustomAudienceManager ()

创建具有支持测试的 API 的服务

开球回攻次数
TestCustomAudienceManager 此值不能为 null

加入自定义受众群体

API 级别 34 中添加
也在广告服务扩展 4 中添加
public void joinCustomAudience (JoinCustomAudienceRequest joinCustomAudienceRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

将用户添加到指定的 CustomAudience

如果尝试使用相同的 ownerPackageNamebuyername 组合为用户注册自定义受众群体,则会导致现有自定义受众群体的信息被覆盖,包括广告数据列表。

请注意,每日后台提取作业可能会完全覆盖广告列表。

如果存在以下情况,此调用会失败并返回 SecurityException

  1. ownerPackageName 没有调用应用的软件包名称,并且/或者
  2. 买方无权使用该 API。

如果存在以下情况,此调用会失败并返回 IllegalArgumentException

  1. 发起调用的应用已超出存储空间上限,并且/或者
  2. 给定的 CustomAudience 中的任何 URI 参数都未经过 CustomAudience 买方的身份验证。

如果发出调用的软件包超出了允许的速率限制并受到限制,则此调用会失败并返回 LimitExceededException

如果发生内部服务错误,此调用将失败并显示 IllegalStateException
需要 AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

参数
joinCustomAudienceRequest JoinCustomAudienceRequest:此值不能为 null

executor Executor:此值不能为 null。 回调和监听器事件通过此 Executor 进行分派,从而提供了一种简单的方法来控制使用哪个线程。如需通过应用的主线程分派事件,您可以使用 Context.getMainExecutor()。 否则,请提供可分派给适当线程的 Executor

receiver OutcomeReceiver:此值不能为 null

退出自定义受众群体

API 级别 34 中添加
也在广告服务扩展 4 中添加
public void leaveCustomAudience (LeaveCustomAudienceRequest leaveCustomAudienceRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

尝试通过删除由 ownerPackageNamebuyername 标识的任何现有 CustomAudience 数据,从自定义受众群体中移除用户。

如果存在以下情况,此调用会失败并返回 SecurityException

  1. ownerPackageName 未调用应用的软件包名称;及/或
  2. 买方无权使用该 API。

如果发出调用的软件包超出了允许的速率限制并受到限制,则此调用会失败并返回 LimitExceededException

此调用不会通知调用方指定的自定义受众群体是否存在于设备端存储空间中。换言之,当买方尝试退出尚未加入的自定义受众群体时,它将静默失败。
需要 AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

参数
leaveCustomAudienceRequest LeaveCustomAudienceRequest:此值不能为 null

executor Executor:此值不能为 null。 回调和监听器事件通过此 Executor 进行分派,从而提供了一种简单的方法来控制使用哪个线程。如需通过应用的主线程分派事件,您可以使用 Context.getMainExecutor()。 否则,请提供可分派给适当线程的 Executor

receiver OutcomeReceiver:此值不能为 null