故障排除
理解釺/導引和工作流
蘋果推送通知服務(apn)是蘋果推送通知發送的基礎係統iOS和mac OS X應用程序。這是簡化的結構如何支持推送通知用戶的設備和釺如何發送推送通知:
- 你把證書和配置概要文件配置
- 設備注冊比例導引和釺提供令牌
- 你啟動一個釺推動運動
- 釺刪除無效的令牌
步驟1:配置將證書和配置概要文件
在開發您的應用程序,您將需要創建一個SSL證書啟用推送通知。該證書將包含在配置文件應用程序構建和還需要上傳到釺儀表板。證書允許釺告訴導引我們代表你可以發送推送通知。
有兩種類型的配置概要文件和證書:發展和分布。我們建議使用分布配置文件和證書,以避免任何混淆。如果您選擇使用不同的配置文件和證書的發展和分布,確保證書上傳到儀表板匹配您目前正在使用的配置文件。
不改變推證書環境(開發和生產)。改變推動證書錯誤的環境會導致用戶自己把令牌不小心刪除,使他們無法推動。
步驟2:設備注冊比例導引和釺提供令牌
當用戶打開應用程序,他們將提示您接受推送通知。如果他們接受了這個提示,apn將生成一個令牌推動特定設備。iOS SDK將立即和異步發送應用程序使用默認的推牌自動刷新策略。之後我們有一個推牌與一個用戶相關聯,他們將顯示為“推動注冊”儀表板下用戶配置文件訂婚選項卡並將有資格獲得從釺活動推送通知。
這並不與iOS模擬器。你不能用iOS模擬器測試推送通知。
第三步:啟動一個釺推動運動
推動活動啟動時,釺將請求apn傳遞你的信息。釺將使用SSL推證書上傳在儀表板進行身份驗證和確認我們可以推送通知發送到提供的令牌。如果設備在線,應該收到通知後不久競選已經發送。注意,釺套默認前置截止日期通知到30天。
第四步:刪除無效的令牌
如果比例導引告訴我們,任何把令牌我們試圖發送消息是無效的,我們從用戶配置文件中刪除這些標記聯係在一起。
利用推錯誤日誌
釺提供日誌推送式通知錯誤的信息活動日誌。這個錯誤日誌提供了各種各樣的警告這非常有助於確定為什麼你的活動不按預期工作。單擊錯誤消息將重定向您相關的文檔來幫助你解決一個特定的事件。
常見的錯誤你可以看到包括特定於用戶的通知,等“收到發送推牌未注冊”。
此外,釺還提供了一個推動下的用戶配置文件的更新日誌訂婚選項卡。這個變更提供了洞察推動登記行為如令牌失效,將登記錯誤,令牌被搬到新用戶,等等。
推動注冊問題
添加應用程序的推動注冊驗證邏輯,實現釺將單元測試。
沒有推動注冊提示
如果應用程序不提示您注冊推送通知,有可能推動注冊集成的問題。確保你跟著我們文檔並正確地集成我們的登記。你也可以在代碼中設置斷點,以確保將注冊碼正在運行。
沒有“推動注冊”用戶顯示在儀表板中
- 檢查你的應用促使你允許推送通知。通常,這提示就會出現在你第一次打開的應用程序,但它可以被編程出現在其他地方。如果它沒有出現在它應該在的地方,這個問題很可能與你的應用程序的基本配置的推動能力。
- 驗證的步驟推動集成成功完成。
- 檢查配置文件應用程序是由包括推動的權限。確保你把所有可用的配置概要文件從你的蘋果開發者賬戶。為了證實這一點,執行以下步驟:
- 在Xcode中,導航到首選項>賬戶(或使用鍵盤快捷鍵命令+,)。
- 為您的開發者賬戶選擇您所使用的蘋果ID並單擊查看詳細信息。
- 在下一個頁麵上,點擊刷新並確認你把所有可用的配置概要文件。
- 檢查你有正確啟用推送功能在你的應用程序。
- 檢查你把配置文件匹配測試的環境。通用證書可能被配置在釺儀表板發送開發或生產前置環境。使用開發生產應用證書或生產證書開發應用程序將不工作。
- 檢查你是否打電話給我們
registerPushToken
方法通過在代碼中設置一個斷點。 - 檢查你是否在設備上(將不會工作在模擬器)和有良好的網絡連接。
設備沒有收到推送通知
用戶不再“推動注冊”後發送推送通知
這可能表明,用戶有一個無效的令牌。這可能有幾個原因:
儀表板和應用證書不匹配
如果您上傳的推證書在儀表板中是不一樣的一個應用程序的配置文件中建成,apn將拒絕令牌。確認你有上傳正確的證書和完成應用程序中的另一個會話之前另一個測試通知。
卸載
如果用戶卸載應用程序,他們把令牌將是無效的,對未來發送刪除。
重新生成配置概要文件
作為最後的手段,重新開始新的,創造一個全新的配置文件可以清除配置錯誤來自使用多個環境,配置文件,和應用程序在同一時間。有許多“移動部件”設置推送通知的iOS應用程序,所以有時候,最好從一開始就重試。這也將有助於隔離問題如果你需要繼續故障排除。
注冊用戶仍然“推”發送推送通知
應用前景
在iOS版本不整合推動通過UserNotifications
框架,如果應用程序在前台將接收到消息時,它將不會被顯示。你應該背景應用程序在您的測試設備之前發送測試消息。
測試通知安排錯誤
檢查計劃設置為您的測試信息。如果它被設置為本地時區或交付聰明的時機,你可能沒有收到消息(或有應用前景的時候收到)。
用戶沒有注冊“推”被測試的應用程序
檢查用戶的用戶配置文件你想發送測試消息。下訂婚選項卡上,應該有一個“pushable應用程序”列表。驗證應用程序你想發送測試消息在此列表中。注冊用戶將顯示為“推”如果他們有一個令牌對於任何應用程序在您的工作空間中,這可能是一種假陽性。
下麵會顯示問題,推動注冊或用戶的令牌被apn回到釺無效後推:
活動日誌錯誤的消息
收到未注冊發送令牌
- 確保把令牌被送到釺的方法
[[Appboy sharedInstance] registerPushToken:]
是有效的。你可以看看信息活動日誌把令牌。它應該看起來像6 e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6
,一個長字符串包含字母和數字的組合。如果你把令牌看起來不同,檢查你的代碼發送釺的令牌。 - 確保你把配置文件匹配的環境測試。通用證書可能被配置在釺儀表板發送開發或生產前置環境。使用開發生產應用證書或生產證書開發應用程序將不工作。
- 檢查推牌你上傳到釺匹配配置概要文件用於構建應用程序你送把令牌。
設備令牌不為主題
這個錯誤表明你的應用推動證書和包ID不匹配。檢查你把證書上傳到釺匹配配置概要文件用於構建的應用程序把令牌。
BadDeviceToken發送令牌
的BadDeviceToken
是一個導引和錯誤代碼,並不源自釺。可能有許多原因響應返回,包括以下:
- 應用程序收到一把令牌,是無效的憑證上傳到儀表板。
- 將禁用該工作區。
- 用戶選擇的推動。
- 卸載應用程序。
- 蘋果刷新把令牌,失效的舊牌。
- 應用程序是一個生產環境中,但證書上傳到釺設置推動開發環境(或相反)。
問題後將交付
為您的應用程序添加驗證的處理,實現釺將單元測試。
推不點擊登錄
- 如果這隻是發生在iOS 10,確保你有跟蹤推動集成步驟iOS 10。
- 釺不處理推送通知收到默默地在前台(例如,默認前景推動行為之前
UserNotifications
框架)。這意味著,鏈接將不會開了,點擊不會被記錄。如果您的應用程序還沒有集成UserNotifications
框架,釺不會處理推送通知的應用程序狀態時UIApplicationStateActive
。你應該確保你的應用程序不會延遲調用釺推動處理方法;否則,iOS SDK可能將推送通知作為沉默的前景推動事件和不給他們。
網頁鏈接點擊推不開
iOS 9 +需要鏈接at兼容的web視圖中打開。確保你的網頁鏈接使用HTTPS。參考我們的ATS合規文章以獲取更多信息。
深度鏈接點擊推不開
大部分的代碼處理深度鏈接還處理將打開。首先,確保推動打開被記錄。如果不是這樣,修複這個問題(如經常修複修複鏈接處理)。
如果打開記錄,檢查是否一個問題與深層鏈接一般或深度鏈接點擊處理。要做到這一點,測試是否一個深度鏈接從一個應用程序消息單擊工作。