ارسال اعلان از پنل
بعد از فعال کردن سرویس نوتیفیکیشن، میتوانید مستقیم از پنل اپادیتور به کاربران اپ خود اعلان بفرستید؛ بدون نیاز به هیچ ابزار بیرونی.
پیشنیازها
برای اینکه دکمه ارسال فعال شود، هر سه مورد زیر لازم است:
- تیک فعال بودن سرویس در تنظیمات پروژه، بخش سرویس اعلان
- آپلود فایل
google-services.json - انتخاب کلید خصوصی فایربیس (فایل 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 از دو پروژه متفاوت هستند | هر دو فایل را از یک پروژه فایربیس بگیرید |
| هیچ دستگاه فعالی برای این گیرنده پیدا نشد | مطمئن شوید کاربران خروجی جدید را نصب کرده و حداقل یکبار اپ را باز کردهاند |