☰ فهرست مستندات · کانالهای اعلان
کانالهای اعلان
به هر نوع اعلان اهمیت، لرزش و صدای خودش را بدهید: بهروزرسانی سفارش با لرزش، پیشنهاد تخفیف بیصدا. کانالها را در کنسول تعریف کنید، با channelId بفرستید و SDK آنها را روی گوشی میسازد.
سفارشی که ارسال شده صدا و لرزش میخواهد؛ یک تخفیف نه. در اندروید ۸ به بالا صدا، لرزش و اهمیت متعلق به کانال اعلان است و کاربر میتواند هر کانال را در تنظیمات اعلان اپ جداگانه روشن یا خاموش کند. در ابرووا پوش کانالها را یک بار در کنسول تعریف میکنید و هر پیام با channelId یکی را انتخاب میکند. SDK کانالها را روی گوشی میسازد، پس اپ شما به کدی برای کانال نیاز ندارد.
مرحله ۱: ساختن کانال در کنسول#
ابرووا پوش › کانالها را باز کنید و کانال اضافه کنید:
| تنظیم | چه میکند |
|---|---|
| کلید | همان چیزی که بهعنوان channelId میفرستید، مثلاً orders. حروف کوچک انگلیسی، رقم، _ و -. بعداً عوض نمیشود. |
| نام | چیزی که کاربر در تنظیمات اعلان اپ میبیند، به انگلیسی و فارسی (زبان گوشی یکی را انتخاب میکند). |
| اهمیت | زیاد با صدا روی صفحه ظاهر میشود. معمولی صدا دارد ولی ظاهر نمیشود. کم بیصداست و در فهرست اعلانها میماند. |
| لرزش | روشن یا خاموش. |
| صدا | صدای پیشفرض، بیصدا، یا فایل صدایی داخل اپ (res/raw در اندروید، bundle اپ در iOS). |
| سطح وقفهی iOS | خودکار (کم = passive، بقیه = active)، یا passive، active یا time-sensitive. |
هر پروژه حداکثر ۲۰ کانال میتواند داشته باشد. یک شروع خوب برای فروشگاه:
| کلید | اهمیت | لرزش | برای |
|---|---|---|---|
| orders | زیاد | روشن | تأیید سفارش، ارسال، پیک در راه |
| account | زیاد | روشن | پرداخت ناموفق، کد ورود |
| support | زیاد | روشن | پاسخ پشتیبانی |
| offers | کم | خاموش | تخفیفها و محصولات جدید |
مرحله ۲: ارسال با channelId#
در ارسال › گزینهها › کانال کانال را انتخاب کنید. از سرور خودتان channelId را اضافه کنید:
curl -X POST https://push-api.abrova.ir/push/send-to-user \
-H "x-api-key: $ABROVA_API_KEY" \
-H "x-server-secret: $ABROVA_SERVER_SECRET" \
-H "content-type: application/json" \
-d '{"userId":"user_123","title":"حراج آخر هفته","body":"۲۰٪ تخفیف روی همه چیز","channelId":"offers"}'channelId در همهی انواع ارسال کار میکند: یک دستگاه، یک کاربر، چند دستگاه، موضوع، بخش، همه، و ارسالهای زمانبندیشده.
مرحله ۳: روی گوشی چه اتفاقی میافتد#
- اندروید ۸ به بالا: SDK هنگام اجرای اپ کانالهای پروژه را میسازد، پس پیش از اولین پیام در تنظیمات اعلان اپ دیده میشوند. هر پیام روی کانال خودش و با اهمیت، لرزش و صدای همان کانال نشان داده میشود.
- اندروید ۷ و پایینتر: کانال وجود ندارد؛ SDK صدا و لرزش کانال را روی هر اعلان اعمال میکند.
- iOS: سطح وقفهی کانال اعمال میشود (iOS ۱۵ به بالا) و اگر پیام صدای خودش را نداشته باشد، صدای کانال. لرزش در آیفون تابع صدا و تنظیمات کاربر است.
- وب: کانالی که نه صدا دارد نه لرزش، اعلان بیصدا و بدون لرزش نشان میدهد. مرورگرها کانال ندارند.
این روند روی اتصال خود ابرووا و روی افزونهی اختیاری Firebase یکسان است.
کانالها به SDK اندروید 0.1.21، iOS 0.1.20، Flutter 0.1.28، React Native 0.1.21 یا وب 0.1.14 نیاز دارند. SDKهای قدیمیتر مثل قبل همهی پیامها را روی کانال پیشفرض خود نشان میدهند.
کانالهای خود اپ#
اگر اپ اندرویدی شما خودش کانال میسازد، شناسهی آن را بهعنوان channelId بفرستید. شناسهای که کانالِ پروژهی شما نیست، بهعنوان کانالِ خود اپ استفاده میشود. اگر گوشی کانالی با آن شناسه نداشته باشد، پیام مثل Firebase روی کانال پیشفرض میرود.
تغییر کانال#
- نام و توضیح: هر وقت خواستید عوض کنید. گوشیها نام کانال را تغییر میدهند.
- اهمیت، لرزش یا صدا: اندروید اجازه نمیدهد اپ اینها را برای کانالِ موجود عوض کند. SDK کانال را روی همهی گوشیها جایگزین میکند، پس تنظیمی که کاربران خودشان برای آن تغییر دادهاند از بین میرود. کنسول پیش از ذخیره هشدار میدهد.
- حذف: گوشیها در اجرای بعدی کانال را حذف میکنند. پیامهایی که هنوز نام آن را دارند روی کانال پیشفرض نشان داده میشوند.
روش درست#
- برای پیامهای تبلیغاتی هرگز لرزش نگذارید. این مهمترین دلیلی است که کاربران اعلانها را کامل خاموش میکنند.
- بهروزرسانیهای مهم (سفارش، پرداخت، پشتیبانی) و تبلیغات (پیشنهادها) را در کانالهای جدا بگذارید تا کاربر بتواند پیشنهادها را خاموش کند و بهروزرسانی سفارشها را نگه دارد.
- time-sensitive را در iOS فقط برای پیامهایی به کار ببرید که واقعاً نمیتوانند صبر کنند، مثل کد ورود. این کار در اپ قابلیت Time Sensitive Notifications لازم دارد.
بهروزرسانی: ۱۵ آبان ۱۴۰۵