پرش به مطلب اصلی

ارسال اعلان از پنل

بعد از فعال کردن سرویس نوتیفیکیشن، می‌توانید مستقیم از پنل اپ‌ادیتور به کاربران اپ خود اعلان بفرستید؛ بدون نیاز به هیچ ابزار بیرونی.

پیش‌نیازها

برای اینکه دکمه ارسال فعال شود، هر سه مورد زیر لازم است:

  1. تیک فعال بودن سرویس در تنظیمات پروژه، بخش سرویس اعلان
  2. آپلود فایل google-services.json
  3. انتخاب کلید خصوصی فایربیس (فایل Service account)

هر دو فایل باید مربوط به یک پروژه فایربیس باشند؛ اگر شناسه پروژه آن‌ها یکی نباشد، پنل پیش از ارسال به شما هشدار می‌دهد.

یادداشت

دستگاه‌ها فقط بعد از نصب خروجی جدید (که با تنظیمات فایربیس ساخته شده) در فهرست ثبت می‌شوند. کاربران مهمان هم ثبت می‌شوند و برای دریافت اعلان لازم نیست حساب کاربری بسازند.

ورود به بخش اعلان‌ها

از سه راه می‌توانید پنجره «اعلان‌های اپ» را باز کنید:

  • دکمه اعلان‌ها در صفحه اپ
  • دکمه ارسال اعلان به کاربران در تنظیمات پروژه، بخش سرویس اعلان
  • آیکن ارسال اعلان در ردیف هر کاربر، در فهرست کاربران اپ (فرم با همان کاربر پر می‌شود)

این پنجره سه سربرگ دارد: ارسال اعلان، تاریخچه و دستگاه‌ها.


فرم ارسال اعلان

فیلدتوضیح
عنوانعنوان اعلان؛ حداکثر ۱۰۰ کاراکتر
متن پیاممتن اعلان؛ حداکثر ۵۰۰ کاراکتر
گیرندههمه دستگاه‌ها، یک کاربر مشخص، یک دستگاه مشخص یا کاربران یک برچسب
مقصد بعد از لمس اعلانصفحه‌ای از اپ یا یک لینک
داده همراه اعلانیک آبجکت JSON که همراه اعلان به اپ می‌رسد

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

انتخاب گیرنده

  • همه دستگاه‌ها: به تمام دستگاه‌های فعال اپ.
  • یک کاربر مشخص: با شناسه کاربر؛ اگر کاربر چند دستگاه داشته باشد، به همه آن‌ها می‌رود.
  • یک دستگاه مشخص: با شناسه دستگاه از سربرگ «دستگاه‌ها».
  • کاربران یک برچسب: به کاربرانی که برچسب انتخابی را دارند.

مقصد بعد از لمس اعلان

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

داده همراه اعلان

در این بخش یک آبجکت JSON بنویسید؛ مثلاً:

{"orderId": 1024, "section": "offers"}
  • متن وارد شده همان‌جا اعتبارسنجی می‌شود، پس خطای نگارشی پیش از ارسال دیده می‌شود.
  • کلیدهای title، body، page_id، url، type و message_id رزرو شده‌اند و نادیده گرفته می‌شوند.
  • مقدار تودرتو به‌صورت متن JSON فرستاده می‌شود؛ در اپ می‌توانید آن را دوباره تجزیه کنید.
  • حجم این داده محدود است؛ داده بیش از حد بزرگ با پیام خطا رد می‌شود.

استفاده از داده در اپ

بعد از لمس اعلان توسط کاربر:

  • sys.notification.opened برابر true می‌شود
  • sys.notification.data داده همراه اعلان را نگه می‌دارد
  • sys.notification.current کل اطلاعات اعلان بازشده را نگه می‌دارد

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


تاریخچه

هر اعلانی که ثبت می‌کنید در این سربرگ با این اطلاعات دیده می‌شود:

ستونتوضیح
عنوان و متنمتن اعلان ارسال‌شده
گیرندهنوع گیرنده انتخاب‌شده
وضعیتدر صف، در حال ارسال، ارسال شد یا ناموفق
هدف / ارسال شده / ناموفقتعداد دستگاه‌های هدف و نتیجه ارسال
تاریخزمان ثبت اعلان

ارسال به‌صورت صف انجام می‌شود، پس ممکن است وضعیت چند لحظه بعد به‌روز شود. اعلانی که هنوز ارسال آن شروع نشده قابل حذف است؛ اعلانی که در حال ارسال است حذف نمی‌شود.


دستگاه‌ها

فهرست دستگاه‌هایی که اپ شما را نصب کرده‌اند و آماده دریافت اعلان هستند:

ستونتوضیح
کاربرکاربر متصل به این دستگاه (در صورت ورود)
دستگاهنام دستگاه
پلتفرمسیستم‌عامل دستگاه
نسخه اپنسخه نصب‌شده روی دستگاه
فعالآیا اعلان به این دستگاه ارسال می‌شود
آخرین فعالیتآخرین باری که دستگاه با سرور در ارتباط بوده

در هر ردیف دو دکمه وجود دارد: ارسال اعلان به این دستگاه (فرم ارسال را با همان دستگاه پر می‌کند) و غیرفعال کردن.

یادداشت

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


خطاهای رایج

پیامراه‌حل
سرویس اعلان برای این اپ فعال نیستدر تنظیمات پروژه، بخش سرویس اعلان، تیک «فعال بودن سرویس» را بزنید
فایل google-services.json بارگذاری نشده استفایل را از کنسول فایربیس بگیرید و آپلود کنید
کلید خصوصی فایربیس انتخاب نشده استکلید Service account را اضافه و انتخاب کنید
کلید خصوصی و فایل google-services.json از دو پروژه متفاوت هستندهر دو فایل را از یک پروژه فایربیس بگیرید
هیچ دستگاه فعالی برای این گیرنده پیدا نشدمطمئن شوید کاربران خروجی جدید را نصب کرده و حداقل یک‌بار اپ را باز کرده‌اند

مطالب مرتبط