離線推送收不到沸手,按照下面步驟一步一步進行排查:
0外遇、如果你的app之前可以收到離線推送,突然收不到了契吉,那么先移步蘋果開發(fā)者中心查看推送證書是否過期跳仿。如果過期了,需要重新制作證書捐晶,然后到環(huán)信管理后臺(Console)將舊的刪掉再上傳新的菲语。過期的一般會被封禁,需要聯(lián)系環(huán)信進行解封操作惑灵。
1山上、首先已經按照環(huán)信的文檔集成了離線推送:APNs離線推送
2、如果是iOS13及以上的系統(tǒng)英支,那么需要將IM SDK更新到3.6.4或以上版本佩憾。
? ? ? 如果更新后還不行那么退出登錄、重啟app干花、再登錄試下妄帘。
? ? ?初始化sdk成功之后打印版本號:
? ???NSString *ver = [EMClient sharedClient].version;
3、測試APNs推送的時候把敢,接收方的APP需要是殺死狀態(tài)寄摆,需要用戶長連接斷開才會發(fā)APNs推送;
? ? ? 所以直接上劃殺死APP測試修赞。
4婶恼、要確保導出p12時使用的Mac和創(chuàng)建CertificateSigningRequest.certSigningRequest文件的Mac是同一臺桑阶;導出證書的時候要直接點擊導出锌妻,不要點擊秘鑰的內容導出挑童;確認 APP ID 是否帶有推送功能;
5立宜、環(huán)信管理后臺(Console)上傳證書時填寫的Bundle ID須與工程中的Bundle ID眷篇、推送證書的 APP ID 相同萎河;選擇的證書類型須與推送證書的環(huán)境一致;導出.p12文件需要設置密碼蕉饼,并在上傳管理后臺時傳入虐杯;
6、工程中初始化SDK那里填的證書名與環(huán)信管理后臺上傳的證書名稱必須是相同的昧港;
7擎椰、測試環(huán)境測試,需要使用development環(huán)境的推送證書创肥,Xcode直接真機運行达舒;
? ? 正式環(huán)境測試,需要使用production環(huán)境的推送證書叹侄,而且要打包巩搏,打包時選擇Ad Hoc,導出IPA安裝到手機上趾代。
8贯底、APP殺死后可調用“獲取單個用戶”的rest接口,確認證書名稱是否有綁定(正常情況下稽坤,登錄成功后會綁定上推送證書丈甸,綁定后會顯示推送證書名稱);還需要確認綁定的證書名稱和管理后臺上傳的證書名稱是否一致尿褪。
接口文檔:獲取單個用戶
如果沒綁定上睦擂,那么退出登錄、重啟app杖玲、重新登錄再試下顿仇。
如果證書名稱不一致,改正過來后重新登錄試下摆马。
9臼闻、如果以上都確認無誤,可以聯(lián)系環(huán)信排查囤采。需提供以下信息(請勿遺漏述呐,以免反復詢問耽誤時間):
? ? ?appkey、devicetoken蕉毯、bundle id乓搬、證書的.p12文件思犁、證書名稱、證書密碼进肯、收不到推送的環(huán)信id激蹲、測試的環(huán)境(development or production)、消息id江掩、消息的內容和發(fā)送時間
消息id要在消息發(fā)送成功后獲取学辱,如圖: