iOS10收集IDFA,植入第三方广告[终结]--ADMob
[PS: 前段时间,公司做ASO推广,需要在应用中收集IDFA值,跟广告平台做交互!于是有了这个需求~~]
1、首先,考虑了一下情况(自己懒 -_-#),就直接在首页上写了一个Banner,循环加载广告[都是自己公司的一些广告消息];
然后,就过了审核![万事大吉]
这里打个小广告,自己简单封装了一个MBAdBanner小框架,已经上传到GitHub上了。
2、然后,最近更新版本的时候,由于收集IDFA而没有实质性广告就杯具了。果断的大大红色Reject!
DONE: 加入了一些其他平台的广告(*东6.18活动等),作为收集IDFA使用。
3、最后,嫌弃麻烦,就导入了第三方的广告服务[AdMob]
(1)利用CocoaPods, [ pod 'GoogleMobileAds', '~> 7.8.0' ];
--需要VPN才行。
(2)终端pod search GoogleMobileAds,找到 - Source: https://www.gstatic.com/cpdc/f5ae88269a942f37-GoogleMobileAds-7.8.0.tar.gz,将GoogleMobileAds.framework下载下来
--官网上没有需要加入的框架文档,只能从更新的版本中找到;
--如下:
(3)集成Banner代码
// 导入@import GoogleMobileAds;
// 声明变量@property (nonatomic, strong) GADBannerView *bannerView;
// viewDidLoad 中加入核心代码- (void)viewDidLoad { self.bannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; // self.bannerView.frame = CGRectMake(0, 0, 320, 50); self.bannerView.adUnitID = @"ca-app-pub-8372750357813473/1825818546"; // test. // self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; [self.bannerView loadRequest:[GADRequest request]];// 在需要的时候request,刷新显示广告![上架后,通过接口,关闭广告服务即可] [self.view addSubview:_bannerView]; }
[ PS:额外提示]
1、这其中的adUnitID,是有google的AdMob后台提供的。
2、还有插屏广告服务的接入等。
官网文档地址:https://firebase.google.com/docs/admob/ios/quick-start
------------------------
iOS10 重大更新!
In iOS 10.0 and later, the value of advertisingIdentifier is all zeroes when the user has limited ad tracking.
在iOS10.0 beta版中,idfa这个值,将在用户打开“广告追踪限制”后,获取的值为全零! “0000-0000-00000-00000-0000”
------------------------
iOS10收集IDFA,植入第三方广告[终结]--ADMob的更多相关文章
- Java基础 之软引用、弱引用、虚引用 ·[转载]
Java基础 之软引用.弱引用.虚引用 ·[转载] 2011-11-24 14:43:41 Java基础 之软引用.弱引用.虚引用 浏览(509)|评论(1) 交流分类:Java|笔记分类: Ja ...
- [caffe]linux下安装caffe(无cuda)以及python接口
昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...
- [Swift]基础
[Swift]基础 一, 常用变量 var str = "Hello, playground" //变量 let str1="Hello xmj112288" ...
- [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]
1. 什么是internationalization(i18n)? 国际化,英文简称i18n,按照维基百科的定义:国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区 ...
- [译]一个灵活的 Trello 敏捷工作流
[译]一个灵活的 Trello 敏捷工作流 翻译自 An Agile Trello Workflow That Keeps Tasks Flexible Getting things done 可不只 ...
- CSU 1642 Problem B[难][前缀和]
Description 已知两个正整数a和b,求在a与b之间(包含a和b)的所有整数的十进制表示中1出现的次数. Input 多组数据(不超过100000组),每组数据2个整数a,b.(1≤a,b≤1 ...
- [ufldl]Supervised Neural Networks
要实现的部分为:forward prop, softmax函数的cost function,每一层的gradient,以及penalty cost和gradient. forwad prop forw ...
- [干货]2017已来,最全面试总结——这些Android面试题你一定需要
地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...
- Git之(一)Git是什么[转]
为什么使用Git 孔子曾经曰过的,名正则言顺 言顺则事成. 我们在学习一项新技术之前,弄清楚为什么要学它至关重要,至于为什么要学习Git,我用一段if-else语句告诉你原因: if(你相信我){ 我 ...
随机推荐
- 设计模式 - 出厂模式(factory pattern) 详细说明
出厂模式(factory pattern) 详细说明 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27081511 工厂方法模式 ...
- 分布式搜索elasticsearch 文献检索索引 入门
1.首先,例如,下面的数据被提交给ES该指数 {"number":32768,"singer":"杨坤","size": ...
- NGUI判断是否点击到UI控件
注意:UI应加上Box Collider 1.射线检测 UICamera发一条射线,射线碰到了东西就说明点击到了UI Ray ray=UICamera.mainCamera.ScreenPointTo ...
- 左右10g DG中间ORA-19527和ORA-00312错误解决演示示例
这些天大厦10g DG Windows 2008 R2测试环境,主要明天去给客户端,再建一个生产资源库DG,其中一些发现的问题.特此记录下来 因为将要部署到生产环境.所以考虑在线搭建DG的方案,即不停 ...
- QtQuick桌面应用程序开发指南 4)动态管理Note对象_B 5)加强外观 6)许多其他的改进
4.2.2 Stateless(不管状态)JavaScript库 为了让开发轻松点, 使用一个JavaScript接口来和数据库交互是个好主意, 它在QML中提供了方便的方法; 在QtCreator中 ...
- C++输出数据到txt
平时总遇到将数据写到txt中的情况,尤其是在调试程序看中间结果时,所以将代码保存下来,方便以后应用: ofstream outfile; string InitialFileName("In ...
- System.ComponentModel.BackgroundWorker在WinForm中的异步使用
为了防止操作过程中界面卡死,和WinForm搭配最适合的就是BackgroundWorker了.BackgroundWorker 类 using System; using System.Compon ...
- Total Command help
- Android日志收集功能设计和实施报告(总)
几乎所有的应用程序开发者都知道"用户体验"重视,为了增强用户体验是从全面的监测和报告制度密不可分,在这些日志(控制Crash报告)是主要的问题跟踪和解决工具. 日志上报系统.首先看 ...
- POJ 2329 (暴力+搜索bfs)
Nearest number - 2 Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 3943 Accepted: 1210 De ...