Catch up on everthing we announced at this year's Firebase Summit. Learn more

بهترین روشها برای مدیریت رمزهای ثبت FCM

اگر از API های FCM برای ایجاد درخواست های ارسال به صورت برنامه ای استفاده می کنید، ممکن است متوجه شوید که با گذشت زمان، با ارسال پیام به دستگاه های غیرفعال با نشانه های ثبت نام قدیمی، منابع را هدر می دهید. این وضعیت می‌تواند بر داده‌های تحویل پیام گزارش‌شده در کنسول Firebase یا داده‌های صادر شده به BigQuery تأثیر بگذارد و به‌عنوان کاهش چشمگیر (اما نه در واقع معتبر) در نرخ‌های تحویل نشان داده شود. این راهنما برخی از اقداماتی را که می‌توانید برای اطمینان از هدف‌یابی پیام مؤثر و گزارش تحویل معتبر انجام دهید، مورد بحث قرار می‌دهد.

بهترین شیوه های اساسی

در هر برنامه‌ای که از APIهای FCM برای ایجاد درخواست‌های ارسال به‌صورت برنامه‌ریزی استفاده می‌کند، باید از چند روش اساسی پیروی کنید. بهترین شیوه های اصلی عبارتند از:

  • توکن های ثبت نام را در سرور خود ذخیره کنید. نقش مهمی برای سرور این است که توکن هر مشتری را ردیابی کند و فهرستی از توکن های فعال را به روز نگه دارد. ما اکیداً توصیه می‌کنیم یک مهر زمانی رمزی را در کد و سرورهای خود پیاده‌سازی کنید و این مهر زمانی را در فواصل زمانی منظم به‌روزرسانی کنید.
  • حذف نشانه ذخیره شده است که کهنه شده است. علاوه بر حذف توکن‌ها در موارد واضح پاسخ‌های توکن نامعتبر، احتمالاً باید سایر نشانه‌های کهنه بودن توکن را زیر نظر داشته باشید. این راهنما برخی از گزینه های شما را برای دستیابی به این هدف مورد بحث قرار می دهد.

توکن های ثبت نام را بازیابی و ذخیره کنید

در راه اندازی اولیه برنامه شما، FCM SDK یک نشانه ثبت نام برای نمونه برنامه مشتری ایجاد می کند. این نشانه‌ای است که باید در درخواست‌های ارسال هدفمند از API بگنجانید، یا اشتراک‌هایی را برای موضوعات هدف‌یابی به موضوع اضافه کنید.

همانطور که در راهنماهای راه اندازی مشتری ما اشاره، برنامه شما باید این کد در هنگام راه اندازی اولیه و ذخیره آن به سرور برنامه خود را در کنار یک زمان را بازیابی کنید. این مهر زمانی باید توسط کد و سرورهای شما پیاده سازی شود، زیرا توسط FCM SDK برای شما ارائه نشده است.

همچنین، مهم است که رمز را در سرور ذخیره کنید و هر زمان که زمان تغییر کرد، مانند زمانی که:

  • برنامه در یک دستگاه جدید بازیابی می شود
  • کاربر برنامه را حذف/نصب مجدد می کند
  • کاربر داده های برنامه را پاک می کند.

پاسخ‌های رمز نامعتبر از باطن FCM را شناسایی کنید

مطمئن شوید که پاسخ‌های رمز نامعتبر از FCM را شناسایی کرده‌اید و با حذف هر گونه نشانه ثبتی که نامعتبر شناخته شده‌اند از سیستم خود پاسخ دهید. با HTTP v1 API، این پیام‌های خطا ممکن است نشان دهند که درخواست ارسال شما نشانه‌های قدیمی یا نامعتبر را هدف قرار داده است:

  • UNREGISTERED (HTTP 404)
  • INVALID_ARGUMENT (HTTP 400)

مشاهده ErrorCodes برای اطلاعات بیشتر.

اگر یکی از این پاسخ‌ها را برای یک توکن هدفمند دریافت کردید، می‌توانید رکورد خود را از این توکن حذف کنید، زیرا دیگر هرگز معتبر نخواهد بود. با این حال، به خاطر داشته باشید که هنوز مواردی وجود خواهد داشت که یک توکن در واقع نامعتبر است، اما هیچ نشانه ای از آن وجود ندارد. برای مثال، گاهی اوقات پشتیبان FCM نمی تواند تأیید کند که آیا دستگاهی به طور دائم آفلاین شده است یا خیر.

اطمینان از تازگی رمز ثبت نام

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

توکن ها را به طور منظم به روز کنید

توصیه می کنیم به طور دوره ای تمام نشانه های ثبت نام را در سرور خود بازیابی و به روز کنید. این امر مستلزم این است که:

  • اضافه کردن منطق برنامه در برنامه مشتری خود را برای بازیابی فعلی رمز با استفاده از API تماس مناسب (مانند token(completion): برای سیستم عامل های اپل و یا getToken() برای آندروید) و سپس ارسال با نشانه فعلی به سرور برنامه خود را برای ذخیره سازی (با برچسب زمان ). این می تواند یک کار ماهانه باشد که برای پوشش همه مشتریان/توکن ها پیکربندی شده است.
  • منطق سرور را اضافه کنید تا مهر زمانی نشانه را در فواصل زمانی منظم به روز کنید، صرف نظر از اینکه آیا توکن تغییر کرده است یا خیر.

از هر الگوی زمانی که پیروی می کنید، مطمئن شوید که توکن ها را به صورت دوره ای به روز کنید. به‌روزرسانی یک بار در ماه احتمالاً تعادل خوبی بین تأثیر باتری در مقابل شناسایی نشانه‌های ثبت نام غیرفعال ایجاد می‌کند. با انجام این به روز رسانی، همچنین اطمینان حاصل می کنید که هر دستگاهی که غیرفعال می شود، پس از فعال شدن مجدد، ثبت خود را تازه می کند. انجام رفرش بیشتر از هر هفته هیچ فایده ای ندارد.

لغو اشتراک نشانه های قدیمی از موضوعات

مدیریت اشتراک موضوعات برای حذف توکن‌های ثبت نام قدیمی یکی دیگر از نکات است. شامل دو مرحله است:

  1. برنامه شما باید یک بار در ماه و/یا هر زمان که نشانه ثبت نام تغییر کرد، مجدداً در موضوعات مشترک شود. این یک راه حل خوددرمانی را تشکیل می دهد، که در آن اشتراک ها به طور خودکار با فعال شدن مجدد یک برنامه دوباره ظاهر می شوند.
  2. اگر یک نمونه از برنامه آماده به کار به مدت 2 ماه (یا پنجره staleness خود را) است که شما باید آن را از موضوعات با استفاده از لغو اشتراک فایربیس محیط مدیریت SDK به حذف نقشه برداری موضوع / نشانه از باطن FCM است.

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

سنجش موفقیت تحویل

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

قبل از هدف قرار دادن پیام ها به یک توکن، در نظر بگیرید:

  • آیا Google Analytics، داده‌های جمع‌آوری‌شده در BigQuery یا سایر سیگنال‌های ردیابی نشان‌دهنده فعال بودن توکن هستند؟
  • آیا تلاش های قبلی برای تحویل به طور مداوم در یک دوره زمانی شکست خورده است؟
  • آیا توکن ثبت نام در سرورهای شما در دو ماه گذشته به روز شده است؟
  • برای دستگاه های آندروید، آیا API FCM داده گزارش درصد بالایی از عدم تحویل پیام به دلیل droppedDeviceInactive ؟

برای اطلاعات بیشتر در مورد تحویل، و تحویل پیام درک .