จัดการข้อมูล ID อินสแตนซ์

รหัสอินสแตนซ์ระบุการติดตั้งแอปของคุณเป็นรายบุคคล เนื่องจากแต่ละ 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 และกำหนดค่าเริ่มต้นด้วยตนเองแทน:

,

รหัสอินสแตนซ์ระบุการติดตั้งแอปของคุณเป็นรายบุคคล เนื่องจากแต่ละ 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 และกำหนดค่าเริ่มต้นด้วยตนเองแทน: