Skip to main content

手动集成

基础配置#

  • Xcode 12 或更高版本
  • iOS 9.0 或更高版本

    注意:自 iOS 9 开始,iOS 应用一律使用应用传输安全 (ATS) 功能,这是一种强制使用加密连接的数据传输安全功能。在继续之前,请参阅应用传输安全中的要求配置您的 info.plist,以确保您的广告不受 ATS 影响。

添加SDK到项目工程#

手动集成#

1、进入TradPlusSDK下载平台,选择非cocoapod接入,根据需求选择所需三方广告平台,点击生成接入代码后,下载包含TPSDK及三方源的zip包

2、将解压后的TradPlusFrameworks目录添加到Xcode项目中

3、项目配置

  • 在"Other Linker Flags"中添加 -ObjC。具体位置:Xcode项目配置 “TARGETS” > “Build Setting” > “Linking” > “Other Linker Flags”中添加

  • 在 “TARGETS” > “General” 将部分三方源的framework设置为Embed & Sign

    • SuperAwesome: Alamofire.framework , Moya.framework , SuperAwesome.framework , SwiftyXMLParser.framework (v8.6.0之前版本)
    • Smaato: OMSDK_Smaato.framework
    • 快手: KSAdSDK.framework
    • Mate: FBAudienceNetwork.framework (v6.10.0-v6.14.0)
    • Verve: OMSDK_Pubnativenet.framework , HyBid.framework
    • Ogury: OMSDK_Ogury.framework
    • Bigo: OMSDK_Bigosg.framework
    • Start.io: StartApp.framework (仅v4.9.1)
    • Fyber:IASDKCore.framework (v8.2.1开始)
    • Amazon: DTBiOSSDK.framework
    • Maio: Maio.framework (v2.0.0开始)
    • Tapjoy: Tapjoy.framework(v13.3.0开始)
  • 常用的系统依赖库,根据三方源需求添加

    • libz.tbd
    • libbz2.tbd
    • libxml2.tbd
    • libresolv.9.tbd
    • libsqlite3.tbd
    • libc++.tbd
    • libc++abi.tbd
    • Accelerate.framework
    • CoreImage.framework
    • CoreLocation.framework
    • JavaScriptCore.framework
    • AppTrackingTransparency.framework
    • EventKit.framework
    • EventKitUI.framework
    • NetworkExtension.framework (start.io)
    • DeviceCheck.framework (v4.7.1.1+ 穿山甲)

申请IDFA权限#

在iOS14.5+上通过弹窗来获取IDFA,使用IDFA需要征得用户的同意。详细请参考适配iOS14.5+

  1. 在info.plist里添加NSUserTrackingUsageDescription键,并附上描述您使用的自定义消息。
<key>NSUserTrackingUsageDescription</key>
<string>获取IDFA权限后向您提供更优质的个性化服务及内容;开启后也可通过系统"设置-隐私"中随时关闭</string>
  1. 在应用启动后,弹出IDFA权限申请
//建议在TradPlus SDK初始化前调用
if (@available(iOS 14.5, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];

SDK初始化#

      在AppDelegate类的didFinishLaunchingWithOptions方法调用如下代码, 必须正确传入应用在TradPlus后台的AppId,否则后台无法准确统计DAU。

#import <TradPlusAds/TradPlus.h>
[TradPlus initSDK:@"tradplus后台的应用对应appid" completionBlock:^(NSError *error){
if (!error)
{
MSLogInfo(@"tradplus sdk init success!");
}
}];

开启http请求权限#

由于部分三方源的广告及其数据统计,仍然会使用 http请求,为了您APP的最大化收益,建议您开启APP的http请求权限。

您需要在APP项目中的 info.plist 中添加如下设置:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

在App Store中披露数据使用情况#

  • APPLE官方要求在App Store上发布应用程序的开发人员必须披露有关其数据使用情况的某些信息。 苹果已经宣布,从2020年12月8日开始,新应用和应用更新将需要这些披露。
  • 了解有关数据披露要求的更多信息。

启用SKAdNetwork跟踪转化#

支持了Apple官方的SKAdNetwork框架的三方渠道,会在获取不到IDFA的时候,正常获取转化。为了实现这个功能,需要在info.plist添加对应的SKAdNetworkItems。详细请参考适配iOS14.5+

<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>xxx.skadnetwork</string>
</dict>
.......
</array>

注意事项#

  • 请在mac上下载解压sdk,否则会导致部分文件格式损坏。
  • 请不要在TradPlus同一应用的不同广告位,配置相同的三方渠道广告位,会导致回调错乱等各种问题。
  • 后台的广告配置修改后一般30秒生效,SDK本地配置缓存失效时间为1小时,如果需要尽快获取更新后的配置开发者需要删除并重装App或调快1小时系统时间。

Facebook要求#

      需要下载Facebook并成功登录,才能展现广告,包括测试广告。

Admob要求#

     必须要将产品在 Admob 的唯一性标识写在客户端中,否则将会造成应用crash。

     在Info.plist中添加 GADApplicationIdentifier配置, 应用发布时请替换成应用在Admob后台的appid。

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>

其他#

在构建和测试应用时,请确保使用的是测试广告,而不是实际投放的广告。否则,可能会导致您的帐号被暂停。

  • 设置SDK的日志级别
//开启SDK全部日志打印
[TradPlus setLogLevel:MSLogLevelAll];