چابک برای ارسال پیام هنگامی که کاربر به سرور چابک متصل است (باز بودن اپلیکیشن) از سرویس آنی خود استفاده می‌کند (پیام چابک) و در صورت عدم اتصال به چابک (بسته بودن اپلیکیشن) اقدام به ارسال پوش‌نوتیفیکیشن می‌کند تا کاربر را از داشتن پیام چابک مطلع سازد. برای همین از این پس منظور از واژه پیام، همان پیام چابک است و منظور از پوش یا نوتیفیکیشن، پوش‌نوتیفیکیشن می‌باشد.

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


دریافت پیام

با پیاده‌سازی متد setOnMessageCallback قادر به دریافت پیام خواهید بود.

ChabokPush.shared.setOnMessageCallback((message){
print('Got message --> ' + message);
});

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


ارسال پیام

متد publish برای ارسال پیام از سمت کلاینت به سرور‌های چابک استفاده می‌شود. شما از این مکانیزم علاوه بر پیام‌های شخصی می‌توانید برای ارسال اطلاعات و داده‌های کاربر به سمت سرور خود (به جای ارسال با درخواست‌های کلاسیک HTTP) استفاده کنید.

ChabokPush.shared.publish(new ChabokMessage("989125336383", "default","Hello world"));

نکته: نام کانال و شناسه کاربر در متد publish باید فاقد کاراکتر / باشد.

نکته: مقدار پیش‌فرض برای نام کانال خصوصی برابر default می‌باشد.

نکته: برای ارسال پیام در یک کانال عمومی به جای عبارت USER_ID باید کاراکتر * را وارد نمایید. همچنین برای ارسال پیام در یک کانال‌ خصوصی باید USER_ID کاربر را وارد کنید. توجه داشته باشید که کاربر هنگامی پیام شما را دریافت خواهد کرد که بر روی کانال تعیین شده، عضویت داشته باشد.

کانال

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

به طور کلی کانال‌ها به دو دسته عمومی (public) و خصوصی (private) تقسیم می‌شوند. کانال شخصی برای ارسال پیام شخصی به یک کاربر به خصوص است و کانال عمومی برای انتشار پیام برای مجموعه‌ای از کاربران می‌باشد.