看到算你捡到宝了,直接用就行

import AdServices
import Foundation
import iAd///ASA归因技术支持
struct ASA {static let shared = ASA()private init() {}func getToken() -> String? {var adToken: String?if #available(iOS 14.3, *) {do {adToken = try AAAttribution.attributionToken()} catch {}}return adToken}/// Apple ASA 技术支持func AppleASA() {if #available(iOS 14.3, *) {let adToken = getToken()// 发送POST给苹果得到归因数据sendToken(Token: adToken ?? "") { attrData inpostData(tokenData: attrData)print("LogAds:14.3+ Dict: \(attrData ?? [:])")if let attrData = attrData {var attrDataL: [String: Any] = attrData// 添加userIdattrDataL["type"] = "1"}}} else {ADClient.shared().requestAttributionDetails { attrData, _ inpostData(tokenData: attrData)print("LogAds:14- Dict: \(attrData ?? [:])")}}}/// 向服务端发送数据/// - Parameter tokenData: 发送归因token后得到的数据private func postData(tokenData: [String: Any]?) {guard let tokenData = tokenData else {return}//转字符串//生成字典发往服务器//这个看具体需求,我就不实现了}/// 发送归因token得到数据/// - Parameters:///   - Token: 归因Token///   - completeBlock: 回调private func sendToken(Token: String, completeBlock: @escaping (_ data: [String: Any]?) -> Void) {let url = "https://api-adservices.apple.com/api/v1/"let postData = Token.data(using: .utf8, allowLossyConversion: true)var request = URLRequest(url: URL(string: url)!)request.httpMethod = "POST"request.addValue("text/plain", forHTTPHeaderField: "Content-Type")request.httpBody = postDatalet datatask = URLSession.shared.dataTask(with: request as URLRequest) { data, _, error invar result: [String: Any]?guard let _ = error else {// 请求成功var resDic: [String: Any]?do {resDic = try JSONSerialization.jsonObject(with: data ?? Data(), options: []) as? [String: Any]} catch {}result = resDiccompleteBlock(result)return}// 请求失败print("失败")let nulldict: [String: Any] = [:]completeBlock(nulldict)}datatask.resume()}
}

Apple ASA归因技术支持相关推荐

  1. 2020年Apple的UWB技术产品资料整理

    在2019年9月,Apple在Iphone11系列手机中新增支持UWB技术的U1芯片,使得Iphone11系列成为全球第一支持UWB技术的手机,然而在发布会上Tim Cook却并未提到UWB技术将怎样 ...

  2. vscode变假期不提示_12个假期的家庭技术支持提示

    vscode变假期不提示 Shutterstock/Stokkete Shutterstock /斯托克特 The only certainties in life are death, taxes, ...

  3. iOS开发审核技术支持网址问题

    最近审核,因为技术支持URL不合格被拒的解决方法 最近因为这个网址问题被拒几次,以前随便填一个都能过,好像审核变的很严格. 被拒原因: * 1. 5 SAFETY: DEVELOPER INFORMA ...

  4. 大家眼中的桌面技术支持是什么样的?

    相信现在有一些朋友做过桌面支持,不知道你们做的性质是什么,是linux.应该不可能,windows,呵呵.这下应该是说对了,不知道做过桌面支持的朋友是通过什么实现的,但我相信离不开电话,离不开网络. ...

  5. 此为太阳历的技术支持博客

    此为太阳历的技术支持博客 转载于:https://blog.51cto.com/13922782/2159743

  6. Win XP等多个版本操作系统技术支持将到期

    根据微软产品技术支持生命周期策略,Windows Vista RTM(没有安装服务包的版本)的技术支持服务将于2010年4月13日到期:Windows XP SP2和所有版本的Windows 2000 ...

  7. 微软技术支持工程师_微软催你买电脑啦!即可+99元即可享受上门帮教服务

    点击右上角关注我们,每天给您带来最新最潮的科技资讯,让您足不出户也知道科技圈大事! 不知道是不是由于前一段时间 Windows 10 系统的份额有了些许下降,微软 Windows 官方微博今天推出了 ...

  8. CISCO PIX/ASA Failover 技术初步学习

    CISCO PIX/ASA Failover 技术 是一项故障转移配置的技术,需要两台完全一样的设备,通过一个连接,连接到对方(这个连接也叫心跳线).该技术用到的两台设备分为 主用和备用,备用处于待机 ...

  9. tm1650中文资料_TM1616,TM1650,TM1651 SOP16原厂直销,技术支持

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 产品型号:VK1616 产品品牌: VINKA/永嘉微电/永嘉微 封装形式:SOP16 产品年份:新年份 深圳市永嘉微电科技有限公司,原厂直销!原装现货更 ...

最新文章

  1. 尚育鹏:Leetcode刷题总结(数组)
  2. CMakeLists.txt从入门到精通
  3. 17、HTML单选按钮
  4. PAT甲级题目翻译+答案 AcWing(模拟)
  5. drupal启动过程
  6. oracle的本地安装和PUTTY+XMING远程连接安装和oracle翻页功能
  7. Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本
  8. 去哪儿-19-detail-ajax
  9. centos编译安装php7_centos7源码安装php7.2
  10. 不能见面的情人节,我体验了一次视频相亲
  11. kafka + storm 错误 Async loop died
  12. linux dig命令
  13. 数据挖掘实战系列 之 Kaggle 练习项目快速入门
  14. c语言中要求五个数一行,c 语言中如何一行输出五个数
  15. AutoCAD Civil 3D中将CASS地形图中地形点转换成CAD点实体
  16. 笔记本连接显示器后没有声音
  17. Openssh更新升级7.9p1步骤
  18. 好玩的表情包机器人微信小程序源码下载支持直接搜索仿聊天界面
  19. USB输入单节锂电池0.5A充电管理IC,防高压40V保护电路-7号电路板
  20. 从《战狼2》看吴京:选对方向、做对事

热门文章

  1. 利用mathematica画多个函数图像
  2. After trying to increase PLL frequency, system shows the error: “Device may be operating in low-powe
  3. app免填邀请码安装如何实现?
  4. 一些基础知识:脑科学、神经科学、心理学
  5. Trie 前缀树的c 实现
  6. 关于员工激励的思考-期望理论
  7. 浏览器对视频格式的支持
  8. 共识算法PBFT资料整理
  9. 起名字 - 第二部分
  10. 给工具栏按钮添加图标和文字