主要功能與特色
除了提供驗證用的專屬 ID 之外,Instance ID 還能產生安全性權杖,供其他服務使用。其他功能包括:
產生安全權杖
- Instance ID 提供簡單的 API,可產生授權第三方存取應用程式伺服器端管理資源的安全權杖。
驗證應用程式是否為正版
- 將執行個體 ID 權杖傳送至伺服器,並使用執行個體 ID 服務驗證應用程式套件名稱,以及檢查是否具有有效簽章。使用 Instance ID Cloud Service 驗證權杖,有助於識別已知應用程式。為降低成本和減少多餘的往返通訊,請設定伺服器儲存這些權杖,這樣只需要檢查一次。如有安全疑慮,應用程式可以刪除權杖或執行個體 ID 本身,並產生新的權杖或 ID。此外,如果偵測到錯誤或安全性問題,Instance ID 伺服器會啟動權杖或 Instance ID 重新整理程序。
確認應用程式裝置已啟用
- Instance ID 伺服器會告知您,安裝應用程式的裝置上次使用時間。您可以藉此決定是否要保留應用程式資料,或是傳送推播訊息來重新吸引使用者。
找出並追蹤應用程式
- 執行個體 ID 是全球所有應用程式執行個體專屬的 ID,因此資料庫可使用這個 ID 專屬識別及追蹤應用程式執行個體。您的伺服器端程式碼可透過 Instance ID 雲端服務驗證 Instance ID 是否為正版,以及是否與向伺服器註冊的原始應用程式 ID 相同。為保護隱私,應用程式可以刪除執行個體 ID,這樣一來,資料庫中就不會再有與該 ID 相關的任何記錄。下次應用程式呼叫 Instance ID 時,系統會提供全新的 Instance ID,與先前的 ID 無關。
執行個體 ID 生命週期
- 當應用程式上線時,Instance ID 服務會發出
InstanceID
。InstanceID
是以公開/私密金鑰組為後盾,私密金鑰儲存在本機裝置上,公開金鑰則向 Instance ID 服務註冊。 - 應用程式可隨時使用
getID()
方法要求新的InstanceID
。如果您的應用程式有支援的伺服器,可以將其儲存在伺服器上。 - 應用程式可視需要使用
getToken()
方法,向執行個體 ID 服務要求權杖,與InstanceID
類似,應用程式也可以將權杖儲存在自己的伺服器上。發給應用程式的所有權杖都屬於應用程式的InstanceID
。 - 權杖是獨一無二且安全的,但如果發生安全性問題,或是使用者在還原裝置時解除安裝並重新安裝應用程式,應用程式或 Instance ID 服務可能需要重新整理權杖。應用程式必須實作監聽器,才能回應執行個體 ID 服務的權杖重新整理要求。
用戶端實作
執行個體 ID 可在 Android 和 iOS 裝置上運作。您必須在用戶端應用程式中加入適當的程式庫。Android 則需要 Google Play 服務。如要產生權杖,您需要 Google Developers Console 產生的專案 ID。