Instance ID چیست؟

ویژگی‌های کلیدی

علاوه بر ارائه شناسه‌های منحصر به فرد برای احراز هویت، Instance ID می‌تواند توکن‌های امنیتی را برای استفاده با سایر سرویس‌ها تولید کند. سایر ویژگی‌ها عبارتند از:

تولید توکن‌های امنیتی

شناسه نمونه (Instance ID) یک API ساده برای تولید توکن‌های امنیتی ارائه می‌دهد که به اشخاص ثالث اجازه می‌دهد به منابع مدیریت‌شده سمت سرور برنامه شما دسترسی داشته باشند.

تأیید اصالت برنامه

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

تأیید کنید که دستگاه برنامه فعال است

سرور Instance ID می‌تواند به شما بگوید که آخرین بار چه زمانی از دستگاهی که برنامه شما روی آن نصب شده است استفاده شده است. از این گزینه برای تصمیم‌گیری در مورد نگه داشتن داده‌های برنامه یا ارسال پیام فوری برای تعامل مجدد با کاربران خود استفاده کنید.

شناسایی و ردیابی برنامه‌ها

شناسه نمونه (Instance ID) در تمام نمونه‌های برنامه در سراسر جهان منحصر به فرد است، بنابراین پایگاه داده شما می‌تواند از آن برای شناسایی و ردیابی منحصر به فرد نمونه‌های برنامه استفاده کند. کد سمت سرور شما می‌تواند از طریق سرویس ابری شناسه نمونه (Instance ID) تأیید کند که یک شناسه نمونه (Instance ID) واقعی است و همان شناسه برنامه اصلی است که در سرور شما ثبت شده است. برای حفظ حریم خصوصی، برنامه شما می‌تواند یک شناسه نمونه (Instance ID) را حذف کند تا دیگر با هیچ سابقه‌ای در پایگاه داده مرتبط نباشد. دفعه بعد که برنامه شما شناسه نمونه (Instance ID) را فراخوانی می‌کند، یک شناسه نمونه کاملاً جدید دریافت می‌کند که هیچ ارتباطی با شناسه قبلی خود ندارد.

چرخه حیات شناسه نمونه

  1. سرویس Instance ID وقتی برنامه شما آنلاین می‌شود، یک InstanceID صادر می‌کند. InstanceID توسط یک جفت کلید عمومی/خصوصی پشتیبانی می‌شود که کلید خصوصی آن در دستگاه محلی ذخیره شده و کلید عمومی آن در سرویس Instance ID ثبت شده است.
  2. برنامه شما می‌تواند هر زمان که نیاز داشته باشد با استفاده از متد getID() یک InstanceID جدید درخواست کند. اگر سروری داشته باشید که از برنامه شما پشتیبانی کند، برنامه شما می‌تواند آن را روی آن ذخیره کند.
  3. برنامه شما می‌تواند در صورت نیاز با استفاده از متد getToken() از سرویس Instance ID درخواست توکن کند و مانند InstanceID ، برنامه شما می‌تواند توکن‌ها را روی سرور خود ذخیره کند. تمام توکن‌های صادر شده به برنامه شما متعلق به InstanceID برنامه هستند.
  4. توکن‌ها منحصر به فرد و امن هستند، اما برنامه شما یا سرویس Instance ID ممکن است در صورت بروز مشکل امنیتی یا زمانی که کاربر برنامه شما را در حین بازیابی دستگاه حذف و نصب مجدد می‌کند، نیاز به به‌روزرسانی توکن‌ها داشته باشد. برنامه شما باید یک شنونده (listener) پیاده‌سازی کند تا به درخواست‌های به‌روزرسانی توکن از سرویس Instance ID پاسخ دهد.

پیاده‌سازی کلاینت

شناسه نمونه (Instance ID) هم روی اندروید و هم روی iOS اجرا می‌شود. هر کدام از شما نیاز دارید که کتابخانه مناسب را در برنامه کلاینت خود قرار دهید. اندروید به سرویس‌های گوگل پلی نیاز دارد. اگر قصد تولید توکن دارید، به یک شناسه پروژه (Project ID) که توسط کنسول توسعه‌دهندگان گوگل تولید می‌شود، نیاز خواهید داشت.

برای دستورالعمل‌های دقیق، به راهنماهای پیاده‌سازی اندروید و iOS مراجعه کنید.