首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

针对iOS的谷歌AdMob新软件开发工具包设置: SKAdNetworkItems、NSUserTrackingUsageDescription、ATTrackingManager设置

基础概念

SKAdNetworkItems

SKAdNetworkItems 是苹果提供的用于广告归因的API,它允许开发者在不违反用户隐私的前提下,追踪广告带来的应用安装和转化事件。通过 SKAdNetworkItems,开发者可以创建广告网络项目,这些项目包含了广告网络的标识符和其他相关信息。

NSUserTrackingUsageDescription

NSUserTrackingUsageDescription 是一个Info.plist文件中的键,用于向用户解释应用为何需要追踪用户数据。当应用尝试使用如 CoreLocationAdSupport 框架进行用户跟踪时,系统会要求开发者提供此描述。

ATTrackingManager

ATTrackingManager 是App Tracking Transparency (ATT) 框架的一部分,用于管理应用的跟踪权限。自iOS 14起,苹果引入了ATT框架,要求应用在追踪用户之前必须获得用户的明确许可。

相关优势

  • 隐私保护:通过 NSUserTrackingUsageDescriptionATTrackingManager,应用可以更好地遵守苹果的隐私政策,保护用户数据。
  • 精准归因SKAdNetworkItems 提供了一种新的广告归因方式,使广告主能够更准确地衡量广告效果。
  • 用户信任:明确的隐私政策和跟踪权限请求可以增强用户对应用的信任。

类型

  • 广告归因SKAdNetworkItems
  • 隐私政策描述NSUserDiscoveryUsageDescription
  • 跟踪权限管理ATTrackingManager

应用场景

  • 广告投放:在应用中集成第三方广告网络时,使用 SKAdNetworkItems 进行广告归因。
  • 位置服务:当应用需要使用位置信息时,通过 NSUserTrackingUsageDescription 向用户解释用途。
  • 个性化推荐:在需要追踪用户行为以提供个性化服务时,使用 ATTrackingManager 请求跟踪权限。

遇到的问题及解决方法

问题:应用在请求跟踪权限时,用户拒绝授权

原因:用户可能对应用收集和使用个人数据持谨慎态度。

解决方法

  1. NSUserTrackingUsageDescription 中提供清晰、具体的解释,说明为什么需要跟踪用户数据以及如何使用这些数据。
  2. 提供选项让用户选择是否同意跟踪,而不是默认开启跟踪。
  3. 优化应用功能,减少对用户数据的依赖,提供不依赖跟踪数据的功能选项。

问题:SKAdNetworkItems 设置后,广告归因不准确

原因:可能是配置错误或广告网络标识符不正确。

解决方法

  1. 确保 SKAdNetworkItems 中的广告网络标识符与广告网络提供的标识符一致。
  2. 检查Info.plist文件中的配置是否正确,确保没有遗漏或错误的键值对。
  3. 参考苹果官方文档和广告网络的官方指南,确保所有设置都符合要求。

示例代码

代码语言:txt
复制
// Info.plist中添加NSUserTrackingUsageDescription
<key>NSUserTrackingUsageDescription</key>
<string>我们需要追踪您的使用情况,以提供更好的服务。</string>

// 请求跟踪权限
import AppTrackingTransparency
import AdSupport

func requestTrackingAuthorization() {
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
            switch status {
            case .authorized:
                print("用户授权跟踪")
            case .restricted:
                print("跟踪受限")
            case .notDetermined:
                print("未确定")
            case .denied:
                print("用户拒绝跟踪")
            @unknown default:
                fatalError()
            }
        })
    }
}

参考链接

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS接入开屏广告教程 : 以腾讯优量汇为案例

4.12.5及以上版本 本文重点是拉取最新SDK库、iOS14idfa适配以及iOS13modal样式适配 I 、 SDK部署 https://developers.adnet.qq.com/doc.../ios/guide 1.1 术语介绍 APPID:媒体 ID,是您在腾讯优量汇开发者平台创建媒体时获得ID,这个ID是我们在广告网络中识别您应用唯一ID。...说明:针对单媒体用户,允许获取idfa和定位权限,投放定向广告;不允许获取权限用户,投放通投广告,媒体可以选择是否把idfa和定位数据提供给优量汇,并承担相应广告填充和eCPM单价下降损失结果。...在这里插入图片描述 1.4 权限适配 针对单媒体用户,允许获取idfa和定位权限,投放定向广告;不允许获取权限用户,投放通投广告,媒体可以选择是否把idfa和定位数据提供给优量汇,并承担相应广告填充和...,描述获取IDFA等广告标识符用途 NSUserTrackingUsageDescription 该ID将用于向您推送个性化广告 弹窗小字文案建议

2.8K20

iOS14适配之【使用AppTrackingTransparency以请求用户授权获取IDFA信息】

iOS14 To use the AppTrackingTransparency framework 1.1、 步骤 1.2、 iOS14请求用户授权获取IDFA代码实现 前言 在 iOS13 及以前...,系统会默认为用户开启允许追踪设置,我们可以简单通过代码来获取到用户 IDFA 标识符。...iOS14适配:CALayerDelegatedisplayLayer方法处理机制(问题:无法显示图片) iOS14相册权限适配 iOS14适配【UIDatePicker新增默认样式UIDatePickerStyleInline...1.2、 iOS14请求用户授权获取IDFA代码实现 在 Info.plist 中配置" NSUserTrackingUsageDescription " 及描述文案 使用 AppTrackingTransparency...框架中 ATTrackingManager requestTrackingAuthorizationWithCompletionHandler 请求用户权限,在用户授权后再去访问 IDFA 才能够获取到正确信息

