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

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

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

پیش‌نیازها

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

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

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

یادداشت

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

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

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

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

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


ارسال فوری

در سربرگ ارسال اعلان می‌توانید پیام را فوراً برای همه دستگاه‌ها، یک کاربر، یک دستگاه یا کاربران یک برچسب بفرستید.

کارزارهای اعلان

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

انتخاب مخاطبان با شرط

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

فیلترهای قابل استفاده شامل موارد زیر است:

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

سیستم پرداخت محل پرداخت را مشخص می‌کند؛ اما مارکت نصب نشان می‌دهد نسخه اپ از کدام مارکت نصب شده است. این دو مورد لزوماً یکسان نیستند. گزینه خروجی مستقیم برای اپ‌هایی است که از هیچ مارکتی نصب نشده‌اند.

زمان‌بندی و تکرار

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

یادداشت

ارسال پیام ممکن است صف داشته باشد؛ بنابراین تغییر وضعیت و آمار ارسال همیشه بلافاصله نهایی نمی‌شود.

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

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

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

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

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

در کارزارها، به‌جای این انتخاب‌های مستقیم، می‌توانید یک مخاطب شرطی بسازید و کاربران واجد شرایط را هدف بگیرید.

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

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

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

اجرای عملکرد با لمس اعلان

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

منوی انتخاب عملکرد در فرم اعلان، فقط عملکردهای مجاز را نشان می‌دهد:

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

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

بقیه عملکردها عمداً در دسترس نیستند:

  • عملکردهایی که به یک ویجت مشخص نیاز دارند (تغییر تب، اسکرول، نمایش یا مخفی‌سازی ویجت، انیمیشن‌ها). لمس اعلان ویجتی در کار ندارد، پس این‌ها بی‌صدا سراغ ویجت اشتباه می‌رفتند.
  • عملکردهایی که به فایل یا مجوز نیاز دارند (پخش صدا، نمایش عکس، PDF، بارکدخوان). منابع و مجوزها هنگام ساخت خروجی جمع می‌شوند و عملکردی که بعد از ساخت خروجی در یک اعلان تعریف می‌شود به چیزی اشاره می‌کند که داخل بسته نیست.
  • عملکردهایی که فنی درست کار می‌کنند ولی از دل یک اعلان آزاردهنده‌اند (خروج از برنامه، خروج از حساب کاربری، تغییر صفحه اصلی، تنظیم تصویر زمینه، اجرای کد جاوااسکریپت).
حجم عملکرد

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

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

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

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

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

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

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

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


تاریخچه

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

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

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


دستگاه‌ها

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

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

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

یادداشت

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


خطاهای رایج

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

مطالب مرتبط