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