ID phiên bản xác định từng cài đặt ứng dụng của bạn. Vì mỗi ID phiên bản là duy nhất cho một ứng dụng và thiết bị cụ thể, chúng cung cấp cho các dịch vụ Firebase một cách để tham chiếu đến các phiên bản ứng dụng cụ thể. Ví dụ: Nhắn tin qua đám mây sử dụng ID phiên bản để xác định thiết bị sẽ gửi tin nhắn.
Một số dịch vụ Firebase sử dụng ID phiên bản để tăng sức mạnh cho các tính năng của chúng:
- phân tích
- Crashlytics
- Nhắn tin qua đám mây
- Cấu hình từ xa
Quản lý dữ liệu ứng dụng được liên kết với ID phiên bản
Các dịch vụ sử dụng ID phiên bản để xác định cài đặt cũng sử dụng chúng làm khóa để liên kết dữ liệu có liên quan với thiết bị đó. Ví dụ: Crashlytics sử dụng ID phiên bản để ghi lại các sự cố xảy ra trên thiết bị, Cấu hình từ xa sử dụng chúng để tìm nạp cấu hình và Analytics sử dụng ID phiên bản để theo dõi các đối tượng cụ thể.
Dữ liệu được liên kết với ID phiên bản thường không nhận dạng cá nhân, nhưng vẫn có thể hữu ích khi cung cấp cho người dùng một tùy chọn để quản lý nó. Để đạt được điều đó, Firebase cung cấp hai cách để quản lý việc thu thập dữ liệu liên quan đến ID phiên bản:
- Xóa ID phiên bản. Bạn có thể xóa ID phiên bản bằng lệnh gọi API phía máy chủ hoặc phía máy khách. Xóa ID phiên bản sẽ xóa chính ID đó và tất cả dữ liệu được liên kết với nó.
- Tắt các dịch vụ tạo ID. Hầu hết các dịch vụ Firebase sử dụng ID phiên bản sẽ tự động tạo ID mới nếu không có ID trên thiết bị khi chúng khởi động. Để đảm bảo ứng dụng của bạn không tạo ID phiên bản không mong muốn, hãy tắt tính năng tự động khởi chạy cho các dịch vụ đó.
Xóa ID phiên bản
Xóa ID phiên bản cũng xóa dữ liệu được liên kết với ID đó trong bất kỳ dịch vụ Firebase nào được liệt kê ở trên. Điều đó làm cho việc xóa ID trở thành một công cụ hữu ích trong việc xóa dữ liệu người dùng, nhưng cũng đi kèm với một cảnh báo: nếu bạn đang sử dụng nhiều dịch vụ dựa trên ID phiên bản, việc xóa ID sẽ xóa dữ liệu khỏi tất cả chúng.
Dịch vụ ID phiên bản tạo ID mới trong vòng vài ngày, trừ khi bạn tắt tất cả các dịch vụ tạo ID phiên bản trong ứng dụng của mình. Firebase coi ID mới 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 nó với ID trước đó theo bất kỳ cách nào.
Xóa ID bằng lệnh gọi API ứng dụng khách
Để xóa các ID do dịch vụ Firebase tạo, hãy gọi phương thức thích hợp từ API ID phiên bản Firebase:
Nhanh
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();
Xóa ID bằng lệnh gọi API máy chủ
Để xóa ID phiên bản có lệnh gọi API máy chủ, hãy thêm SDK quản trị viên Firebase vào máy chủ của bạn , nếu bạn chưa có.
Sau khi nó được thêm vào, hãy xóa ID thông qua một lệnh gọi đến chức năng xóa ID 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)
Đi
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 xóa ID phiên bản bằng lệnh gọi API máy chủ, các dịch vụ của Firebase sẽ xóa dữ liệu được liên kết, ngừng chấp nhận dữ liệu mới cho ID đó và trong vòng vài ngày, hãy thông báo cho ứng dụng khách rằng ID đó đã bị xóa. Cho đến khi Firebase thông báo cho ứng dụng khách, 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 xóa ID phiên bản hiện tại và sử dụng ngay các dịch vụ Firebase với ID 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ý việc xóa.
Tắt tạo ID phiên bản
Các dịch vụ sử dụng ID phiên bản tự động tạo ID mới khi chúng được khởi chạy trong một ứng dụng hiện chưa có. 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 tạo ID phiên bản, bạn phải tắt tự động khởi tạo cho các dịch vụ sử dụng chúng.
Cách tiếp cận phổ biến là cung cấp cho người dùng một tùy chọn để chọn tham gia thu thập dữ liệu: tắt tự động khởi tạo cho các dịch vụ sử dụng ID phiên bản, 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 dịch vụ theo cách thủ công một lần bạn có sự đồng ý.
Đọc hướng dẫn bên dưới để tìm hiểu cách tắt tự động khởi tạo cho các dịch vụ sử dụng ID phiên bản và thay vào đó khởi chạy chúng theo cách thủ công:
- Nhắn tin qua đám mây: Ngăn Tự động khởi chạy (Android) hoặc Ngăn Tự động khởi tạo (iOS +)
- Báo cáo sự cố: Bật Báo cáo chọn tham gia
- Analytics: Định cấu hình Thu thập dữ liệu Analytics