Check out what’s new from Firebase at Google I/O 2022. Learn more

اطلاعات ID نمونه را مدیریت کنید

شناسه‌های نمونه، نصب‌های جداگانه برنامه شما را شناسایی می‌کنند. از آنجایی که هر شناسه نمونه برای یک برنامه و دستگاه خاص منحصر به فرد است، آنها به سرویس های Firebase راهی می دهند تا به نمونه های برنامه خاص مراجعه کنند. برای مثال، Cloud Messaging از شناسه‌های نمونه استفاده می‌کند تا تعیین کند به کدام دستگاه‌ها پیام ارسال کند.

چندین سرویس 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 در بالا برای مدیریت حذف استفاده کنید.

تولید شناسه نمونه را غیرفعال کنید

سرویس‌هایی که از شناسه‌های نمونه استفاده می‌کنند، هنگامی که در برنامه‌ای که در حال حاضر ندارد، مقداردهی اولیه می‌شوند، به‌طور خودکار شناسه جدیدی تولید می‌کنند. معمولاً، این سرویس‌ها نیز به‌طور خودکار هنگام راه‌اندازی برنامه شما مقداردهی اولیه می‌شوند. برای غیرفعال کردن تولید ID نمونه، باید راه‌اندازی خودکار را برای سرویس‌هایی که از آن‌ها استفاده می‌کنند، غیرفعال کنید.

یک رویکرد رایج این است که به کاربران گزینه‌ای برای شرکت در جمع‌آوری داده‌ها داده شود: راه‌اندازی خودکار را برای سرویس‌هایی که از شناسه‌های نمونه استفاده می‌کنند، غیرفعال کنید، گفتگویی را پیاده‌سازی کنید که رضایت کاربران را برای جمع‌آوری داده‌ها ترغیب می‌کند، و سرویس‌ها را به صورت دستی یک بار فعال کنید. شما رضایت دارید

راهنماهای زیر را بخوانید تا دریابید که چگونه راه‌اندازی خودکار را برای سرویس‌های Instance-ID-استفاده کننده غیرفعال کنید و در عوض به‌طور دستی آنها را مقداردهی اولیه کنید: