手动集成
基础配置
- 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
- 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开始)
- AppLovin: AppLovinSDK.framework(v12.4.1开始)
- InMobi: InMobiSDK.framework(v10.7.2开始)
- GoogleIMA: GoogleInteractiveMediaAds.framework
- KwaiAdsSDK: KwaiAdsSDK.framework
- YSONetwork: YsoNetwork.framework
- TaurusX: TaurusxAdsSDK.xcframework
- 优量汇:GDTMobSDK.framework, Tquic.framework(v4.15.22开始)
-
常用的系统依赖库,根据三方源需求添加
- 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+ 穿山甲)
- CoreML.framework(v6.3.0.6+ 穿山甲)
申请IDFA权限
在iOS14.5+上通过弹窗来获取IDFA,使用IDFA需要征得用户的同意。详细请参考适配iOS14.5+
- 在info.plist里添加NSUserTrackingUsageDescription键,并附上描述您使用的自定义消息。
<key>NSUserTrackingUsageDescription</key>
<string>获取IDFA权限后向您提供更优质的个性化服务及内容;开启后也可通过系统"设置-隐私"中随时关闭</string>
- 在应用启动后,弹出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!");
}
}];