AdvanceSDK 5.1.2

AdvanceSDK 5.1.2

msCherryKingallenawarewanggy 维护。



  • 作者
  • bayescom

AdvanceSDK

Version License Platform

AdvanceSDK对接文档-IOS

本文档是AdvanceSDK接入配置参考文档。用户可以参考Example工程中的配置以及广告位接入代码进行开发。

目前聚合SDK聚合的SDK有:Mercury,广点通,穿山甲,请在对接时使用支持相应SDK管理的AdvanceSDK。

注意事项

  • AdvanceSDK(version:3.2.4.3) 支持了广点通平台所有广告位的2.0版,建议将广点通SDK版本升级至4.12.60及以上版本 详见此处

  • AdvanceSDK(version:3.2.3.5) 将穿山甲依赖库从Bytedance-UnionAD更新为Ads-CN

  • App Tracking Transparency(ATT)适用于请求用户授权,以访问与应用相关的数据以跟踪用户或设备。请访问 https://developer.apple.com/documentation/apptrackingtransparency 了解更多信息。

  • SKAdNetwork(SKAN)是 Apple 的归因解决方案,可以在保持用户隐私的同时帮助广告客户衡量广告活动。在使用 Apple 的 SKAdNetwork 之后,即使 IDFA 不可用,广告网络也可以正确获得应用安装的归因结果。请访问 https://developer.apple.com/documentation/storekit/skadnetwork 了解更多信息。

清单

  • 将应用编译环境升级至 Xcode 12.0 及以上版本
  • 升级穿山甲 iOS SDK 至 3.5.1.0 及以上版本,穿山甲支持 iOS 14 与 SKAdNetwork
  • 升级广点通 iOS SDK 至 4.12.60 及以上版本,该版本适配了SKAdNetwork,并删除了CAID相关的内容
  • 将穿山甲和广点通的 SKAdNetwork ID 添加到 info.plist 中,以保证 SKAdNetwork 的正确运行
  • 调试阶段尽量使用真机,以便获取idfa,如果获取不到idfa,则打开idfa开关,iPhone 打开idfa 开关的过程:设置 -> 隐私 -> 跟踪 -> 允许App请求跟踪
<key>SKAdNetworkItems</key>
  <array>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>238da6jt44.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>22mmun2rn5.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>f7s53z58qe.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key> 
      <string>r3y5dwb26t.skadnetwork</string>
    </dict>
  </array>
  • 支持苹果 ATT:从 iOS 14 开始,若开发者设置 App Tracking Transparency 向用户申请跟踪授权,在用户授权之前IDFA 将不可用。如果用户拒绝此请求,应用获取到的 IDFA 将自动清零,可能会导致您的广告收入降低
  • 要获取 App Tracking Transparency 权限,请更新您的 Info.plist,添加 NSUserTrackingUsageDescription 字段和自定义文案描述。代码示例:
<key>NSUserTrackingUsageDescription</key>
<string>该标识符将用于向您投放个性化广告</string>
  • 穿山甲在 3.5.1.1 及以上版本中适配 iOS14.5,强烈建议进行更新。更新方法如下
    1: 首先将 AdvanceSDK 升级到 3.2.4.2 或以上版本(该版本添加了新版穿山甲所依赖的工具库),否则更新完成后将报编译错误
    2: 在 Podfile 中添加 pod 'Ads-CN', '~> 3.5.1.2' 并在终端里执行 pod update Ads-CN

  • 如果您已经集成了 AdvanceSDK,并且想对 广点通、穿山甲、mercurySDK 进行单独升级,升级方法如下

use_frameworks!

platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
target 'AdvanceSDK_Example' do

  pod 'AdvanceSDK'
  pod 'AdvanceSDK/Mercury' #必须添加
  pod 'AdvanceSDK/CSJ' #必须添加
  pod 'AdvanceSDK/GDT' #必须添加
  pod 'AdvanceSDK/BD' #如果想集成广点通,则添加 如果不需要则不添加
  pod 'AdvanceSDK/KS' #如果想集成快手,则添加 如果不需要则不添加
    
# 如果想单独升级MercurySDK 则需要指明升级的版本号 例如:
# pod 'MercurySDK', '~> 3.1.6.1'
  终端里执行 pod update MercurySDK

# 如果想单独升级穿山甲 则需要指明升级的版本号 例如:
#  pod 'Ads-CN', '~> 3.5.1.2'
  终端里执行 pod update Ads-CN

# 如果想单独升级广点通 则需要指明升级的版本号 例如:
# pod 'GDTMobSDK', '~> 4.12.60'
  终端里执行 pod update GDTMobSDK

# 如果想单独升级快手 则需要指明升级的版本号 例如:
# pod 'KSAdSDK', '~> 3.3.10'
  终端里执行 pod update KSAdSDK

