首先來看看官方的推送解析圖 :
1遇西、推送簡單思路:
注: 下文中, A為張三 , B為李四
①A把自己設(shè)備的UDID和應(yīng)用程序的BundleID發(fā)送給蘋果APNs服務(wù)器;
②蘋果的APNs服務(wù)器會將一個加密生成的DeviceToken發(fā)送給A;
③A將生成的DeviceToken和應(yīng)用程序的標(biāo)志(QQ號碼或者是ID)發(fā)送給QQ服務(wù)器,服務(wù)器將這些數(shù)據(jù)存進(jìn)數(shù)據(jù)庫中(id,? name,? QQ號警绩,DeviceToken)
注:B也會用同樣的方式將自己的這些信息存進(jìn)數(shù)據(jù)庫的
④如果B給A發(fā)信息间坐,發(fā)送請求到QQ服務(wù)器株扛,去數(shù)據(jù)庫中查找A對應(yīng)的DeviceToken,找到A的DeviceToken后,通知蘋果APNs服務(wù)器,通過A的DeviceToken找到A設(shè)備,將要發(fā)送的消息推送給A;
2贫母、在使用推送時發(fā)現(xiàn)推送不到的原因有:
①首先先檢查自己的設(shè)置是否允許該應(yīng)用程序接受推送的通知;
②如果設(shè)備沒有問題盒刚,就排查是否是綁定的deviceToken除了問題
③或者是UDID和deviceToken的綁定出現(xiàn)了問題
④就是證書的問題也會導(dǎo)致推送失斚倭印(比如說你安裝的是測試證書,但是在選擇推送的時候選擇的發(fā)布證書因块,也會導(dǎo)致無法推送)
⑤就是設(shè)備的網(wǎng)絡(luò)問題橘原,如果網(wǎng)絡(luò)不好也會導(dǎo)致推送丟包(但是這種概率不是特別高)
建議:極光推送有一個cms后臺,我們可以注冊一個免費(fèi)的賬號去試一下