夜间
sdk接入
1.cocoapods方式
pod 'BQADSDK'
2.手动方式
1.获取framework文件后直接将{BQAdSDK}文件拖入工程即可。
*升级SDK的同学必须同时更新framework和bundle文件,否则可能出现部分页面无法展示的问题.
*拖入完请确保Copy Bundle Resources中有BUAdSDK.bundle否则可能出现icon图片加载不出来的情况。
2.导入系统依赖库
需要引入的系统库
找到Link Binary With Libraries,点击“+”,依次添加下列依赖库
系统库名称 |
---|
Accelerate.framework |
AdSupport.framework |
AppTrackingTransparency |
AudioToolbox.framework |
AVFoundation.framework |
CoreGraphics.framework |
CoreImage.framework |
CoreLocation.framework |
CoreMedia.framework |
CoreMotion.framework |
CoreTelephony.framework |
CoreText.framework |
ImageIO.framework |
JavaScriptCore.framework |
MapKit.framework |
MediaPlayer.framework |
MobileCoreServices.framework |
QuartzCore.framework |
Security.framework |
StoreKit.framework |
SystemConfiguration.framework |
UIKit.framework |
WebKit.framework |
DeviceCheck.framework |
libbz2.tbd |
libc++.tbd |
libiconv.tbd |
libresolv.9.tbd |
libsqlite3.tbd |
libxml2.tbd |
libz.tbd |
libc++abi.tbd |
3.Build设置 Build Settings中Other Linker Flags 增加参数-ObjC、 -l"c++"、 -l"c++abi" 、-l"sqlite3"、-l"z" ,字母o和c大写。
Build Settings 中设置 Enable Bitcode 设置为 NO
项目工程中添加权限
1.⼯程plist⽂件设置,点击右边的information Property List后边的 "+" 展开
2.添加 App Transport Security Settings,先点击左侧展开箭头,再点右侧加号,Allow Arbitrary Loads 选项⾃动加⼊
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
关于 iOS 14 AppTrackingTransparency
从iOS 14.5开始,只有在获得用户明确许可的前提下,应用才可以访问用户的IDFA数据并向用户投放定向广告。在应用程序调用 App Tracking Transparency 框架向最终用户提出应用程序跟踪授权请求之前,IDFA将不可用。如果某个应用未提出此请求,则读取到的IDFA将返回全为0的字符串。
1.获取 ATT 权限,请更新您的 Info.plist,添加 NSUserTrackingUsageDescription 字段和自定义文案描述。代码示例:
<key>NSUserTrackingUsageDescription</key>
<string>需要获取您设备的广告标识符,以为您提供更好的广告体验</string>
2.向用户申请权限时,请调用 requestTrackingAuthorizationWithCompletionHandler:方法。我们建议您申请权限后再请求广告,以便广告能准确的获得用户授权状态。
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
- (void)requestIDFA {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// [self loadAd];
}];
}
iOS 15.0 中,如果是在启动方法中调用授权,不会弹出授权提示框,可以参考:https://juejin.cn/post/7018126149553225741
广告SDK的初始化
1.Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[BQADSDK initSdk:@"bq_ios123"];
return YES;
}
2.Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
BQADSDK.initSdk("bq_ios123")
return true
}
相关广告接入方式说明
广告接入具体示范可以参照 BQSDKAdDemo