end

SDK全局配置

[AdvSdkConfig shareInstance].isDebug = YES;
// 设置appid
[AdvSdkConfig shareInstance].appId = @"100255";
目前 AdvanceSDK 支持统一管理的广告位类型为:

SDK项目部署

自动部署可以节省您工程配置的时间。iOS SDK 将通过 CocoaPods 进行发布,推荐您使用自动部署。

步骤1:安装CocoaPods

CocoaPods是Swift和Objective-C的Cocoa程序依赖项管理器。它拥有超过7.1万个库,并在超过300万个应用程序中使用。CocoaPods可以帮助您优雅地扩展项目。如果您尚未安装CocoaPods,可以通过以下命令行进行安装。更多详细信息,请访问CocoaPods官方网站。

$ sudo gem install cocoapods

注意:安装过程可能需要较长时间,也可能会因为网络问题导致失败,请多次尝试直到安装成功。

步骤2:配置Podfile文件

$ pod init

打开Podfile文件,内容大致如下(具体内容可能会有所不同):

# platform :ios, '9.0'
target '你的项目名称' do
  # use_frameworks!
  # Pods for 你的项目名称
end

在Podfile文件中添加pod 'AdvanceSDK',如下所示:

platform :ios, '9.0'
target '你的项目名称' do
  # use_frameworks!
  # Pods for 你的项目名称
  pod 'AdvanceSDK', '~> 4.0.3.5' # 可指定你想要的版本号
  pod 'AdvanceSDK/CSJ', 	# 如果需要导入穿山甲SDK 如果不需要则不添加
  pod 'AdvanceSDK/GDT', 	# 如果需要导入广点通SDK 如果不需要则不添加
  pod 'AdvanceSDK/Mercury' # 如果需要导入MercurySDK 如果不需要则不添加
  pod 'AdvanceSDK/BD' # 如果需要导入百青藤SDK 如果不需要则不添加
  pod 'AdvanceSDK/KS' #如果想集成快手,则添加 如果不需要则不添加

end

步骤3:使用CocoaPods进行SDK部署

在安装SDK之前,请确保CocoaPods索引已经更新。可以通过运行以下命令来更新索引:

$ pod repo update

运行以下命令进行安装:

$ pod install

也可以将上述两个命令合并为以下命令

$ pod install --repo-update

命令执行成功后,会生成.xcworkspace文件,您可以打开.xcworkspace文件来启动工程。

步骤4:升级SDK

升级SDK时,首先要更新repo库,执行以下命令:

$ pod repo update

然后重新执行以下命令以升级到最新版本SDK:

$ pod install
  • 注意:只有在Podfile文件中没有指定SDK版本时,运行上述命令才会自动升级到最新版本。否则,您需要修改Podfile文件,手动指定SDK版本为最新版本。

步骤5:指定SDK版本

在指定SDK版本之前,请先确保repo库是最新版本,参考上一小节的内容进行更新。如果需要指定SDK版本,您需要在Podfile文件中,pod那一行指定版本号:

  pod 'AdvanceSDK', '~> 4.0.3.5' # 可指定你想要的版本号
  pod 'AdvanceSDK/CSJ'
  pod 'AdvanceSDK/GDT'

然后运行以下命令:

$ pod install

注意:如导入穿山甲SDK出现_OBJC_CLASS_$_XXXX提示,可尝试以下方案

使用Git LFS安装

Git LFS是一项用于使用Git管理大型文件的命令行扩展和规范。您可以按照以下步骤安装它:

步骤 1: 点击并下载 Git LFS

步骤 2: 使用以下命令安装LFS:

sudo sh install.sh

步骤 3: 检查安装是否正确:

git lfs version

步骤 4: 再次执行pod install

如果还有问题的话,有可能是 Cocoapods 的缓存,执行这个命令rm -rf ~/Library/Caches/CocoaPods,重新 pod install 就可以了。

第 6 步 网络配置(必须)

苹果公司在iOS 9 中升级了应用网络通信安全策略,默认推荐开发者使用 HTTPS 协议来进行网络通信,并限制 HTTP 协议的请求, SDK 需要 app 支持 HTTP 请求:

902CA139-0E5F-4165-BF3F-4B3E74404EF3

第 7 步 链接设置(必须)

在 Target->Build Settings -> Other Linker Flags 中添加 -ObjC,字母o和c大写。

1DFAFEBE-74DC-44D4-BFCC-EF0E194C5D45

接入代码

您可以运行自带的 Example 工程来参考接入代码进行开发。

全局初始化设置

聚合 SDK 要正确工作需要各个 SDK 在 app 启动时正确初始化,具体各个 SDK 的设置方式不尽相同,请参考各个 SDK 的文档。

验收测试

代码对接完成后请提供测试包给我方对接测试人员进行验收。