什麼是執行個體 ID?

執行個體 ID 會為應用程式的每個執行個體提供專屬 ID。您可以為 AndroidiOS 應用程式以及 Chrome 應用程式/擴充功能導入執行個體 ID。

主要功能

除了為驗證提供專屬 ID,執行個體 ID 也可產生安全性權杖並用於其他服務。其他功能包括:

產生安全性權杖

執行個體 ID 提供簡易 API,可用來產生第三方權杖,授權第三方存取您應用程式的伺服器端代管資源。立即使用這些權杖,透過 Google 雲端通訊授權應用程式的推送訊息。

驗證應用程式真實性

將執行個體 ID 權杖傳遞至您的伺服器,然後使用執行個體 ID 服務來驗證應用程式套件名稱,並檢查其是否具備有效的簽名。使用 Instance ID 的 Cloud Service 驗證權杖,有助於識別已知的應用程式。為降低成本和冗餘的往返通訊時間,請將伺服器設為儲存這些權杖,這樣就只需要執行一次檢查。如果發生安全疑慮,應用程式可「deleteTokens」或「執行個體 ID」本身,並產生新的 ID。此外,如果執行個體偵測到錯誤或安全性問題,執行個體 ID 伺服器就會啟動權杖或執行個體 ID 重新整理作業。

確認應用程式裝置為有效狀態

執行個體 ID 伺服器可指出上次安裝應用程式的裝置。藉此決定要保留來自應用程式的資料,還是傳送推送訊息來重新吸引使用者。

識別及追蹤應用程式

在全球各地的應用程式執行個體中,執行個體 ID 不得重複,因此資料庫可用於識別及追蹤應用程式執行個體。您的伺服器端程式碼可透過執行個體 ID 雲端服務來驗證執行個體 ID,且執行個體 ID 就是當初透過伺服器註冊的原始應用程式。基於隱私考量,應用程式可以刪除執行個體 ID,使其不再與資料庫中的任何記錄建立關聯。您的應用程式下次呼叫執行個體 ID 時,將會取得一個新的執行個體 ID,且此 ID 與先前 ID 無關。

執行個體 ID 生命週期

  1. 應用程式上線時,執行個體 ID 服務會發出 InstanceIDInstanceID 會以公開/私密金鑰組儲存於本機裝置中的私密金鑰,以及向執行個體 ID 服務註冊的公開金鑰。
  2. 應用程式可以使用 getID() 方法視需要要求新的 InstanceID。如果應用程式支援您的應用程式,就可以將應用程式儲存在伺服器上。
  3. 應用程式可以使用 getToken() 方法,從執行個體 ID 服務要求權杖,就像 InstanceID 一樣,應用程式也可以將權杖儲存在自己的伺服器上。核發到應用程式的所有權杖都屬於應用程式的 InstanceID
  4. 權杖具有唯一性與安全性,但您的應用程式或執行個體 ID 服務可能需要在發生安全性問題時重新整理權杖,或是在裝置還原時重新安裝並重新安裝應用程式。您的應用程式必須實作事件監聽器,以便回應執行個體 ID 服務的權杖重新整理要求。

執行個體 ID 生命週期

用戶端實作

執行個體 ID 是在 Android 和 iOS 裝置上執行。每個需要您在用戶端應用程式中加入適當的程式庫。Android 需要 Google Play 服務。如要產生權杖,您必須使用 Google Developers Console 產生的專案 ID。

如需詳細的操作說明,請參閱 AndroidiOS 導入指南。