2017-07-17 73 views
1

我讀過很多關於Firebase Instance Idregistration tokenhereherehere的文章。Firebase實例ID和標記的範圍

我對他們的範圍和關係Instance IdToken之間有一些混淆。我想驗證我的理解是正確的還是錯誤的。

  1. Instance Id應用生成。不按安裝設備。例如,如果您有Mail應用程序和Notes應用程序,您將在Firebase上擁有兩個實例Id。
  2. Token是爲每個安裝的設備生成的。例如,如果您有十個用戶安裝您的應用程序,您將有十個註冊令牌。
  3. 一個Instance Id將有許多註冊令牌。
  4. 通常,我們只需在我們的應用服務器上保留registration tokens(不是實例Id)即可發送推送通知

回答

2
  1. 部分正確。 InstanceID屬於應用程序實例。在您的示例中,如果您擁有郵件應用程序和Notes應用程序,則每個人都有自己的實例 id,但兩者不相同,因此不能將它們組合在一起。

    將應用程序實例視爲應用程序安裝。如果您在設備上安裝了應用程序,則它具有應用程序實例。如果你卸載它,它也會被刪除,如果你重新安裝它,這是一個新的應用程序實例

  2. 正確。但是同一個設備也可能有多個令牌,但這隻適用於multiple senders

  3. 可能的。見#2。

  4. 是的。註冊令牌是作爲推送通知目標所需的值。

+0

感謝您的回答。關於實例ID,如果我的Notes應用程序安裝在十個不同的設備上,是否會有十個不同的實例ID或只有一個實例ID? –

+1

十個不同的ID。當你安裝你的應用程序時,你實際上可以調用'FirebaseinstanceId.getId()',它將返回特定* app實例*的值。當你調用'getToken()'(當前)時,它返回的標記爲'' - 但註冊標記被識別爲這個確切的整個值。 –

+0

我接受了你的答案。根據聲明「如果你卸載它,它也被刪除」。我們的應用服務器如何知道此設備上的實例ID或註冊令牌已被刪除(或失效)? –