国行iphone第一次安装APP网络状况
国行手机第一次安装APP,会有请求网络权限的一个弹框出现,在这期间APP是没有任何网络连接的。
想必大部分APP的需求和这个逻辑有冲突。
先推荐一个链接:http://www.cocoachina.com/ios/20161125/18181.html
普通情况的解决方案还是蛮多的。
1.设置引导页
2.无数据情况在空白UI区域设置一个刷新按钮,
当然上述场景中如果有注册推送的情况,大多数注册推送都会在appdelegate入口里,这种写法下允许推送的弹框和允许使用网络的弹框出现的顺序没有一定。如果先出允许推送的弹框,用户点击允许,此时注册 deviceToken 是不能成功的。当然如果用户允许访问网络,第二次打开 app 时也会走一遍注册远程推送方法,此时就能注册成功了。当然第二次注册成功总还是一个不大不小的bug。
目前我的需求是第一次安装打开APP,要请求一个LaunchAD也就是弹屏广告,而且要确保是第一次打开,因为是一款儿童应用,只有第一次打开的情况大多数才是父母的操作。这个需求跟注册推送其实差不多~
解决方案:通过AFN监听网络状态,当监听到有网络连接的时候再进行请求LaunchAD
- (void)monitorNetState{
AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
break;
case AFNetworkReachabilityStatusNotReachable:
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
[self getLaunchAdAgain];
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
[self getLaunchAdAgain];
break;
default:
break;
}
}];
[mgr startMonitoring];
}
然后在getLaunchAdAgain方法中做一些判断防止重复请求就完美解决了
- (void)getLaunchAdAgain{
BOOL app_ready = [[NSUserDefaults standardUserDefaults] boolForKey:@"app_ready"];
if (self.hasGetLaunchAd||!app_ready) {
return;
}
[self getLaunchAd];
}
over~
国行iphone第一次安装APP网络状况的更多相关文章
- iOS10 国行iPhone联网权限问题处理
在iOS10上安装新App, 第一次打开时会询问用户"是否允许应用使用数据"(仅针对国行且需要连接移动网络的设备), 如下图所示, 在用户点击允许之前, App是无法联网的, 这意 ...
- 锋友分享:国行和非国行iPhone的送修需知
锋友 hfln0829 分享了一些关于苹果 iPhone 售后服务的注意事项以及有可能的维修方式.他表示,无论是国行还是港版送修,都必须关闭查找我的 iPhone 这个功能,如果你关闭不了,售后不会受 ...
- iPhone IOS10安装APP没提示连接网络(无法联网)的解决办法
iPhone升级ios10之后,遇到如标题所述问题时: 1.退出APP,设置-蜂窝移动网络-无线局域网助理-开启 2.进入APP,这时候就回提示连接网络了. 提醒: 数据流量有限的朋友,平时请关闭&q ...
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”(转)
症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白,完全没数据.kill 掉重新打开就好了. 一开始以为是用户网络情况不好,但随着越来越多的用 ...
- iPhone 6/6 Plus国行版开卖当日抢购攻略
在距离苹果首批发售时隔一个月也就是北京时间10月17日,苹果iPhone 6.iPhone 6 Plus终于也要在中国大陆开卖,众多国内用户终于有机会安排自己的购机计划.据不完全数据显示,目前iPho ...
- 国行手机安装GOOGLE PLAY
原文地址:http://blog.sina.com.cn/s/blog_68cff87b0101a96k.html 相信国行的手机都是没有google Play 功能的吧,相比其它国外的手机,功能上逊 ...
- 关于APP在小米5s第一次安装启动后,点击home返回桌面,再次进入重进闪屏页问题
现象 今天工作中,在对公司产品进行测试的时候,程序员小哥点出了一个问题.问题点出的步骤是这样的: 1.安装APP 2.点击打开 3.经过闪屏页,进入主页后,点击HOME键 4.再次进入程序会重新进入闪 ...
- 国行Android手机使用google全套GMS服务小结
由于众所周知的原因,国行手机是不能内置google服务的,但作为铁杆google粉,没有GMS的Android不是完整的Android,NEXUS系列机器又由于各种原因买不到或者不想选购,那么 ...
- iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路
1.在iosAPP下载安装时,如果出现此时无法下载安装APP的字样时,可能是苹果系统进行了支持更新,并需要我们确认条约.至于如何判断是否是苹果系统进行了更改,只需要我们进入开发者账号,进入我的账户(A ...
随机推荐
- Collection Lists
ArrayList LinkedList Vector 顺序添加 抽象数据类型(ADT)是一个实现包括储存数据元素的存储结构以及实现基本操作的算法. ArrayList (1)ArrayList是 ...
- flink中对于window和watermark的一些理解
package com.chenxiang.flink.demo; import java.io.IOException; import java.net.ServerSocket; import j ...
- 依赖Anaconda环境安装TensorFlow库,避免采坑
TensorFlow™ 简介: TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示 ...
- 20140808 const和define区别 内联函数(inline) 栈和堆的地址分配 栈帧
1.const和define区别 const有数据类型(不能改变的变量),define只是简单的字符串替换,没有数据类型. C++程序用const完全取代 define. const还可以类成员函数为 ...
- swiper 窗口宽度变化,页面宽度高度变化 导致自动滑动 解决方案
又又又又是swiper问题 背景: pc端项目,rem布局,swiper作为步骤条(上一步,下一步)的功能. 发现在屏幕拖动,宽高的变化,窗口大小的变化 会引起swiper自动滑动(到下一步). 在下 ...
- Nginx学习——简介及常用命令
Nginx简介 Nginx是什么 同Apache一样,都是一种WEB服务器 基于REST架构风格,以统一资源描述符(URI)或者统一资源定位符(URL)作为沟通依据,通过HTTP协议提供各种网络服务 ...
- 小程序onclick的写法?
bindtap="bindAction" 调用bindAction函数即可
- CSIC_716_20191204【网络编程 OSI 七层结构】
软件开发架构 C/S架构: Client: 客户端 Server: 服务端 比如: 微信客户端.QQ客户端等... 优点: - 软件的使用稳定 - 节省网络资源 缺点: - 安装麻烦,用户体验差 - ...
- nodejs的npm修改源
在国内用npm install时,速度总是不尽如人意,解决办法是修改npm的数据源 npm config set registry https://registry.npm.taobao.org 修改 ...
- 安装percona-toolkit.rpm时候报错:perl(Time::HiRes) is needed by percona-toolkit-2.2.16-1.noarch
1.安装percona-toolkit.rpm时候报错: warning: percona-toolkit.rpm: Header V4 DSA/SHA1 Signature, key ID cd2e ...