شناسههای نمونه، نصبهای جداگانه برنامه شما را شناسایی میکنند. از آنجایی که هر شناسه نمونه برای یک برنامه و دستگاه خاص منحصر به فرد است، آنها به سرویس های Firebase راهی می دهند تا به نمونه های برنامه خاص مراجعه کنند. به عنوان مثال، پیامرسانی ابری از شناسههای نمونه استفاده میکند تا تعیین کند به کدام دستگاهها پیام ارسال کند.
چندین سرویس Firebase از شناسه های نمونه برای تقویت ویژگی های خود استفاده می کنند:
- تجزیه و تحلیل
- Crashlytics
- پیام رسانی ابری
- پیکربندی از راه دور
دادههای برنامه مرتبط با شناسههای نمونه را مدیریت کنید
سرویسهایی که از شناسههای نمونه برای شناسایی نصبها استفاده میکنند، همچنین از آنها به عنوان کلیدی برای مرتبط کردن دادههای مرتبط با آن دستگاه استفاده میکنند. به عنوان مثال، Crashlytics از شناسههای نمونه برای ضبط خرابیهایی که روی دستگاه اتفاق میافتد، Remote Config از آنها برای واکشی پیکربندیها و Analytics از شناسههای نمونه برای ردیابی مخاطبان خاص استفاده میکند.
دادههای مرتبط با شناسههای نمونه معمولاً شناسایی شخصی نیستند ، اما دادن گزینهای برای مدیریت آن به کاربران همچنان میتواند مفید باشد. برای این منظور، Firebase دو راه برای مدیریت مجموعه دادههای مربوط به Instance-ID ارائه میکند:
- شناسه های نمونه را حذف کنید. میتوانید شناسه نمونه را با یک تماس API سمت سرور یا مشتری حذف کنید. حذف شناسه نمونه، خود شناسه و تمام داده های مرتبط با آن را حذف می کند.
- سرویس هایی که شناسه تولید می کنند را غیرفعال کنید. اکثر سرویسهای Firebase که از شناسههای نمونه استفاده میکنند، اگر شناسه جدیدی در دستگاه راهاندازی نشد، بهطور خودکار یک شناسه جدید تولید میکنند. برای اطمینان از اینکه برنامه شما شناسههای نمونه ناخواسته ایجاد نمیکند، راهاندازی خودکار را برای آن سرویسها غیرفعال کنید.
یک شناسه نمونه را حذف کنید
حذف شناسه نمونه، داده های مرتبط با آن شناسه را در هر یک از سرویس های Firebase فهرست شده در بالا نیز حذف می کند. این موضوع حذف ID را به ابزاری مفید برای پاک کردن دادههای کاربر تبدیل میکند، اما یک هشدار نیز به همراه دارد: اگر از چندین سرویس متکی به شناسههای نمونه استفاده میکنید، حذف یک شناسه دادهها را از همه آنها پاک میکند.
سرویس Instance ID ظرف چند روز یک شناسه جدید ایجاد میکند، مگر اینکه همه سرویسهای تولیدکننده Instance-ID را در برنامه خود غیرفعال کنید. Firebase شناسه تازه ایجاد شده را یک نمونه برنامه کاملاً جدید می داند و به هیچ وجه آن را با شناسه قبلی مرتبط نمی کند.
یک شناسه را با تماس API مشتری حذف کنید
برای حذف شناسههای تولید شده توسط سرویسهای 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();
یک شناسه را با تماس API سرور حذف کنید
برای حذف یک شناسه نمونه با تماسهای 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)
}
وقتی یک شناسه نمونه را با یک تماس API سرور حذف میکنید، سرویسهای Firebase دادههای مرتبط را حذف میکنند، دادههای جدید را برای آن شناسه نمیپذیرند، و ظرف چند روز به برنامه مشتری اطلاع میدهند که شناسه حذف شده است. تا زمانی که Firebase برنامه مشتری را مطلع نکند، ممکن است برخی از خدمات برنامه با کاهش عملکرد مواجه شوند.
اگر میخواهید شناسه نمونه فعلی را حذف کنید و فوراً از خدمات Firebase با یک شناسه جدید و مستقل استفاده کنید، از یکی از APIهای Client در بالا برای مدیریت حذف استفاده کنید.
تولید شناسه نمونه را غیرفعال کنید
سرویسهایی که از شناسههای نمونه استفاده میکنند، زمانی که در برنامهای که در حال حاضر ندارد، مقداردهی اولیه میشوند، بهطور خودکار شناسه جدیدی تولید میکنند. معمولاً، این سرویسها بهطور خودکار هنگام راهاندازی برنامه شما نیز مقداردهی اولیه میشوند. برای غیرفعال کردن تولید شناسه نمونه، باید راهاندازی خودکار را برای سرویسهایی که از آنها استفاده میکنند، غیرفعال کنید.
یک رویکرد متداول این است که به کاربران گزینهای برای شرکت در جمعآوری دادهها داده شود: راهاندازی خودکار را برای سرویسهایی که از شناسههای نمونه استفاده میکنند غیرفعال کنید، گفتگویی را اجرا کنید که رضایت کاربران را برای جمعآوری دادهها ترغیب میکند، و سرویسها را به صورت دستی یک بار فعال کنید. شما رضایت دارید
راهنماهای زیر را بخوانید تا دریابید که چگونه راهاندازی خودکار را برای سرویسهای Instance-ID-using غیرفعال کنید و در عوض بهطور دستی آنها را مقداردهی اولیه کنید:
- Cloud Messaging: جلوگیری از راهاندازی خودکار (اندروید) یا جلوگیری از راهاندازی خودکار (iOS+)
- گزارش خرابی: گزینه Opt-in Reporting را فعال کنید
- تجزیه و تحلیل: پیکربندی مجموعه داده های تجزیه و تحلیل