1. 程式人生 > >個推推送iOS版 常見問題詳解

個推推送iOS版 常見問題詳解

1、提交了.p12檔案後多久可以測試?

提交後10分鐘左右才可以測試,並不是立即生效的。

2、應用在後臺時接收不到訊息,即APNS訊息接收不到? 1.    先去檢視CID和APPID繫結是否正確。 2.    根據CID去查devicetoken,確認CID和devicetoken繫結是否正確。 3.    檢視證書是否上傳錯誤

4.    服務端推送的,請檢查離線時間是否設定。

3、devicetoken和Clientid繫結錯誤怎麼辦?

原因如下:換證書環境後,devicetoken是變掉了,但是CID沒變導致不會立即重新繫結devicetoken(一般是24小時後會重新繫結),服務端記錄的還是原來的devicetoken。解決辦法如下:需要一個gxsdkconfig.plist檔案重新放在工程中,打包,解除安裝原來的應用並重新安裝。CID變化了會重新繫結devicetoken,這樣繫結就不會有問題了。

4、在釋出到appstroe時,證書環境需要更換嗎? 1.    開發的時候需要上傳開發證書,開發測試OK後,釋出到appstore之前,需要把證書更換成生產證書,證書更換後10分鐘左右生效。 2.    蘋果裝置上,CID是唯一的,一般不會變化,一般不建議重新生成CID。

3.    如果CID與deviceToken繫結錯誤,需要重新生成一個CID來方便測試的操作方法:需要gxsdkconfig.plist檔案,重新打包,把原來應用解除安裝重新安裝新打包的這個。   

5、更換證書後,客戶端隔多久會重新繫結?

1.    證書更換後, 過24小時才會重新繫結一次,這時devicetoken會變掉。24小時內做測試的話,會因Clientid和devicetoken繫結問題導致訊息接收不到,因為證書更換後的devicetoken變掉了但沒有更新到伺服器,導致服務端查詢到的devicetoken是錯誤的。

6、無效的devicetoken問題 1.    一般來說是證書環境的問題,更換證書環境導致的。 2.    先看clientid和devicetoken繫結是否有問題。 3.    檢視本地的證書環境是否與平臺上傳的證書環境一致。

4.    檢視證書是否有過期。

6、為什麼IOS客戶端會收到兩條一樣的訊息? 1.    是因為一個devicetoken綁定了兩個Clientid導致的。

2.    因證書環境變更,導致Clientid與devicetoken繫結變化,但服務端的資料沒有更新,還是與舊的devicetoken繫結的。當用plist檔案獲取到新的clientid後,會重新繫結一下,這時新舊兩個clientid都會繫結到同一個devicetoken上。當群推訊息時,會根據clientid找到devicetoken進行APNS傳送,這時新舊兩個clientid都會發送一條資料,導致客戶端會接收到兩條資料。

7、Tcp方式和http在效能上哪個比較好,各適用與哪個場景? tcp是長連結,吞吐量更大,效能更好一些 tcp不支援toApp群推的

群推toApp用http方式的,因為只有一個請求

8、IOS平臺推送成功接收,服務端程式碼推送toApp卻接收不到,返回AppIdNoUsers錯誤?

檢視程式碼裡的phoneTypeList中新增的是否為IOS。要修改為add(“IOS”)

9、IOS簽名失敗的解決辦法: 問題描述:The applicationdoes not have a valid signature.

解決辦法:把BundleIdentifier 改成你自己的id,也就是說這裡應該填你們證書裡面已經申請的那個應用id。

10、生產證書下怎麼獲取devicetoken?

生產證書不能在Xcode裡進行聯機debug,要先把應用包打出來,安裝在手機上,然後在Xcode的origanizer->device選擇你的設定,然後在consloe裡檢視日誌,devicetoken和clientid都會打印出來的。

11、ios開發證書以及生產證書打包教程 12、關於ios8的通知功能: 1.如果使用ios8sdk編譯,需要使用新的registerForRemoteNotifications/registerUserNotificationSettings介面,否則無法獲取devicetoken

2.如果使用ios8以前的sdk編譯,介面無需變動,直接使用老版本的registerForRemoteNotifications介面即可

13、收到通知後,點選通知欄後怎麼讓這條通知在通知欄裡消失。