5.9K70
  • iOS14.5.1适配:使用AppTrackingTransparency以请求用户授权获取IDFA信息【修订版】

    1.1、 开发步骤& 上架注意事项 1.2、 iOS14请求用户授权获取IDFA代码实现 2.1 idfa 版本 2.2 noidfa 版本使用 2.2.1 更新pod遇到问题: 2.2.2 编译链接发现错误...3.1 iOS14之前上架指南 3.2 iOS14之后iOS14适配 3.3 移除手动集成SDK步骤 前言 在 iOS13 及以前,系统会默认为用户开启允许追踪设置,我们可以简单通过代码来获取到用户...在这里插入图片描述 NSUserTrackingUsageDescription 2、Call requestTrackingAuthorization...See ATTrackingManager.AuthorizationStatus for status enums. 应用场景 在用户授权后再去访问 IDFA 才能够获取到正确信息。...1.2、 iOS14请求用户授权获取IDFA代码实现 在 Info.plist 中配置" NSUserTrackingUsageDescription " 及描述文案

    1.5K10

    Develop as One | 2021 Google 开发者大会主旨演讲精彩回顾

    TensorFlow.js 已支持 TensorFlow Lite 模型,无需环境设置一键启动,帮助开发者更高效、便捷地在 web 环境中进行开发。...利用 TensorFlow Lite 可以构建具备机器学习功能原生移动应用,轻松覆盖 Android 和 iOS 平台上数十亿用户。...开源解决方案 TFX 在大大提升运营管理效率同时,也兼具公平性和包容性,提供集成公平性指标和隐私工具包,实现更负责任机器学习项目实践。...Flutter 谷歌移动广告插件稳定版正式发布: 同时支持 AdMob 和 Ad Manager,增添了开屏广告、自适应尺寸广告,广告中介等新功能,帮助 Flutter 开发者增加广告收益。...谷歌在中国推出 Grow with Google 成长计划,旨在针对中国学员打造免费数字技能培训项目。

    1.4K10

    iOS10-iOS15主要适配回顾

    否则可能导致bar背景设置无效。...为 3、IDFA 请求权限不弹框问题,解决参考iOS15 ATTrackingManager请求权限不弹框 4、iOS15终于迎来了UIButton这个改动 ios14适配 1、更改了cell布局视图...,之前将视图加载在cell上,将会出现contentView遮罩,导致事件无法响应,必须将customView 放在 contentView 上 2、UIDatePicker默认样式不再是以前,需要设置...推出暗黑模式,UIKit 提供系统颜色和 api 来适配不同颜色模式,xcassets 对素材适配也做了调整 2、支持第三方登录必须,就必须Sign In with Apple 3、MPMoviePlayerController...之前设置na bar和tab bar外观方法可能会无效 ios12适配 1、C++ 标准库libstdc++相关3个库(libstdc++、libstdc++.6、libstdc++6.0.9 )废弃

    1.2K50

    《Flutter》-- 1.Flutter简介

    Flutter是一个由Google与社区开发开源移动应用软件开发工具包。 Flutter不是一个彻底跨平台技术框架,如果应用开发中涉及混合开发,还需要开发者具备原生开发知识。...1.1 Flutter特点 1)跨平台开发 Flutter支持在mac OS、Windows、Linux、Android、iOS以及谷歌公司Fuchsia操作系统上运行。...3)beta版本 每个月初Flutter团队会将上一个稳定dev版选为beta版进行发布,此版本通常是经过线上运行dev版,没有、严重缺陷。...1.3.1 Framework(视图层) 是一个由Dart实现软件开发工具包(Software Development Kit,SDK),它提供了一整套自下而上基础库。...1.3.2 Engine(引擎层) 是一个由C/C++实现软件开发工具包(SDK),是Flutter引擎,主要由Skia引擎、Dart运行时和文字排版引擎构成。

    1.3K20

    安卓9.0将限制应用程序访问,Android SDK中未记录API

    日前,一位来自XDA开发者表示,其在AOSP(安卓开放源代码项目)中最近一个提交报告中发现,谷歌可能会在安卓9.0中采用更加严格API访问权限,限制应用程序访问Android SDK中未记录API...一方面,谷歌可以通过锁定安卓系统中所有的隐藏API访问权限,来保护用户免受滥用API应用侵害。另一方面,通过对API访问权限做出限制,便会导致安卓开放性受到限制。 ?...有XDA开发者表示,安卓系统正变得越来越像苹果iOS。 关于API: API即应用程序编程接口,英文全称Application Programming Interface。那么API怎么用呢?...Android软件开发工具包(SDK)为开发人员提供了测试和构建Android应用程序所需API库和工具,随着Android每一个新版本都有一系列API可供开发者通过Android SDK使用...但是,这个开发工具包是由谷歌管理,并不是所有的API都会提交到谷歌手上,很多有用API是没有经过认证或者直接是隐藏。而目前许多个人开发者开发应用都利用到这些API。

    1.5K50

    flutter安装与配置

    在安装之前和大家罗嗦几句, 什么是flutter Flutter是一个开源软件开发工具包 (SDK),用于“帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台”。...因此,开发人员决定花费大量时间学习 IOS以支持更多用户使用他们应用程序。...即使在学习了如何构建 IOS应用程序之后,他们也意识到他们应用程序必须支持所有类型 IOS设备,然后去一一适配,这会让他们头秃。解决这些问题。...只需引入Flutter就可以解决,这就是 Flutter 用武之地。 2021年3月4日,谷歌正式发布了 Flutter 2.0。...errorlens(在您键入时获取有关错误任何反馈:超级有用) pubspec-assist(注意:类似的功能也可用于“Dart:添加依赖”和“Dart:添加开发依赖”命令) Todo Tree

    1.8K20

    2015谷歌IO大会综述:Android M、Android Studio、云端测试工具

    而该系统针对开发者有如下几个升级亮点: App Permissions(应用软件权限管理):开发者可在列表中自定义系统功能调用授权,比如应用能否使用位置、相机、麦克风、通讯录等,避免了每次都要对某个系统调用进行授权...Google Photos今日就会上线,支持Android、桌面以及iOS系统。区别于苹果iCloud服务是,Google Photos有无限免费云端存储空间,相比苹果只提供了5GB免费存储。...此外,这款测试平台,为跨平台系统,同时支持Android和iOS应用测试。 谷歌也试图改善开发者收入情况,他们现在可以自己创建其Google Play应用商店上主页。...另外,广告系统Admob支持40家广告网络,让开发者更容易获取收入。 Cardboard 谷歌Cardboard愿景就是希望每个人都可以使用虚拟现实技术。...和去年一样,Cardboard也将在会后以礼品形式赠送给每位开发者。 而由Cardboard衍生出了一个工具——Jump。谷歌利用这个工具来捕捉VR图像。

    1.4K80

    开源无止境,Flutter会成为跨平台开发领域里搅局者吗?

    本文作者:IMWeb elvishxj 原文出处:IMWeb社区 未经同意,禁止转载 在17年谷歌I/O大会上,Google 推出了Flutter- 一款用于创建移动应用开源库。...下面是InfoQ中国对于潇老师简单采访,整理如下: 1.从您个人经历中我们看到,您在近年来都是从事不同移动平台软件开发工作,加入谷歌之后也负责过YouTube安卓前端开发工作,履历可谓精彩纷呈,...于潇:我个人认为现在是移动平台软件开发行业一个精彩纷呈时代。与我刚开始进入这个行业时相比,安卓和iOS移动软件数量已在它们各自软件商店里增长了八倍和四倍。...我们提供一套丰富组件。但这一套组件也是建立于我们独一无二可自由组合和分层使用基础工具包之上。这个性能可帮助我们用户轻松创造属于他们自己设计语言和品牌定制化独特界面。...作为过来人能不能给我们年轻软件开发者们在移动开发方面一些建议或者分享一下未来趋势呢? 于潇:以当前科技发展速度来看,我认为能继续学习以及持续接收吸取行业里不断涌现知识和创意是非常重要

    91210

    高举隐私大旗,谷歌拳打Cookie,苹果脚踢SDK

    因此,在取消Cookie后,在线广告价格可能会随着谷歌举动而发生不可预测变化。 苹果对第三方SDK重拳出击 在谷歌之前,全球巨头苹果公司针对用户隐私保护也有“大动作”。...自从2021年 iOS14.5 推出 IDFA 规后,无论苹果是真的想保护消费者隐私,还是像很多友商评价其本质是为了增加自己广告服务收入也好,总之苹果对隐私保护政策正在变得越来越严格。...SDK,全称Software Development Kit,即软件开发工具包。广泛来说,它是辅助开发某一类软件相关文档、范例和工具集合。...为了缩短开发时间和提高开发效率,手机应用开发商将多种类型第三方SDK(软件开发工具包)集成到他们应用程序中。不难看出,第三方SDK已经成为了手机应用生态系统重要组成部分。...Cookie、SDK或是隐私泄露“幕后黑手” 谷歌和苹果此番动作,或许是为了加强企业自身主流地位,也或许是扩大ios生态护城河......总之归根结底是为了其商业版图服务,因此才对第三方痛下杀手

    24610

    一点就通,社交源码IOS客户端开发集成SDK

    所谓SDK,全称是SoftwaredevelopmentKit,翻译成软件开发工具包。SDK用助开发某种软件,今天给大家简单讲解下如何在社交源码IOS客户端上开发集成 SDK。...SDK创建:在Xcode中创建一个iOS1....SDK创建:在Xcode中创建一个iOS项目,选择适当应用类型,然后导入SDK文件(通常为.framework格式),拖拽到Xcode项目的文件列表中。1....SDK创建:在Xcode中创建一个iOS项目,选择适当应用类型,然后导入SDK文件(通常为.framework格式),拖拽到Xcode项目的文件列表中。...3.导入SDK代码:根据SDK提供文档,导入所需SDK代码来完成初始化和配置。通常包括在AppDelegate中添加初始化代码、设置代理和回调等,初始化SDK方法如图。

    32250

    推出AI开发平台让您可自定义开源大语言模型

    Gradient是今年推出大语言模型(LLM)应用开发平台之一。...第一种是通过该公司网页界面——基本上是一个软件即服务平台。或者,开发者可以通过其软件开发工具包使用GradientAPI。...Chang表示,网页界面是针对“不太擅长开发用户设计——可能是更习惯处理数据而不是在平台上开发分析师或数据科学家”。...而对于专业开发者,他继续说,“软件开发工具包和命令行界面也允许您以编程方式在这些模型上进行开发”。 软件开发工具包有两种形式: Python和JavaScript。...JavaScript 软件开发工具包示例 与许多新兴大语言模型应用平台一样,Gradient与两种流行AI工程框架兼容得很好: LangChain和LlamaIndex。它还与向量数据库集成良好。

    15710

    App、H5、PC应用多端开发框架Flutter 2发布

    使用Flutter 2,您可以使用相同代码库将本机应用程序发送到五个操作系统:iOS、Android、Windows、macOS和Linux;以及针对Chrome、Firefox、Safari或Edge...在谷歌,我们依赖Flutter,谷歌一千多名工程师正在用Dart和Flutter构建应用程序。...谷歌支付(googlepay)还报告称,他们工程师效率要高得多,技术债务大幅减少,iOS和Android安全审查和实验等统一发布流程。...今天,我们将发布针对FlutterGoogle移动广告beta版,这是一个SDK,与AdMob和AdManager合作,提供多种广告格式,包括横幅广告、插页广告、原生广告和奖励视频广告。...在Flutter中,我们提供了一个开源工具包,用于构建漂亮而快速应用程序,这些应用程序目标是移动、桌面、web和嵌入式设备,这些应用程序都是从一个单独代码库构建,这些代码库是为了解决Google

    8.9K30

    资源 | 一文盘点10大移动端机器学习框架

    选自hopinfirst.com 作者:James Tredwell 机器之心编译 参与:路雪、黄小天 本文介绍了适用于移动端 10 个机器学习框架,包括针对计算机机器学习框架和针对手机端优化性能框架...这就是为什么本文列表分为两部分:针对计算机更强大机器学习框架和针对移动端优化性能框架。 计算机机器学习框架 该列表包含运行在适当硬件上一般框架,可以处理海量数据集。...谷歌 TensorFlow GitHub 中有超过一半机器学习项目使用了 TensorFlow,其完整版本是当下最为流行 ML 工具集。...大量内置功能简便了验证、API 和服务器本地化设置。...移动端机器学习框架 谷歌 TensorFlow Lite 目前最完整免费移动端解决方案就是 TensorFlow Lite,它最初适用于安卓机,不过一些人也在 iOS 设备上实现了该框架。

    89440

    盘点 | 2022值得学习编程语言 TOP 7

    无论是安卓或iOS应用开发,还是构建桌面应用,企业如今会雇用专门使用Python开发人员。这也是意料之中,因为Python有许多优势,而且它是一种顶级通用语言。...02 Kotlin 学习Kotlin一大亮点在于,谷歌很喜欢使用该语言。事实上,自2017年以来,Kotlin一直是谷歌首选软件开发语言。...内置friends函数和全局变量可能会带来一些安全风险,你可以通过管理访问点来避免这些风险。 05 Golang Golang最早出现在2009年,但它被认为是一种相当语言。...07 Solar 2D 最后,Solar 2D(前身为Corona)是专门为开发手机游戏而构建软件开发工具包。...Solar 2D目前只是基于2D,但这并不是问题,因为在安卓和iOS游戏中2D应用程序表现也十分亮眼。

    1.4K20

    2018苹果开发者大会:推出机器学习应用套件Core ML 2,揭开iOS12面纱

    此外,该工具包将使开发人员通过量化,让受过训练机器学习模型规模缩小高达75%。 苹果还宣布推出Create ML,一款GPU加速工具,用于在Mac上进行原生AI模型培训。...Core ML更新消息随着ML Kit发布而兴起,ML Kit是谷歌在其5月I / O 2018开发者大会上宣布Android和iOS机器学习软件开发套件。...为了表明公司雄心壮志,苹果聘请了前谷歌工程师John Giannandrea,负责监督Gmail,Google搜索和谷歌助理中使用AI驱动功能,以推动其机器学习和AI战略。...例如,您可以设置一个“开车回家”操作,将文本发给您伴侣,在家中调整恒温器并播放最喜欢播客。这些快捷方式适用于第一方和第三方应用程序。...它与去年iOS App Store更新不只是相似。有些特色“故事”可以提供更多具体应用背后细节,而高级类别则专注于创意,工作,娱乐和开发等具体活动。

    82430

    iOS多渠道来源追踪怎么做,多种方案可选择

    iOS“渠道”通常是指那些在其它 App 或者网页内部,提供到达 App Store 链接页面。因此,在 iOS 中追踪发行渠道,主要是追踪进入 App Store 相关页面的渠道信息。...,营销活动才会在“App 分析”中显示; 无法兼容 Android 和 iOS企业签名,采用不同统计方法可能会让数据统一性较差; iOS 8.0 及以上版本用户可以选择是否将自己应用使用情况数据发送给...方案三:通过 IDFA 进行追踪,比如 Google Analytics 常用比如谷歌官方 Google Analytics,它获取原理就是通过获取设备 IDFA ,来作为唯一标示符号,然后根据你渠道来源提供数据...苹果设备设置里都会有一个开关用于限制广告跟踪: 784630-72e8f8d2f318ea5c.png 目前用户隐私保护意识也在逐渐觉醒,只要用户手握这个开关,IDFA 统计误差就始终存在。...另一方面,Google Analytics iOS 安装跟踪功能仅适用于通过移动广告网络(例如投放应用内广告AdMob)投放广告。

    4.9K11

    IOS,安卓,Windows和塞班,你最喜欢哪个?为什么?

    从事软件开发多年,主要用C/C++,java三种编程语言开发,IOS,安卓,windows,塞班四个系统除了IOS没怎么玩过,其余三种系统都做过对应开发,其中安卓系统玩时间最长,研究过中间层framework...安卓系统在开始时候用户体验很一般,而且性能也是非常差,加上当初硬件配置有限,但苹果公司一直在优化不停增加功能,加上硬件不断提升,安卓手机体验越来越好,安卓系统实际上是在linux基础上构建了一个系统...,早期由于引入了JVM机制导致在执行时候性能很一般,针对这块谷歌也做了大量工作,华为方舟编译器也是重点在解决这个执行效率问题,解决好这块性能问题安卓距离ios距离就已经不远了,任何一个系统都是需要时间积累...,最初安卓系统在htc手机上体验真的很一般,但谷歌持续不断更新不断在这块加强研发力量现在已经成为全球第一大移动操作系统,谷歌公司通过安卓获取了巨大经济收益,现在美国禁令华为取消谷歌公司对华为授权...说到塞班系统只能比较可惜,塞班系统在用户体验上以及开发易用性上,明显还没走出传统手机影子,距离智能手机差距还是非常远,因为从事软件开发缘故也是研究过塞班系统一段时间,还是有点过于程序化创新方面还是差了点

    92520

    当年塞班系统流畅度堪比iOS,占用内存也不大,为何还会被市场淘汰?

    从事软件开发多年还是塞班系统忠实拥趸,时至今日看塞班系统和IOS以及安卓系统,塞班系统明显在生态链建设上非常不利,秉承着从程序开发角度构建生态链,花费时间和精力非常巨大但实际效果很一般,塞班系统更多是局限于当前开发情景设计...,明显没有安卓或者ios更加具有跨越性,当年各个公司都在为构建自己移动操作系统而跃跃欲试,从今天结果看只有谷歌和苹果成功走到了今天,包括强大微软,诺基亚,三星等等都以失败而告终。...所以华为公司也在积极调整思路,重视国内手机拓展,同时把一些非主流业务开始打包卖掉,从采访中任正非表现出非常大乐观态度,但在实际中就要拿出针对方案进行自救,就需要调整一些思路,回到正题塞班系统从技术上考虑非常适合程序员使用...,风平浪静之下很难对安卓或者ios有实际冲击,现在倒不失为一个好机会,华为鸿蒙系统已经准备了很长时间了,从内部流传信息看能够兼容安卓以及各种web应用,这么看这属于一个过渡版本,并不是真正操作系统...从个人角度出发还是希望国内早一点拥有自己操作系统,免得被超级大国卡脖子,同时也预示着中国软件开发慢慢进入了深水区,也是在慢慢强大一种表现。

    1.6K20
    领券