我使用客戶端從Firebase獲取令牌並將其傳遞到服務器/後端以進行存儲,但當我調用訂閱主題時使用服務器上的Firebase令牌,我得到設備中的Firebase令牌在從後端服務器調用該設備時顯示爲無效實例
{"error":"No information found about this instance id."}
。
這幾乎是所有的時間發生,但有時它的工作原理,我似乎不明白這裏發生了什麼?
我使用客戶端從Firebase獲取令牌並將其傳遞到服務器/後端以進行存儲,但當我調用訂閱主題時使用服務器上的Firebase令牌,我得到設備中的Firebase令牌在從後端服務器調用該設備時顯示爲無效實例
{"error":"No information found about this instance id."}
。
這幾乎是所有的時間發生,但有時它的工作原理,我似乎不明白這裏發生了什麼?
我開始與404作爲狀態代碼的響應接收到該消息時,客戶端從客戶端側推送通知未註冊(當他/她沒有註銷,例如,我從接收推送通知註銷用戶在應用程序中)。客戶端下次登錄時,他/她收到我新的註冊令牌。
我不知道您的應用程序是否以及何時從推送通知中註銷,如果這是發生此類響應錯誤的唯一情況,但這是我的原因,也可能是您的。
當我嘗試訂閱/取消訂閱主題和訪問https://iid.googleapis.com/iid/[...]
,當我只是在我的代碼庫無效各自的註冊ID,從而忽略它收到404(並停止試圖訂閱或退訂再次)。
在documentation,在最後一節是關於錯誤響應,它說:
HTTP狀態404(未找到) - 無效HTTP路徑或IID令牌不 找到。查看錯誤消息以獲取詳細信息。
我很確定url必須是有效的,否則它應該在測試時給出錯誤,所以我認爲令牌(註冊id)是無效的。 我寧願錯誤返回代碼,如InvalidRegistration
(如發送推送通知時返回的錯誤代碼),但現在錯誤是正常的文本消息(對於404錯誤),所以我只基於我自己在狀態。
我希望它有幫助。