Quản lý dữ liệu mã phiên bản

Mã phiên bản xác định các lượt cài đặt riêng lẻ của ứng dụng. Do mỗi thực thể Mã nhận dạng là duy nhất cho một ứng dụng và thiết bị cụ thể, giúp các dịch vụ Firebase có thể để đề cập đến các phiên bản ứng dụng cụ thể. Ví dụ: Cloud Messaging sử dụng Mã phiên bản để xác định thiết bị cần gửi thông báo.

Một số dịch vụ của Firebase sử dụng mã nhận dạng thực thể để hỗ trợ các tính năng của những dịch vụ đó:

  • Analytics
  • Crashlytics
  • Cloud Messaging
  • Remote Config

Quản lý dữ liệu ứng dụng được liên kết với mã phiên bản

Các dịch vụ sử dụng mã phiên bản để xác định lượt cài đặt cũng dùng mã này làm khoá để liên kết dữ liệu có liên quan với thiết bị đó. Ví dụ: Crashlytics sử dụng Mã phiên bản để ghi lại sự cố xảy ra trên thiết bị, Remote Config sử dụng để tìm nạp cấu hình, đồng thời Analytics sử dụng mã nhận dạng phiên bản để theo dõi những đối tượng cụ thể.

Dữ liệu liên kết với mã thực thể thường không dùng để nhận dạng cá nhân, nhưng việc cung cấp cho người dùng lựa chọn quản lý dữ liệu vẫn có thể hữu ích. Để làm việc đó Cuối cùng, Firebase cung cấp hai cách để quản lý hoạt động thu thập dữ liệu liên quan đến Instance-ID:

  • Xoá mã phiên bản. Bạn có thể xoá mã phiên bản bằng một máy chủ hoặc lệnh gọi API phía máy khách. Thao tác xoá mã phiên bản sẽ xoá chính mã nhận dạng đó và tất cả dữ liệu liên kết với cuộc trò chuyện đó.
  • Tắt các dịch vụ tạo mã nhận dạng. Hầu hết dịch vụ Firebase sử dụng Instance Mã nhận dạng sẽ tự động tạo một mã nhận dạng mới nếu thiết bị chưa có mã nhận dạng khi thiết bị khởi động. Để đảm bảo ứng dụng của bạn không tạo ra mã phiên bản không mong muốn, hãy tắt tự động khởi chạy cho các dịch vụ đó.

Xoá mã phiên bản

Thao tác xoá một mã phiên bản cũng sẽ xoá dữ liệu liên kết với mã nhận dạng đó trong bất kỳ Các dịch vụ của Firebase được liệt kê ở trên. Do đó, việc xoá giấy tờ tuỳ thân trở thành một công cụ hữu ích trong việc xoá dữ liệu người dùng, mà còn đi kèm với một cảnh báo: nếu bạn đang sử dụng nhiều các dịch vụ dựa vào mã phiên bản, việc xoá một mã sẽ xoá dữ liệu khỏi tất cả chúng.

Dịch vụ Mã thực thể sẽ tạo một mã nhận dạng mới trong vòng vài ngày, trừ phi bạn tắt mọi dịch vụ tạo Instance-ID trong ứng dụng của bạn. Firebase xem xét mã nhận dạng mới được tạo là một phiên bản ứng dụng hoàn toàn mới và không liên kết mã đó với mã trước theo bất kỳ cách nào.

Xoá mã nhận dạng có lệnh gọi API ứng dụng

Để xoá những mã nhận dạng do các dịch vụ của Firebase tạo, hãy gọi phương thức thích hợp từ API mã phiên bản Firebase:

Swift

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

Objective-C

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

Android

FirebaseInstanceId.deleteInstanceId();

Xoá mã nhận dạng có lệnh gọi API máy chủ

Để xoá mã phiên bản có lệnh gọi API máy chủ, hãy thêm SDK quản trị Firebase vào máy chủ của bạn, nếu bạn chưa làm như vậy.

Sau khi thêm mã, hãy xoá mã nhận dạng thông qua lệnh gọi đến chức năng xoá mã phiên bản bằng ngôn ngữ bạn chọn:

Node.js

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

Java

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

Python

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

Tiến hành

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "INSTANCE_ID"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting iid", err)
}

Khi bạn xoá mã phiên bản có lệnh gọi API máy chủ, các dịch vụ của Firebase sẽ xoá dữ liệu liên quan, ngừng chấp nhận dữ liệu mới cho mã nhận dạng đó và trong vòng vài ngày, thông báo cho ứng dụng khách rằng mã nhận dạng đã bị xoá. Cho đến khi Firebase thông báo cho khách hàng một số dịch vụ của ứng dụng có thể bị giảm chức năng.

Nếu bạn muốn xoá mã phiên bản hiện tại và sử dụng Firebase ngay lập tức các dịch vụ có mã nhận dạng mới, độc lập, hãy sử dụng một trong các API Ứng dụng khách ở trên để xử lý thao tác xoá.

Tắt tính năng tạo mã phiên bản

Những dịch vụ dùng mã nhận dạng thực thể sẽ tự động tạo một mã nhận dạng mới khi chúng được được khởi tạo trong một ứng dụng hiện chưa có ứng dụng này. Thông thường, các dịch vụ đó cũng tự động khởi chạy khi ứng dụng của bạn khởi chạy. Để tắt đối tượng Khi tạo mã nhận dạng, bạn phải tắt tính năng tự động khởi chạy cho các dịch vụ sử dụng chúng.

Một phương pháp phổ biến là đưa ra cho người dùng tuỳ chọn chọn tham gia thu thập dữ liệu: tắt tính năng tự động khởi chạy cho các dịch vụ sử dụng mã phiên bản, hãy triển khai hộp thoại nhắc người dùng để đồng ý với việc thu thập dữ liệu và bật lại các dịch vụ theo cách thủ công sau khi bạn có được sự đồng ý.

Hãy đọc hướng dẫn bên dưới để tìm hiểu cách tắt tính năng tự động khởi chạy cho Các dịch vụ sử dụng Instance-ID và khởi chạy các dịch vụ đó theo cách thủ công: