รหัสอินสแตนซ์ระบุการติดตั้งแอปของคุณเป็นรายบุคคล เนื่องจากแต่ละ ID อินสแตนซ์นั้นไม่ซ้ำกันสำหรับแอปและอุปกรณ์ใดโดยเฉพาะ จึงทำให้บริการ Firebase มีช่องทางในการอ้างถึงอินสแตนซ์ของแอปที่เฉพาะเจาะจง ตัวอย่างเช่น Cloud Messaging ใช้รหัสอินสแตนซ์เพื่อกำหนดอุปกรณ์ที่จะส่งข้อความไป
บริการ Firebase หลายแห่งใช้ Instance ID เพื่อเพิ่มประสิทธิภาพคุณสมบัติ:
- การวิเคราะห์
- Crashlytics
- การส่งข้อความบนคลาวด์
- การกำหนดค่าระยะไกล
จัดการข้อมูลแอปที่เกี่ยวข้องกับรหัสอินสแตนซ์
บริการที่ใช้รหัสอินสแตนซ์เพื่อระบุการติดตั้งยังใช้เป็นกุญแจสำคัญในการเชื่อมโยงข้อมูลที่เกี่ยวข้องกับอุปกรณ์นั้นด้วย ตัวอย่างเช่น Crashlytics ใช้รหัสอินสแตนซ์เพื่อบันทึกข้อขัดข้องที่เกิดขึ้นบนอุปกรณ์ การกำหนดค่าระยะไกลใช้เพื่อดึงข้อมูลการกำหนดค่า และ Analytics ใช้รหัสอินสแตนซ์เพื่อติดตามผู้ชมเฉพาะกลุ่ม
โดยทั่วไปข้อมูลที่เชื่อมโยงกับรหัสอินสแตนซ์จะ ไม่ ระบุตัวตนส่วนบุคคล แต่การให้ทางเลือกแก่ผู้ใช้ในการจัดการข้อมูลดังกล่าวยังอาจเป็นประโยชน์ ด้วยเหตุนี้ Firebase จึงเสนอสองวิธีในการจัดการการรวบรวมข้อมูลที่เกี่ยวข้องกับรหัสอินสแตนซ์:
- ลบ ID อินสแตนซ์ คุณสามารถลบ ID อินสแตนซ์ได้ด้วยการเรียก API ฝั่งเซิร์ฟเวอร์หรือไคลเอ็นต์ การลบ ID อินสแตนซ์จะลบ ID เองและข้อมูลทั้งหมดที่เกี่ยวข้องด้วย
- ปิดการใช้งานบริการที่สร้าง ID บริการ Firebase ส่วนใหญ่ที่ใช้รหัสอินสแตนซ์จะสร้างรหัสใหม่โดยอัตโนมัติหากไม่มีรหัสบนอุปกรณ์เมื่อเริ่มต้นระบบ เพื่อให้แน่ใจว่าแอปของคุณจะไม่สร้างรหัสอินสแตนซ์ที่ไม่ต้องการ ให้ปิดใช้การเริ่มต้นอัตโนมัติสำหรับบริการเหล่านั้น
ลบ ID อินสแตนซ์
การลบรหัสอินสแตนซ์จะลบข้อมูลที่เชื่อมโยงกับรหัสนั้นในบริการ Firebase ที่ระบุไว้ข้างต้นด้วย นั่นทำให้การลบ ID เป็นเครื่องมือที่มีประโยชน์ในการล้างข้อมูลผู้ใช้ แต่ยังมาพร้อมกับข้อแม้: หากคุณใช้บริการหลายอย่างที่ต้องอาศัยรหัสอินสแตนซ์ การลบ ID จะเป็นการล้างข้อมูลออกจากบริการ ทั้งหมด
บริการรหัสอินสแตนซ์จะสร้างรหัสใหม่ภายในสองสามวัน เว้นแต่คุณจะปิดใช้งานบริการสร้างรหัสอินสแตนซ์ทั้งหมดในแอปของคุณ Firebase ถือว่ารหัสที่สร้างขึ้นใหม่เป็นอินสแตนซ์ของแอปใหม่ และไม่เชื่อมโยงกับรหัสก่อนหน้าในทางใดทางหนึ่ง
ลบ ID ด้วยการเรียก API ของไคลเอ็นต์
หากต้องการลบ ID ที่สร้างโดยบริการ Firebase ให้เรียกวิธีการที่เหมาะสมจาก Firebase Instance ID API:
สวิฟท์
InstanceID.instanceID().deleteID { error in
if let error = error {
print("Error deleting instance ID: \(error)")
}
}
วัตถุประสงค์-C
[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
if error != nil {
NSLog(@"Error deleting instance ID: %@", error);
}
}];
หุ่นยนต์
FirebaseInstanceId.deleteInstanceId();
ลบ ID ด้วยการเรียก API ของเซิร์ฟเวอร์
หากต้องการลบรหัสอินสแตนซ์ด้วยการเรียก API ของเซิร์ฟเวอร์ ให้เพิ่ม Firebase Admin SDK ไปยังเซิร์ฟเวอร์ของคุณ หากคุณยังไม่ได้ดำเนินการ
เมื่อเพิ่มแล้ว ให้ลบ ID ผ่านการเรียกไปยังฟังก์ชันการลบ ID อินสแตนซ์ในภาษาที่คุณเลือก:
โหนด js
// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';
admin.instanceId().deleteInstanceId(idToDelete);
ชวา
// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";
FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();
หลาม
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)
ไป
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)
}
เมื่อคุณลบรหัสอินสแตนซ์ด้วยการเรียก API ของเซิร์ฟเวอร์ บริการ Firebase จะลบข้อมูลที่เกี่ยวข้อง หยุดการยอมรับข้อมูลใหม่สำหรับรหัสนั้น และแจ้งให้แอปไคลเอ็นต์ทราบว่ารหัสถูกลบแล้วภายในไม่กี่วัน จนกว่า Firebase จะแจ้งแอปไคลเอ็นต์ บริการบางอย่างของแอปอาจมีฟังก์ชันการทำงานลดลง
หากคุณต้องการลบรหัสอินสแตนซ์ปัจจุบันและใช้บริการ Firebase ด้วยรหัสอิสระใหม่ทันที ให้ใช้ Client API รายการใดรายการหนึ่งด้านบนเพื่อจัดการกับการลบ
ปิดใช้งานการสร้างรหัสอินสแตนซ์
บริการที่ใช้รหัสอินสแตนซ์จะสร้างรหัสใหม่โดยอัตโนมัติเมื่อเริ่มต้นในแอปที่ยังไม่มีในปัจจุบัน โดยทั่วไปแล้ว บริการเหล่านั้นจะเริ่มต้นโดยอัตโนมัติเมื่อแอปของคุณเปิดตัว หากต้องการปิดใช้การสร้างรหัสอินสแตนซ์ คุณต้องปิดใช้การเริ่มต้นอัตโนมัติสำหรับบริการที่ใช้งาน
แนวทางทั่วไปคือการให้ทางเลือกแก่ผู้ใช้ในการเลือกใช้การรวบรวมข้อมูล: ปิดใช้การเริ่มต้นอัตโนมัติสำหรับบริการที่ใช้รหัสอินสแตนซ์ ใช้กล่องโต้ตอบที่แจ้งให้ผู้ใช้ยินยอมในการรวบรวมข้อมูล และเปิดใช้บริการอีกครั้งด้วยตนเองหนึ่งครั้ง คุณได้รับความยินยอม
อ่านคำแนะนำด้านล่างเพื่อดูวิธีปิดใช้งานการกำหนดค่าเริ่มต้นอัตโนมัติสำหรับบริการที่ใช้ Instance-ID และกำหนดค่าเริ่มต้นด้วยตนเองแทน:
- Cloud Messaging: ป้องกันการเริ่มต้นอัตโนมัติ (Android) หรือ ป้องกันการเริ่มต้นอัตโนมัติ (iOS+)
- การรายงานข้อขัดข้อง: เปิดใช้งานการรายงานการเลือกเข้าร่วม
- การวิเคราะห์: กำหนดค่าการรวบรวมข้อมูล Analytics
รหัสอินสแตนซ์ระบุการติดตั้งแอปของคุณเป็นรายบุคคล เนื่องจากแต่ละ ID อินสแตนซ์นั้นไม่ซ้ำกันสำหรับแอปและอุปกรณ์ใดโดยเฉพาะ จึงทำให้บริการ Firebase มีช่องทางในการอ้างถึงอินสแตนซ์ของแอปที่เฉพาะเจาะจง ตัวอย่างเช่น Cloud Messaging ใช้รหัสอินสแตนซ์เพื่อกำหนดอุปกรณ์ที่จะส่งข้อความไป
บริการ Firebase หลายแห่งใช้ Instance ID เพื่อเพิ่มประสิทธิภาพคุณสมบัติ:
- การวิเคราะห์
- Crashlytics
- การส่งข้อความบนคลาวด์
- การกำหนดค่าระยะไกล
จัดการข้อมูลแอปที่เกี่ยวข้องกับรหัสอินสแตนซ์
บริการที่ใช้รหัสอินสแตนซ์เพื่อระบุการติดตั้งยังใช้เป็นกุญแจสำคัญในการเชื่อมโยงข้อมูลที่เกี่ยวข้องกับอุปกรณ์นั้นด้วย ตัวอย่างเช่น Crashlytics ใช้รหัสอินสแตนซ์เพื่อบันทึกข้อขัดข้องที่เกิดขึ้นบนอุปกรณ์ การกำหนดค่าระยะไกลใช้เพื่อดึงข้อมูลการกำหนดค่า และ Analytics ใช้รหัสอินสแตนซ์เพื่อติดตามผู้ชมเฉพาะกลุ่ม
โดยทั่วไปข้อมูลที่เชื่อมโยงกับรหัสอินสแตนซ์จะ ไม่ ระบุตัวตนส่วนบุคคล แต่การให้ทางเลือกแก่ผู้ใช้ในการจัดการข้อมูลดังกล่าวยังอาจเป็นประโยชน์ ด้วยเหตุนี้ Firebase จึงเสนอสองวิธีในการจัดการการรวบรวมข้อมูลที่เกี่ยวข้องกับรหัสอินสแตนซ์:
- ลบ ID อินสแตนซ์ คุณสามารถลบ ID อินสแตนซ์ได้ด้วยการเรียก API ฝั่งเซิร์ฟเวอร์หรือไคลเอ็นต์ การลบ ID อินสแตนซ์จะลบ ID เองและข้อมูลทั้งหมดที่เกี่ยวข้องด้วย
- ปิดการใช้งานบริการที่สร้าง ID บริการ Firebase ส่วนใหญ่ที่ใช้รหัสอินสแตนซ์จะสร้างรหัสใหม่โดยอัตโนมัติหากไม่มีรหัสบนอุปกรณ์เมื่อเริ่มต้นระบบ เพื่อให้แน่ใจว่าแอปของคุณจะไม่สร้างรหัสอินสแตนซ์ที่ไม่ต้องการ ให้ปิดใช้การเริ่มต้นอัตโนมัติสำหรับบริการเหล่านั้น
ลบ ID อินสแตนซ์
การลบรหัสอินสแตนซ์จะลบข้อมูลที่เชื่อมโยงกับรหัสนั้นในบริการ Firebase ที่ระบุไว้ข้างต้นด้วย นั่นทำให้การลบ ID เป็นเครื่องมือที่มีประโยชน์ในการล้างข้อมูลผู้ใช้ แต่ยังมาพร้อมกับข้อแม้: หากคุณใช้บริการหลายอย่างที่ต้องอาศัยรหัสอินสแตนซ์ การลบ ID จะเป็นการล้างข้อมูลออกจากบริการ ทั้งหมด
บริการรหัสอินสแตนซ์จะสร้างรหัสใหม่ภายในสองสามวัน เว้นแต่คุณจะปิดใช้งานบริการสร้างรหัสอินสแตนซ์ทั้งหมดในแอปของคุณ Firebase ถือว่ารหัสที่สร้างขึ้นใหม่เป็นอินสแตนซ์ของแอปใหม่ และไม่เชื่อมโยงกับรหัสก่อนหน้าในทางใดทางหนึ่ง
ลบ ID ด้วยการเรียก API ของไคลเอ็นต์
หากต้องการลบ ID ที่สร้างโดยบริการ Firebase ให้เรียกวิธีการที่เหมาะสมจาก Firebase Instance ID API:
สวิฟท์
InstanceID.instanceID().deleteID { error in
if let error = error {
print("Error deleting instance ID: \(error)")
}
}
วัตถุประสงค์-C
[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
if error != nil {
NSLog(@"Error deleting instance ID: %@", error);
}
}];
หุ่นยนต์
FirebaseInstanceId.deleteInstanceId();
ลบ ID ด้วยการเรียก API ของเซิร์ฟเวอร์
หากต้องการลบรหัสอินสแตนซ์ด้วยการเรียก API ของเซิร์ฟเวอร์ ให้เพิ่ม Firebase Admin SDK ไปยังเซิร์ฟเวอร์ของคุณ หากคุณยังไม่ได้ดำเนินการ
เมื่อเพิ่มแล้ว ให้ลบ ID ผ่านการเรียกไปยังฟังก์ชันการลบ ID อินสแตนซ์ในภาษาที่คุณเลือก:
โหนด js
// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';
admin.instanceId().deleteInstanceId(idToDelete);
ชวา
// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";
FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();
หลาม
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)
ไป
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)
}
เมื่อคุณลบรหัสอินสแตนซ์ด้วยการเรียก API ของเซิร์ฟเวอร์ บริการ Firebase จะลบข้อมูลที่เกี่ยวข้อง หยุดการยอมรับข้อมูลใหม่สำหรับรหัสนั้น และแจ้งให้แอปไคลเอ็นต์ทราบว่ารหัสถูกลบแล้วภายในไม่กี่วัน จนกว่า Firebase จะแจ้งแอปไคลเอ็นต์ บริการบางอย่างของแอปอาจมีฟังก์ชันการทำงานลดลง
หากคุณต้องการลบรหัสอินสแตนซ์ปัจจุบันและใช้บริการ Firebase ด้วยรหัสอิสระใหม่ทันที ให้ใช้ Client API รายการใดรายการหนึ่งด้านบนเพื่อจัดการกับการลบ
ปิดใช้งานการสร้างรหัสอินสแตนซ์
บริการที่ใช้รหัสอินสแตนซ์จะสร้างรหัสใหม่โดยอัตโนมัติเมื่อเริ่มต้นในแอปที่ยังไม่มีในปัจจุบัน โดยทั่วไปแล้ว บริการเหล่านั้นจะเริ่มต้นโดยอัตโนมัติเมื่อแอปของคุณเปิดตัว หากต้องการปิดใช้การสร้างรหัสอินสแตนซ์ คุณต้องปิดใช้การเริ่มต้นอัตโนมัติสำหรับบริการที่ใช้งาน
แนวทางทั่วไปคือการให้ทางเลือกแก่ผู้ใช้ในการเลือกใช้การรวบรวมข้อมูล: ปิดใช้การเริ่มต้นอัตโนมัติสำหรับบริการที่ใช้รหัสอินสแตนซ์ ใช้กล่องโต้ตอบที่แจ้งให้ผู้ใช้ยินยอมในการรวบรวมข้อมูล และเปิดใช้บริการอีกครั้งด้วยตนเองหนึ่งครั้ง คุณได้รับความยินยอม
อ่านคำแนะนำด้านล่างเพื่อดูวิธีปิดใช้งานการกำหนดค่าเริ่มต้นอัตโนมัติสำหรับบริการที่ใช้ Instance-ID และกำหนดค่าเริ่มต้นด้วยตนเองแทน:
- Cloud Messaging: ป้องกันการเริ่มต้นอัตโนมัติ (Android) หรือ ป้องกันการเริ่มต้นอัตโนมัติ (iOS+)
- การรายงานข้อขัดข้อง: เปิดใช้งานการรายงานการเลือกเข้าร่วม
- การวิเคราะห์: กำหนดค่าการรวบรวมข้อมูล Analytics