国行iphone第一次安装APP网络状况
生活随笔
收集整理的這篇文章主要介紹了
国行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~
轉載于:https://www.cnblogs.com/wycstudy/p/9470200.html
總結
以上是生活随笔為你收集整理的国行iphone第一次安装APP网络状况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑桌面图标有蓝色阴影怎么去掉 如何去掉
- 下一篇: WPF- 模拟触发Touch Event