إدارة بيانات معرف المثيل

تحدد معرفات المثيلات عمليات التثبيت الفردية لتطبيقك. نظرًا لأن كل معرف مثيل فريد لتطبيق وجهاز معين، فإنه يوفر لخدمات Firebase طريقة للإشارة إلى مثيلات تطبيق محددة. على سبيل المثال، تستخدم خدمة Cloud Messaging معرفات المثيلات لتحديد الأجهزة التي سيتم إرسال الرسائل إليها.

تستخدم العديد من خدمات Firebase معرفات المثيلات لتشغيل ميزاتها:

  • التحليلات
  • Crashlytics
  • المراسلة السحابية
  • التكوين عن بعد

إدارة بيانات التطبيق المرتبطة بمعرفات المثيلات

الخدمات التي تستخدم معرفات المثيلات لتحديد عمليات التثبيت تستخدمها أيضًا كمفتاح لربط البيانات ذات الصلة بهذا الجهاز. على سبيل المثال، يستخدم Crashlytics معرفات المثيلات لتسجيل الأعطال التي تحدث على الجهاز، ويستخدمها Remote Config لجلب التكوينات، ويستخدم Analytics معرفات المثيلات لتتبع جماهير معينة.

البيانات المرتبطة بمعرفات المثيلات لا تحدد الهوية الشخصية بشكل عام، ولكن لا يزال من المفيد منح المستخدمين خيارًا لإدارتها. ولتحقيق هذه الغاية، يقدم Firebase طريقتين لإدارة جمع البيانات المتعلقة بمعرف المثيل:

  • حذف معرفات المثيلات. يمكنك حذف معرف المثيل من خلال استدعاء واجهة برمجة التطبيقات (API) من جانب الخادم أو العميل. يؤدي حذف معرف المثيل إلى حذف المعرف نفسه وجميع البيانات المرتبطة به.
  • تعطيل الخدمات التي تولد معرفات. تقوم معظم خدمات Firebase التي تستخدم معرفات المثيلات بإنشاء معرف جديد تلقائيًا إذا لم يكن هناك معرف على الجهاز عند بدء التشغيل. للتأكد من أن تطبيقك لا ينشئ معرفات مثيلات غير مرغوب فيها، قم بتعطيل التهيئة التلقائية لهذه الخدمات.

حذف معرف المثيل

يؤدي حذف معرف المثيل أيضًا إلى حذف البيانات المرتبطة بهذا المعرف في أي من خدمات Firebase المذكورة أعلاه. وهذا يجعل حذف المعرف أداة مفيدة في مسح بيانات المستخدم، ولكنه يأتي أيضًا مع تحذير: إذا كنت تستخدم خدمات متعددة تعتمد على معرفات المثيلات، فإن حذف المعرف يؤدي إلى مسح البيانات منها جميعًا .

تقوم خدمة معرف المثيل بإنشاء معرف جديد في غضون أيام قليلة، إلا إذا قمت بتعطيل جميع خدمات إنشاء معرف المثيل في تطبيقك. يعتبر Firebase المعرف الذي تم إنشاؤه حديثًا بمثابة مثيل تطبيق جديد تمامًا، ولا يربطه بالمعرف السابق بأي شكل من الأشكال.

حذف معرف باستخدام استدعاء API للعميل

لحذف المعرفات التي تم إنشاؤها بواسطة خدمات Firebase، اتصل بالطريقة المناسبة من Firebase Instance ID API:

سويفت

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

ج موضوعية

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

ذكري المظهر

FirebaseInstanceId.deleteInstanceId();

حذف معرف باستخدام استدعاء API للخادم

لحذف معرف المثيل باستدعاءات واجهة برمجة تطبيقات الخادم، أضف Firebase Admin SDK إلى خادمك ، إذا لم تكن قد قمت بذلك بالفعل.

بمجرد إضافتها، احذف المعرفات من خلال الاتصال بوظيفة حذف معرف المثيل باللغة التي تختارها:

Node.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)
}

عند حذف معرف مثيل من خلال استدعاء واجهة برمجة تطبيقات الخادم، تحذف خدمات Firebase البيانات المرتبطة، وتتوقف عن قبول البيانات الجديدة لذلك المعرف، وفي غضون أيام قليلة، تُخطر تطبيق العميل بأنه تم حذف المعرف. وإلى أن يقوم Firebase بإعلام تطبيق العميل، قد تواجه بعض خدمات التطبيق وظائف منخفضة.

إذا كنت تريد حذف معرف المثيل الحالي واستخدام خدمات Firebase على الفور بمعرف جديد ومستقل، فاستخدم إحدى واجهات برمجة تطبيقات العميل المذكورة أعلاه للتعامل مع الحذف.

تعطيل إنشاء معرف المثيل

تقوم الخدمات التي تستخدم معرفات المثيلات بإنشاء معرف جديد تلقائيًا عند تهيئته في تطبيق لا يحتوي على معرف حاليًا. عادةً، تتم أيضًا تهيئة هذه الخدمات تلقائيًا عند تشغيل تطبيقك. لتعطيل إنشاء معرف المثيل، يتعين عليك تعطيل التهيئة التلقائية للخدمات التي تستخدمها.

يتمثل النهج الشائع في منح المستخدمين خيار الاشتراك في جمع البيانات: تعطيل التهيئة التلقائية للخدمات التي تستخدم معرفات المثيلات، وتنفيذ مربع حوار يطالب المستخدمين بالموافقة على جمع البيانات، وإعادة تمكين الخدمات يدويًا مرة واحدة لديك موافقة.

اقرأ الأدلة أدناه لمعرفة كيفية تعطيل التهيئة التلقائية للخدمات التي تستخدم معرف المثيل وتهيئتها يدويًا بدلاً من ذلك:

