當用戶註銷我的應用程序並且我不再希望他收到設備通知時,我該如何處理這種情況。Firebase Cloud Messaging - 處理註銷
我試圖
FirebaseInstanceId.getInstance().deleteToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE)
但我仍然收到通知到我的設備的registration_id
。
我還相信,這是我的令牌應該刪除:
FirebaseInstanceId.getInstance().getToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE)
或者乾脆FirebaseInstanceId.getInstance().getToken()
)。
我也試過FirebaseInstanceId.getInstance().deleteInstanceId()
,但接下來我打電話FirebaseInstanceId.getInstance.getToken
我收到null(它在第二次嘗試中有效)。
我想,在deleteInstanceId
之後,我可以立即再次撥打getToken()
,但它看起來像一個黑客。還有this answer其中規定不應該這樣做,但它建議刪除顯然不起作用的令牌。
那麼處理這個問題的正確方法是什麼?
這是唯一的「發件人ID」,當我打電話爲gettoken或deleteToken沒有拋出一個錯誤。當我使用我的Firebase控制檯中的文本項目ID時,這兩種方法都會拋出。然後我使用了我在googleservices.json中找到的數字ID,它看起來像是有效的。然後通過getId(),它也沒有拋出。所以我認爲就是這樣。 –
至於黑客,我必須在deleteInstanceId後立即調用它,因此它在第一次返回null,然後在登錄時調用它以使其工作。這就是爲什麼我認爲這是一個黑客。 –
我會試着看看我是否可以稍後再做一些測試並複製行爲。如果我有時間,會回到這裏。乾杯! –