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(你相信我){ 我 ...
随机推荐
- Code::Blocks项目配置基础
File 菜单 New :新建( Empty file/file . class . project . build target ) . Recent projects/files :近期打开的项目 ...
- NGUI简单背包系统的实现
一.利用txt文件存储游戏物品信息 首先在asset下创建一个txt文件,这里我们命名为objectsInfoList.txt,并将其拖放到unity Project视图中. 其中txt中我们先存放一 ...
- iOS_17_控制开关_TabBarController_由storyboard道路
最后效果图: main.storyboard BeyondViewController.m中有一句关键代码,设置tabbarItem图片的样式(30*30) // // BeyondViewContr ...
- POJ 1745 Divisibility (线性dp)
Divisibility Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10598 Accepted: 3787 Des ...
- 小谷的战斗Jquery(三)--水平和垂直菜单
日薪的例子似乎有点低,今天做多.行,这种实现是一个简单的菜单,Web项目中,有两个共同的菜单:纵向和横向.说到从垂直,看原代码. html代码实现最主要的菜单与子菜单 <span style=& ...
- form 为什么上传文件enctype现场
FORM要素enctype属性指定表单数据server当提交所使用的编码类型,默认默认值它是"application/x-www-form-urlencoded". 这样的编码方式 ...
- C# 字符串知识整理
新知识点,只是对于本人来说而已. 系统处理文本的方式 [新知识点].NET Framework .NET Framework的定义:其包含了一个公共语言运行时(Common Language Runt ...
- Java得到年在一个季度的错误的第一天
1.错误叙述性说明 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format giv ...
- netback于kthread遇到cpu affinity问题
最近的升级netback, 在测试过程中,查找vm全双工压力,rx的pps波动很厉害,见rx kthread尽管cpu affinity它是0-7 (dom0 8vcpu), 但往往,她去了物理破坏c ...
- Swing 显示良好JPanel保存为图片
在JFrame例如,下面的代码被添加 //自己的JPanel DrawPanel drawPanel = new DrawPanel(list, width, height, start, end); ...