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(你相信我){ 我 ...
随机推荐
- vuejs 相关资料
官网 http://vuejs.org/ 中文网站 http://cn.vuejs.org/ Vue.js——60分钟快速入门 http://www.cnblogs.com/keepfool/p/56 ...
- MonkenRunner通过HierarchyViewer定位控制的方法和建议(Appium/UIAutomator/Robotium侣)
1. 背景 正在使用MonkeyRunner当我们经常使用Chimchat下面HierarchyViewer模块获得目标控制的一些信息,以协助我们测试.但在MonkeyRunner官方的说法是没有看到 ...
- HDU 4391 Paint The Wall 段树(水
意甲冠军: 特定n多头排列.m操作 以下是各点的颜色 以下m一种操纵: 1 l r col 染色 2 l r col 问间隔col色点 == 通的操作+区间内最大最小颜色数的优化,感觉非常不科学... ...
- synchronized与static synchronized 差异
1.synchronized与static synchronized 差异 synchronized是对类的当前实例进行加锁,防止其它线程同一时候訪问该类的该实例的全部synchroniz ...
- 搭建 Linux 下 GitLab 服务器(转)
这两天因为项目需求需要搭建一个GitLab服务器,遇到了很多问题,参考了很多网络资料,终于搭建成功,在此把这个过程记录一下,利人利己. 一.最终目的 1,在Linux下创建GitLab服务器,客户端能 ...
- MySQL 正則表達式搜索
products表例如以下: 1. 基本字符匹配 使用正則表達式与LIKE的差别,正則表達式是在整个列搜索,仅仅要prod_name中包括了所搜索的字符就能够了,而LIKE假设不用通配符,那么要求pr ...
- ZOJ 3820 2014ACM/ICPC牡丹江司B称号
3797714 2014 - 10 - 12 21:58 : 19 Accepted 3820 C++ 1350 70240 zz_1215 比較麻烦的一道题吧,開始的时候不停的段异常,后面知道是爆栈 ...
- nsis 固定到任务栏
nsis 固定到任务栏 win7以上有效 Name "测试" OutFile "test.exe" Section CreateShortCut "$ ...
- NOI第一天感想&小结
嘛...中午总算是到了深圳了--在虹桥机场和飞机上和市队大神们一起讨论各种各样奇(sang)葩(bing)的算(ren)法(lei)还是非常开心的,在此再各种膜拜一下尽管没来比赛的FFT大神@陈中瑞 ...
- Python中国的学习方式处理问题
a = '你们' 至 str 物 a = u'你们' 至 unicode 物 1. >>> print 'u' + '你们' >>> u欢 输出乱码 2. > ...