本页目录

优推 YT SDK 隐私与请求配置

适用于本仓库 SDK 6.5.1。API 以所安装版本的 framework 公开头为准。

接入概览

全局配置与隐私

SDK 无需创建全局实例。发起广告请求前,根据 App 的用户选择记录个性化状态,并按需要启用日志:

#import <YTIFLYADLib/YTIFLYADLib.h>

[YTIFLYAdConfig ytifly_setPersonalizedEnabled:NO]; // 示例值;按实际用户选择设置
[YTIFLYAdConfig ytifly_setLogEnabled:NO];         // 正式环境建议关闭

ytifly_setPersonalizedEnabled: 当前仅记录状态,不会过滤或改写 IDFA、CAID、UA、请求字段及广告行为,也不代替 App 的隐私同意或系统 ATT 授权。应由宿主决定何时允许加载广告、传入哪些信息。

iOS 14 及以上如需使用 IDFA,在 Info.plist 配置符合实际用途的说明,并由宿主在适当时机发起 ATT 请求:

<key>NSUserTrackingUsageDescription</key>
<string>用于获取广告标识符 IDFA,以便请求和展示相关广告。</string>

只有 ATT 为 authorized 时才读取、传入 IDFA;未授权时传入的值不会被接收,授权后应重新读取并设置。iOS 11~13 也应遵守系统广告跟踪设置。示例中的 ATT 流程不是完整的媒体隐私同意页面;上架前还需按实际使用情况完善 App 隐私说明、隐私标签和资源内隐私清单的集成。

请求参数

请求配置用于加载阶段,展示配置用于展示阶段。下面的辅助函数可放在广告页面 .m 文件的 @implementation 之前,供后续示例调用:

static YTIFLYAdRequestConfig *YTMakeRequestConfig(void) {
    YTIFLYAdRequestConfig *config = [[YTIFLYAdRequestConfig alloc] init];
    config.requestTimeout = @5;
    config.appName = NSBundle.mainBundle.infoDictionary[@"CFBundleDisplayName"]
        ?: NSBundle.mainBundle.infoDictionary[@"CFBundleName"];
    config.appVersion = NSBundle.mainBundle.infoDictionary[@"CFBundleShortVersionString"];
    return config;
}
字段用途与注意事项
requestTimeout请求超时,单位秒;示例为 5 秒,按业务等待预算设置
requestId请求标识;不设置时 SDK 自动生成
appName、appVersion宿主名称与版本,使用真实值
settleType0 为固定价格、1 为 RTB;按广告位配置设置
bidFloor竞价底价,单位 CNY 元/千次展示;按实际交易约定设置
interactStatus1 开启互动、2 关闭互动;按接入约定设置
idfa、caidList、userAgent按实际可用性与授权情况提供,不使用固定测试标识替代
deepLinkDisabled设置为 @YES 时点击直接走落地页;不修改广告请求字段

可左右滚动查看完整表格

不需要自定义参数时,可直接调用 ytifly_loadAd。使用 ytifly_applyRequestConfig: 只设置配置,不会发起请求;使用 ytifly_loadAdWithRequestConfig: 会应用配置并加载。

如素材、监测或落地页使用 HTTP,宿主的 ATS 配置可能影响访问。优先使用 HTTPS;确需 HTTP 时按实际域名和业务需求配置例外。不要将 Demo 的宽泛 ATS 示例直接作为生产配置。