پیام چابک

ارسال پیام

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

chabok.publish({
    content: "Hello World!",
    channel: "CHANNEL_NAME",
    user: "USER_ID"
})

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

نکته: برای ارسال پیام به صورت عمومی بر روی یک کانال بجای عبارت USER_ID کاراکتر * را وارد نمایید و سپس نام کانال خصوصی خود را وارد کنید.

عضویت در کانال

کانال‌ها در چابک به بخش خصوصی و عمومی تقسیم می‌شوند قالب کانال بصورت زیر می‌باشد:

  • خصوصی : private/channel
  • عمومی : channel یا public/channel

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

chabok.subscribe("alert") // public channel
chabok.subscribe("public/sport") // public channel
chabok.subscribe("private/league") // private (personal) channel

همچنین برای لغو عضویت در یک کانال میتوانید از موارد زیر استفاده کنید:

chabok.unSubscribe("alert") // public channel
chabok.unSubscribe("public/sport") // public channel
chabok.unSubscribe("private/league") // private (personal) channel

دریافت پیام

برای دریافت پیام از سرور چابک نیز میتوانید از متدهای زیر استفاده کنید:

chabok.on('message', msg => {
  // Called When PushClientManager has been received new message from server
  console.log("${msg.content} - ${msg.createdAt}")
})

نمایش Local Notifications

برای نمایش اعلان (notification) به صورت Local روی پیام‌های بالا (دقت داشته باشید که dependency آن را اعمال کرده‌باشید) باید دستور زیر را اجرا کنید.

PushNotification.localNotification(details: Object)

مثال:

PushNotification.localNotification({
    /* Android Only Properties */
    id: '0', // (optional) Valid unique 32 bit integer specified as string. default: Autogenerated Unique ID
    ticker: "My Notification Ticker", // (optional)
    autoCancel: true, // (optional) default: true
    largeIcon: "ic_launcher", // (optional) default: "ic_launcher"
    smallIcon: "ic_notification", // (optional) default: "ic_notification" with fallback for "ic_launcher"
    bigText: "My big text that will be shown when notification is expanded", // (optional) default: "message" prop
    subText: "This is a subText", // (optional) default: none
    color: "red", // (optional) default: system default
    vibrate: true, // (optional) default: true
    vibration: 300, // vibration length in milliseconds, ignored if vibrate=false, default: 1000
    tag: 'some_tag', // (optional) add tag to message
    group: "group", // (optional) add group to message
    ongoing: false, // (optional) set whether this is an "ongoing" notification
    priority: "high", // (optional) set notification priority, default: high
    visibility: "private", // (optional) set notification visibility, default: private
    importance: "high", // (optional) set notification importance, default: high

    /* iOS only properties */
    alertAction: // (optional) default: view
    category: // (optional) default: null
    userInfo: // (optional) default: null (object containing additional notification data)

    /* iOS and Android properties */
    title: "My Notification Title", // (optional)
    message: "My Notification Message", // (required)
    playSound: false, // (optional) default: true
    soundName: 'default', // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)
    number: '10', // (optional) Valid 32 bit integer specified as string. default: none (Cannot be zero)
    repeatType: 'day', // (optional) Repeating interval. Check 'Repeating Notifications' section for more info.
    actions: '["Yes", "No"]',  // (Android only) See the doc for notification actions to know more
});