中文
登录
后可查看全部文档
开发测试/iOS集成文档/Xcode配置
Xcode配置
最近更新 2024-05-22 13:48:02

运行环境配置

  • 支持系统iOS 11.0及以上;
  • SDK编译环境 Xcode 14.1及以上;
  • 支持架构: x86-64, armv7, arm64,i386

添加权限

  • 工程plist文件设置,点击右边的information Property List后边的 "+" 展开添加 App Transport Security Settings,先点击左侧展开箭头,再点右侧加号,Allow Arbitrary Loads 选项自动加入,修改值为 YES。 SDK API 已经全部支持HTTPS,但是广告主素材存在非HTTPS情况。
复制
  • 工程plist文件设置,点击右边的information Property List后边的 "+" 展开添加NSMotionUsageDescription,先点击左侧展开箭头,再点右侧加号,NSMotionUsageDescription添加后,设置value值。
    • 注意:CSJ SDK实际并不需要配置NSMotionUsageDescription权限。
    • This key is required if your app uses APIs that access the device’s motion data, including CMSensorRecorder, CMPedometer, CMMotionActivityManager, and CMMovementDisorderManager. If you don’t include this key, your app will crash when it attempts to access motion data.详见
复制


具体操作如图

Build Settings中Other Linker Flags 增加参数-ObjC、 -l"c++"、 -l"c++abi" 、-l"sqlite3"、-l"z" ,SDK同时支持-all_load,具体操作如图

//sf3-fe-tos.pglstatp-toutiao.com/obj/ad-penny-bucket/41f3fa157386493c804d3e2ceeaf0719

添加依赖库

工程需要在TARGETS -> Build Phases中找到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依赖(4.8.0.3及以上版本新增)
  • libbz2.tbd
  • libc++.tbd
  • libiconv.tbd
  • libresolv.9.tbd
  • libsqlite3.tbd
  • libxml2.tbd
  • libz.tbd
  • libc++abi.tbd

具体操作如图所示

iOS17隐私策略适配说明

适配说明

  • 在6012及以上的版本,我们已新增 PrivacyInfo.xcprivacy 文件,位于静态库产物的CSJAdSDK.bundle中。
  • 您可以用cocoapods集成,手动集成或SPM集成,无论使用哪种方式,都可以在xcode项目的CSJAdSDK.bundle->PrivacyInfo.xcprivacy找到,请注意将PrivacyInfo.xcprivacy 拷贝进您的代码工程里。
  • 如果您的App本身包含PrivacyInfo.xcprivacy文件,请将穿山甲的PrivacyInfo.xcprivacy中的条款补全到自身的PrivacyInfo.xcprivacy中,具体补全方式如下:
    • 使用source code方式添加:
      • Xcode 中使用 Source Code方式打开 app 项目下的 PrivacyInfo.xcprivacy。复制穿山甲的 PrivacyInfo.xcprivacy中的条目,注意不要重复添加或错行。
    • 使用 Property List 的方式添加:
      • 在 Xcode 中双击打开 PrivacyInfo.xcprivacy 文件,在其中点击+,Xcode会提示可选的条款和可设置项,按照需求进行增补即可。
  • 如果您的项目同时集成了多个包含PrivacyInfo.xcprivacy的SDK,建议您将所有SDK的条款补充到您自身App的PrivacyInfo.xcprivacy中。在补充时,对于同一个API的声明和原因解释,无需重复添加。

Ads-CN的PrivacyInfo.xcprivacy

复制

iOS14 AppTrackingTransparency

  • SKAdNetwork(SKAN) 是 Apple 的归因解决方案,可帮助广告客户在保持用户隐私的同时衡量广告活动。 使用 Apple 的 SKAdNetwork 后,即使 IDFA 不可用,广告网络也可以正确获得应用安装的归因结果。 访问 https://developer.apple.com/documentation/storekit/skadnetwork 了解更多信息。 为了广告转化的归因,所有开发者须设置SKAdNetwork方案的穿山甲SKAdNetwork id
  • App Tracking Transparency (ATT) 适用于请求用户授权,访问与应用相关的数据以跟踪用户或设备。 访问 https://developer.apple.com/documentation/apptrackingtransparency了解更多信息。 目前苹果要求在iOS 14.5及以上的版本中必须在弹窗取得用户同意后,才可以追踪用户。对其他版本暂无明确要求,开发者应根据需要配置弹窗

Checklist

1 升级穿山甲 iOS SDK 3.5.1.1 及以上版本,穿山甲提供了 iOS 14.5 与 SKAdNetwork 支持

2 将穿山甲的 SKAdNetwork ID 添加到 info.plist 中,以保证 SKAdNetwork 的正确运行

复制

3 支持苹果 ATT:从 iOS 14.5 开始,若开发者设置 App Tracking Transparency 向用户申请跟踪授权,在用户授权之前IDFA 将不可用。 如果用户拒绝此请求,应用获取到的 IDFA 将自动清零,可能会导致您的广告收入的降低

  • 要获取 App Tracking Transparency 权限,请更新您的 Info.plist,添加 NSUserTrackingUsageDescription 字段和自定义文案描述。代码示例:
复制
  • 向用户申请权限时,请调用 requestTrackingAuthorizationWithCompletionHandler:方法。我们建议您申请权限后再请求广告,以便穿山甲准确的获得用户授权状态。

Swift 代码示例

复制

Objective-C 代码示例

复制

iOS本地化/国际化配置

注意 : 开发者必须在这里设置所支持的语言,否则会有语言显示的问题.

例如 : 支持中文 添加 Chinese



本篇目录
联系我们