Adobe AIR 的高级设置
配置 Adobe AIR 的高级设置,包括 GDPR 和 CCPA 合规性、用户细分和自定义用户 ID。
阅读时间13 分钟最后更新于 2 天前
GDPR - 管理同意
Unity LevelPlay 和网络支持发布者根据用户的同意选择进行通信,包括将这些信息传递给聚合网络(对于支持的网络)。
要使用 LevelPlay 的 API 来更新用户的同意状态,请使用以下函数:
如果用户提供了同意,请将以下标志设置为 true:
IronSource.instance.setConsent(true);
如果用户不同意,请将以下标志设置为 false:
IronSource.instance.setConsent(false);
建议在 SDK 初始化之前设置 API。
CCPA 合规性
Unity LevelPlay 平台(SDK 版本 6.14.0 及更高版本)支持发行商根据加州消费者隐私法案 (CCPA) 限制销售终端用户的个人信息。
有关位于加利福尼亚州的指定的用户的个人信息的通知应根据“禁止出售”设置进行处理,方法是将其值设置为“true”或“false”。
应在初始化 SDK 之前设置 API。
如果用户已选择不“出售”个人信息:
IronSource.instance.setMetaData("do_not_sell","true");
如果允许“出售”个人信息:
IronSource.instance.setMetaData("do_not_sell","false");
设置 UserID
如果要使用服务器到服务器回调向用户奖励我们的奖励广告单位,必须设置 UserID。
userID 是每个用户的唯一标识符。您可以设置 userID 参数,也可以省略它,让我们为您生成一个。如果选择跳过在代码中设置 userID,SDK 将生成公平的 userID。
我们支持 1 到 64 个角色的 字符串 Android 或 NSString iOS)。通常的做法是使用 Google 广告 ID (GAID) 或 Apple 广告 ID (IDFA)。
IronSource.instance.setUserId(YOUR_USER_ID);
定义细分段
现在可以自定义广告服务方式以适应指定的受众。您需要将用户的详细信息告知我们的服务器,以便 SDK 知道根据用户所属的细分段提供广告服务。
LevelPlay 支持三种方法将数据传输到服务器以概括用户细分段,即:
- 设备属性:LevelPlay SDK 自动收集与用户设备相关的某些标准参数,例如设备模型、设备制造商、app 版本和操作系统。您无需将此数据传递给我们
- 用户属性:SDK 未收集的用户数据(例如年龄、性别或创建日期)必须通过 API 进行中继。(请参阅受支持的细分段属性的完整列表以及下一部分中的描述)。按照说明向我们发送这些详细信息,以便我们的 SDK 可以将相关广告设置应用于您在 LevelPlay 平台上定义的细分段
- 自定义细分段:您可以创建自定义细分段,而无需将用户详细信息传递给我们的服务器,并可为该用户细分段定制广告设置
通道用户属性
在 LevelPlay 平台上定义细分段后,您需要将用户的详细信息告知我们的服务器。
首先,必须导入 ironSource 细分类才能细分用户:
import com.ironsource.adobeair.IronSourceSegment;
定义将发送到服务器的属性,这些属性将作为细分段的底部基础。您可以通过以下方法之一传输此信息:
-
如果您熟悉用户所属的细分段,请输入细分段名称:IronSourceSegment segment = new IronSourceSegment (); segment.segmentName = "nameOfSegment";
-
向我们发送用户详细信息。 Ironsource 提供了一范围标准用户属性,您可以设置这些属性将用户属性 API 中的细分段。向下滚动查看支持用户细分段属性的表。// Create segment objectvar segment:IronSourceSegment = new IronSourceSegment();// Set user agesegment.age = age;// Set user gendersegment.gender = "gender";// Set user's levelsegment.level = levelnumber;// Set user creation datesegment.userCreationDate=creationData// Set user's total in-app purchasessegment.iapt = numberOfInAppPurchases;// Set user's paying status, 1 is yes 0 is nosegment.isPaying = payingStatus;此外,每个细分段最多可以设置 5 个自定义用户属性:// Set custom parameters (up to 5)segment.setCustom("customKey1", "value1");segment.setCustom("customKey2", "value2");
接下来,要根据细分段投放广告单位,请调用以下函数,并使用细分段名称或用户属性完成:
IronSource.instance.setSegment(segment);
支持的用户细分段属性
细分段属性 | Type(类型) | 限制 | 描述 |
|---|---|---|---|
| segmentName | 字符串 | - 字母数字 - 最多 32 个字母 | ironSource 帐户中给定细分段的名称 |
| 年龄 | Int | 1-99 | 用户的年龄 |
| 性别 | 字符串 | 女性或男性 | 用户的性别 |
| 付款 | 布尔值 | True 或 False | - 如果用户在 app 内购买上花费了任何资金,则为 true - 如果用户在 app 内购买上没有花费任何资金,则为 false |
| iap_total | 双倍 | 1-999999.99 | 用户在 app 内购买方面花费的总金额 |
| userCreationDate | 长 | 不能小于 0 | 用户安装 app 的日期(例如:NSDate date) |
| 自定义参数 | key=string、value=string | - LevelPlay 最多支持 5 个自定义参数 - 字母数字 - 最多 32 个字母 | 要发送到我们服务器的任何其他数据 |
注册到以下回调以接收用户所属的细分段名称。如果回调字符串(细分段名称)返回空,则表示在 ironSource Segment 模块中未找到用户的相关细分段。
IronSource.instance.addEventListener(“onSegmentReceived”, onSegmentReceived);
实现示例:
function onSegmentReceived(event:DataEvent):void { trace (“onSegmentReceived: ” + event.data); }
Adobe AIR 的自定义参数
LevelPlay SDK 支持在奖励视频广告单元初始化时通道自定义参数。然后,您将在用户完成事件时收到此数据。
实现代码
奖励视频
IronSource.instance.setRewardedVideoServerParameters(YOUR_CUSTOM_PARAMETERS);
此外,还可以通过调用以下函数来删除奖励视频的自定义参数:
IronSource.instance.clearRewardedVideoServerParameters();
使用瀑布流配置的价格限制(测试版)
Set Waterfall Configuration 是一个 API,可用于动态设置瀑布流的限制:价格上限和价格地面。您可以使用它设置限制并动态影响每个用户返回的 WF,从而减少加载时间和延迟。
限制包括 和 ,可以是以下参数的任意组合:
属性 | Type(类型) | 描述 |
|---|---|---|
| 上限 | 双精度 | 以美元为单位的价格,定义适用于传统实例的最大 eCPM |
| 地面 | 双精度 | 以美元为单位的价格,定义适用于传统实例和出价者的最小 eCPM |
创建瀑布流配置
WaterfallConfiguration 类表示用于自定义或过滤瀑布的配置对象。实现以下操作可创建瀑布流配置:
var builder:WaterfallConfigurationBuilder = new WaterfallConfigurationBuilder(); builder.SetCeiling(ceiling); builder.SetFloor(floor);var configuration:WaterfallConfiguration = builder.Build(); IronSource.instance.setWaterfallConfiguration(configuration,ISAdFormat.AdUnitName);
清除瀑布流配置
可以在会话期间更改瀑布流配置。要清除给定广告单元的配置,请使用 WaterfallConfiguration 函数:
emptyvar builder:WaterfallConfigurationBuilder = new WaterfallConfigurationBuilder();var configuration:WaterfallConfiguration = builder.Build();IronSource.instance.setWaterfallConfiguration(configuration.Empty(),ISAdFormat.AdUnitName);
LevelPlay SDK 报错代码
ironSource 提供了报错机制,用于解释 SDK 集成中的任何失败。当出现问题或集成的一个方面未正确完成时,您将收到这些错误。
ironSource 报错对象包含报错代码和消息。以下是所有可能的错误及其基于其函数的消息:
错误代码 | 广告单元 | 描述 |
|---|---|---|
| 508 | 不适用 |
|
| 509 |
| 显示失败:无广告服务展示 |
| 510 | 间隙 | 加载失败:服务器响应失败
加载失败:适配器加载失败 |
| 520 |
| 显示失败:无互联网连接;已启用 ShouldTrackNetworkState
显示失败:无互联网连接 |
| 524 |
| 显示失败:放置/位置 %@ 已达到每个节奏定义的限制
显示失败:放置/位置 %@ 已达到其上限 |
| 526 |
| 显示失败:广告单元已达到每个会话的每日上限
显示失败:广告单元已达到每个会话的每日上限 |
| 1022 | 奖励视频 | 显示失败:无法显示另一个 RV 时显示另一个 RV |
| 1023 | 奖励视频 | 显示失败:在没有可用的广告服务可供显示时显示调用的 RV |
| 1036 | Interstitial | 显示失败:无法显示另一个间隙时显示另一个间隙 |
| 1037 | Interstitial | 加载失败:显示另一个间隙时无法加载间隙 |