Mã phiên bản là gì?

Mã phiên bản cung cấp một mã nhận dạng duy nhất cho mỗi bản sao ứng dụng của bạn. Bạn có thể triển khai Mã nhận dạng bản sao cho các ứng dụng AndroidiOS cũng như các ứng dụng/tiện ích Chrome.

Tính năng chính

Ngoài việc cung cấp các mã nhận dạng duy nhất để xác thực, Instance ID còn có thể tạo mã thông báo bảo mật để sử dụng cho các dịch vụ khác. Các tính năng khác bao gồm:

Tạo mã thông báo bảo mật

Mã bản sao cung cấp một API đơn giản để tạo mã thông báo bảo mật cho phép bên thứ ba truy cập tài nguyên do máy chủ quản lý của ứng dụng. Hãy sử dụng các mã thông báo này ngay để cho phép thông báo đẩy cho các ứng dụng của bạn qua Google Cloud Messaging.

Xác minh tính xác thực của ứng dụng

Truyền mã thông báo Mã phiên bản đến máy chủ của bạn và sử dụng dịch vụ Mã phiên bản để xác minh tên gói ứng dụng và kiểm tra xem tên gói đó có chữ ký hợp lệ hay không. Việc xác minh mã thông báo bằng Dịch vụ đám mây của mã phiên bản sẽ giúp xác định các ứng dụng đã biết. Để giảm chi phí và thông tin liên lạc thừa trong vòng khứ hồi, hãy định cấu hình máy chủ của bạn để lưu trữ các mã thông báo này để chỉ cần kiểm tra một lần. Trong trường hợp lo ngại về bảo mật, ứng dụng của bạn có thể `deleteTokens` hoặc chính ID phiên bản và tạo các mã mới. Ngoài ra, máy chủ Instance ID sẽ bắt đầu làm mới mã thông báo hoặc Instance ID nếu phát hiện thấy lỗi hoặc vấn đề bảo mật.

Xác nhận thiết bị có ứng dụng đang hoạt động

Máy chủ mã phiên bản có thể cho bạn biết thời điểm sử dụng thiết bị gần nhất được cài đặt ứng dụng. Hãy sử dụng dữ liệu này để quyết định xem có nên giữ dữ liệu từ ứng dụng của bạn hay gửi thông báo đẩy để tương tác lại với người dùng của bạn.

Xác định và theo dõi ứng dụng

Mã thực thể duy nhất trên tất cả thực thể ứng dụng trên khắp thế giới, vì vậy, cơ sở dữ liệu của bạn có thể dùng mã đó để xác định và theo dõi riêng các thực thể của ứng dụng. Mã phía máy chủ của bạn có thể xác minh rằng: Để bảo vệ quyền riêng tư, ứng dụng của bạn có thể xoá một Mã phiên bản để không còn liên kết với bất kỳ bản dịch nào trong cơ sở dữ liệu. Lần tới khi ứng dụng gọi Mã phiên bản, ứng dụng sẽ nhận được Mã phiên bản hoàn toàn mới mà không có mối quan hệ với mã phiên bản trước đó.

Vòng đời mã phiên bản

  1. Dịch vụ mã nhận dạng thực thể cấp một InstanceID khi ứng dụng của bạn kết nối mạng. InstanceID được một cặp khóa công khai/riêng tư sao lưu với khoá riêng tư được lưu trữ trên thiết bị cục bộ và khoá công khai được đăng ký bằng dịch vụ Mã phiên bản.
  2. Ứng dụng có thể yêu cầu một InstanceID mới bất cứ khi nào cần sử dụng phương thức getID(). Ứng dụng của bạn có thể lưu trữ tệp này trên máy chủ nếu có tệp hỗ trợ ứng dụng đó.
  3. Ứng dụng có thể yêu cầu mã thông báo từ dịch vụ Mã phiên bản nếu cần bằng phương thức getToken() và giống như InstanceID, ứng dụng của bạn cũng có thể lưu trữ mã thông báo trên máy chủ của riêng mình. Tất cả mã thông báo được cấp cho ứng dụng của bạn đều thuộc về InstanceID của ứng dụng.
  4. Mã thông báo là duy nhất và an toàn, nhưng ứng dụng của bạn hoặc dịch vụ Mã phiên bản có thể cần làm mới mã thông báo trong trường hợp xảy ra vấn đề bảo mật hoặc khi người dùng gỡ cài đặt rồi cài đặt lại ứng dụng của bạn trong quá trình khôi phục thiết bị. Ứng dụng của bạn phải triển khai trình nghe để phản hồi các yêu cầu làm mới mã thông báo từ dịch vụ Mã nhận dạng thực thể.

Vòng đời mã nhận dạng thực thể

Triển khai ứng dụng

Mã thực thể chạy trên cả Android và iOS. Mỗi ứng dụng yêu cầu bạn phải đưa thư viện thích hợp vào ứng dụng khách. Android yêu cầu Dịch vụ Google Play. Bạn sẽ cần có một Mã dự án do Google Developers Console tạo nếu bạn có ý định tạo mã thông báo.

Để biết hướng dẫn chi tiết, hãy xem hướng dẫn triển khai cho AndroidiOS.