您可以前往AppStore中下载或更新Xcode,也可以登录苹果开发者资源中心进行指定版本的下载。(可能不支持第三方下载工具)。
我们提供如下两种方式导入Taku iOS SDK :
要将 SDK 导入 iOS 项目,最简单的方法是使用 CocoaPods。如果您刚开始接触 CocoaPods,请参阅CocoaPods官方网站。
请点击这里前往SDK下载中心,您可以参考以下图片步骤,按照您的需求选择并生成Podfile中的代码。
请您在生成完毕相关代码后不要离开SDK下载中心网页,后续对接流程还会使用其中的内容。
切换至podfile所在路径后,在终端执行
pod install --repo-update
执行安装
请点击这里前往SDK下载中心,您可以参考以下示例图片,按照您的需求选择广告平台然后下载Taku iOS SDK。
- 请您在下载完毕SDK后不要离开SDK下载中心网页,后续对接流程还会使用其中的内容。
- 在您点击”生成接入代码“后,系统将立即处理您的请求,在您的耐心等待后,下载链接将成功生成,并可点击”下载“按钮。
① 请将您在上一步中下载好的ZIP文件进行解压缩,之后将它们拖入您的Xcode项目工程中。
② Xcode工程Build Setting修改(请参考下图操作)。
③ 请回到SDK下载中心网页,查看"SDK引入提示"栏目,将栏目中列出的依赖项在Xcode工程中进行添加。
根据您勾选的广告平台的种类差异,可能会额外出现"SDK引入提示"栏目(如下图),若您勾选完毕广告平台,并点击"生成接入代码"后,未出现"SDK引入提示"栏目,则您可跳过此步骤,继续进行后续接入流程。
请您不要离开"SDK下载中心"网页,后续对接流程还会使用其中的内容。
UnityAds的SKAdNetwork ID每个项目均不相同,若您选择了该广告平台,请以UnityAds后台生成为准,需要您前往UnityAds管理后台查看。
请您回到上文中打开的"SDK下载中心"网页,将"SKAdNetwork IDs代码"栏目中所列出的内容添加至您的Info.plist文件中,请参考下图:
请您再次回到上文中打开的"SDK下载中心"网页,或直接复制下方代码,将如下栏目中所列出的内容添加至您的Info.plist文件中,请参考下图:
从iOS14.5开始,只有在获得用户明确许可的前提下,应用才可以访问用户的IDFA数据并向用户投放定向广告。
在应用程序调用 App Tracking Transparency 框架向最终用户提出应用程序跟踪授权请求之前,IDFA将不可用。如果某个应用未提出此请求,则读取到的IDFA将返回全为0的字符串。
<key>NSUserTrackingUsageDescription</key>
<string>此处修改为您希望用户看到的权限请求描述,可本地化</string>
iOS10之后,Allow Arbitrary Loads in Web Content键存在时会忽略Allow Arbitrary Loads的设置
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
若您勾选使用了Admob平台才添加该键。关于更多信息,请前往此处。
<key>GADApplicationIdentifier</key>
<string>Your GADApplicationIdentifier </string>
<!-- 上述值格式例如:ca-app-pub-9488501426181082~7319780494 -->
在集成本部分内容之前,您应当悉知需详细向用户说明 Taku SDK 所需的系统权限与各业务功能间的关系,并说明权限申请时机。
对于 Taku iOS SDK 可选申请的系统权限,您可以参考相关如下表格的内容,详细了解相关权限与各业务功能的关系及其申请时机,因相关权限的不申请将会对其对应的功能造成影响,您可以结合业务实际需要进行合理配置。
iOS操作系统应用权限列表:
权限 | 功能 | 用途和目的 | 调用时机 |
---|---|---|---|
NSUserTrackingUsageDescription | 【可选】获取设备标识,以识别设备信息 | 进行广告投放及反作弊 | 开发者在调用需要该权限的SDK功能时进行调用。当开发者需要根据设备信息情况使用调整广告变现策略及数据分析服务时进行时申请。 |
了解上述内容后,您需要通过App Tracking Transparency来向用户申请获取应用程序跟踪权限。
//导入头文件
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
//若使用AppDelegate
@implementation AppDelegate
- (void)applicationDidBecomeActive:(UIApplication *)application {
if (@available(iOS 14, *)) {
//iOS 14
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
} else {
// 可以直接获取
NSString * idfaStr = [ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString;
}
}
@end
在iOS 15及以上版本时,只有在应用程序状态为`UIApplicationStateActive`时,调用此API才会提示授权。如果另一个权限请求正在等待用户确认,则不会显示授权提示。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//....
//开启日志
[ATAPI setLogEnabled:YES];//Turn on debug logs
//....
return YES;
}
您可以根据本方法输出的日志,检查各个广告平台的SDK集成是否正常。
请注意,上架包需要移除掉本功能。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//....
//开启日志
[ATAPI setLogEnabled:YES];//Turn on debug logs
//开启日志后,调用检查集成情况方法
[ATAPI integrationChecking];
return YES;
}
输出示例:
1. 如果您的应用有在欧盟地区投放,请您在初始化前进行GDPR配置。如果您选择了Admob平台,那么在欧盟地区投放需要设置Google UMP,设置Google UMP后不用额外进行GDPR配置。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//....
//开启日志
[ATAPI setLogEnabled:YES];//Turn on debug logs
//开启日志后,调用检查集成情况方法
[ATAPI integrationChecking];
// 直接初始化SDK
[[ATAPI sharedInstance] startWithAppID:@"Your AppID" appKey:@"Your appKey" error:nil];
//....
return YES;
}