本人在對接iOS推送時廊鸥,用的是極光推送,中間可謂是:
一波坑來一波坑又起O剿J蛲肌!
現(xiàn)將部分規(guī)避代碼總結(jié)如下:
首先在極光注冊自己的應(yīng)用奴烙,注意上傳開發(fā)和生產(chǎn)證書時助被,一定注意!
項目對接SDK時切诀,官網(wǎng)說的非常詳細揩环,本人Pod加載的,并手動添加部分配置:
直接上代碼丰滑,因為是在Appdelegate里面加入的方法,所以我給AppDelegate寫了一個分類,在.h文件中可以寫:
在.m文件中實現(xiàn)以下方法:
方法中又再次調(diào)用YTPushHelper我是將極光Push方法倒庵,統(tǒng)一封裝在了這個類里面褒墨。截圖如下:
緊接著在AppDelegate中- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions這個方法下加上代碼:[selfJPushApplication:applicationdidFinishLaunchingWithOptions:launchOptions];即可。
用戶點擊查看通知擎宝,打開App時郁妈,角標清0,方法為:setApplicationIconBadgeNumber绍申。
以上噩咪,基本的配置就可以實現(xiàn)了顾彰。直接官網(wǎng)測試,或者后臺測試就可以了胃碾。
特使情況涨享!如果用戶的App是在打開時,也想進行推送仆百,實現(xiàn)以下方法即可:
在這個方法下厕隧,特別需要注意,拿到推送顯示信息之后俄周,注意就開始判斷App此時狀態(tài)了:
其中: UIApplicationStateActive為前臺操作栏账;
? ? ? ? ? ?UIApplicationStateInactive為純后臺,或者偽后臺時調(diào)用栈源;
? ? ? ? ? ?UIApplicationStateBackground這個我并未使用,暫時不知竖般!哈哈
基本就可以實現(xiàn)各種時機的推送了甚垦。如有問題或者錯誤,請?zhí)岢龌恋瘢蠹夜餐M步艰亮。??