,

تحدد معرفات المثيلات عمليات التثبيت الفردية لتطبيقك. نظرًا لأن كل معرف مثيل فريد لتطبيق وجهاز معين، فإنه يوفر لخدمات Firebase طريقة للإشارة إلى مثيلات تطبيق محددة. على سبيل المثال، تستخدم خدمة Cloud Messaging معرفات المثيلات لتحديد الأجهزة التي سيتم إرسال الرسائل إليها.

تستخدم العديد من خدمات Firebase معرفات المثيلات لتشغيل ميزاتها:

  • التحليلات
  • Crashlytics
  • المراسلة السحابية
  • التكوين عن بعد

إدارة بيانات التطبيق المرتبطة بمعرفات المثيلات

الخدمات التي تستخدم معرفات المثيلات لتحديد عمليات التثبيت تستخدمها أيضًا كمفتاح لربط البيانات ذات الصلة بهذا الجهاز. على سبيل المثال، يستخدم Crashlytics معرفات المثيلات لتسجيل الأعطال التي تحدث على الجهاز، ويستخدمها Remote Config لجلب التكوينات، ويستخدم Analytics معرفات المثيلات لتتبع جماهير معينة.

البيانات المرتبطة بمعرفات المثيلات لا تحدد الهوية الشخصية بشكل عام، ولكن لا يزال من المفيد منح المستخدمين خيارًا لإدارتها. ولتحقيق هذه الغاية، يقدم Firebase طريقتين لإدارة جمع البيانات المتعلقة بمعرف المثيل:

  • حذف معرفات المثيلات. يمكنك حذف معرف المثيل من خلال استدعاء واجهة برمجة التطبيقات (API) من جانب الخادم أو العميل. يؤدي حذف معرف المثيل إلى حذف المعرف نفسه وجميع البيانات المرتبطة به.
  • تعطيل الخدمات التي تولد معرفات. تقوم معظم خدمات Firebase التي تستخدم معرفات المثيلات بإنشاء معرف جديد تلقائيًا إذا لم يكن هناك معرف على الجهاز عند بدء التشغيل. للتأكد من أن تطبيقك لا ينشئ معرفات مثيلات غير مرغوب فيها، قم بتعطيل التهيئة التلقائية لهذه الخدمات.

حذف معرف المثيل

يؤدي حذف معرف المثيل أيضًا إلى حذف البيانات المرتبطة بهذا المعرف في أي من خدمات Firebase المذكورة أعلاه. وهذا يجعل حذف المعرف أداة مفيدة في مسح بيانات المستخدم، ولكنه يأتي أيضًا مع تحذير: إذا كنت تستخدم خدمات متعددة تعتمد على معرفات المثيلات، فإن حذف المعرف يؤدي إلى مسح البيانات منها جميعًا .

تقوم خدمة معرف المثيل بإنشاء معرف جديد في غضون أيام قليلة، إلا إذا قمت بتعطيل جميع خدمات إنشاء معرف المثيل في تطبيقك. يعتبر Firebase المعرف الذي تم إنشاؤه حديثًا بمثابة مثيل تطبيق جديد تمامًا، ولا يربطه بالمعرف السابق بأي شكل من الأشكال.

حذف معرف باستخدام استدعاء API للعميل

لحذف المعرفات التي تم إنشاؤها بواسطة خدمات Firebase، اتصل بالطريقة المناسبة من Firebase Instance ID API:

سويفت

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

ج موضوعية

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

ذكري المظهر

FirebaseInstanceId.deleteInstanceId();

حذف معرف باستخدام استدعاء API للخادم

لحذف معرف المثيل باستدعاءات واجهة برمجة تطبيقات الخادم، أضف Firebase Admin SDK إلى خادمك ، إذا لم تكن قد قمت بذلك بالفعل.

بمجرد إضافتها، احذف المعرفات من خلال الاتصال بوظيفة حذف معرف المثيل باللغة التي تختارها:

Node.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)
}

عند حذف معرف مثيل من خلال استدعاء واجهة برمجة تطبيقات الخادم، تحذف خدمات Firebase البيانات المرتبطة، وتتوقف عن قبول البيانات الجديدة لذلك المعرف، وفي غضون أيام قليلة، تُخطر تطبيق العميل بأنه تم حذف المعرف. وإلى أن يقوم Firebase بإعلام تطبيق العميل، قد تواجه بعض خدمات التطبيق وظائف منخفضة.

إذا كنت تريد حذف معرف المثيل الحالي واستخدام خدمات Firebase على الفور بمعرف جديد ومستقل، فاستخدم إحدى واجهات برمجة تطبيقات العميل المذكورة أعلاه للتعامل مع الحذف.

تعطيل إنشاء معرف المثيل

تقوم الخدمات التي تستخدم معرفات المثيلات بإنشاء معرف جديد تلقائيًا عند تهيئته في تطبيق لا يحتوي على معرف حاليًا. عادةً، تتم أيضًا تهيئة هذه الخدمات تلقائيًا عند تشغيل تطبيقك. لتعطيل إنشاء معرف المثيل، يتعين عليك تعطيل التهيئة التلقائية للخدمات التي تستخدمها.

يتمثل النهج الشائع في منح المستخدمين خيار الاشتراك في جمع البيانات: تعطيل التهيئة التلقائية للخدمات التي تستخدم معرفات المثيلات، وتنفيذ مربع حوار يطالب المستخدمين بالموافقة على جمع البيانات، وإعادة تمكين الخدمات يدويًا مرة واحدة لديك موافقة.

اقرأ الأدلة أدناه لمعرفة كيفية تعطيل التهيئة التلقائية للخدمات التي تستخدم معرف المثيل وتهيئتها يدويًا بدلاً من ذلك: