<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Messaging APIs - Introduction and Basic Usage on mesibo documentation</title><link>https://docs.mesibo.com/api/messaging/</link><description>Recent content in Messaging APIs - Introduction and Basic Usage on mesibo documentation</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.mesibo.com/api/messaging/index.xml" rel="self" type="application/rss+xml"/><item><title>Mesibo Real-time APIs - File Transfer and Hosting</title><link>https://docs.mesibo.com/api/messaging/file-transfer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/file-transfer/</guid><description>&lt;h3 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Just like text messages, mesibo&amp;rsquo;s real-time file transfer API allows you to send and receive any arbitrary file - images, videos, documents, audio files, and more - in real-time.&lt;/p&gt;
&lt;p&gt;By default, all media and files are stored on mesibo&amp;rsquo;s secure file servers, making it easy to get started quickly. However, many organizations - particularly those in regulated industries such as healthcare (HIPAA compliance), financial services, legal, government, and dating applications - require complete control over where and how their sensitive data is stored.&lt;/p&gt;</description></item><item><title>Mesibo Real-time Chat APIs - Forward Messages</title><link>https://docs.mesibo.com/api/messaging/forwarding-messages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/forwarding-messages/</guid><description>&lt;p&gt;In this section, we will describe how to forward existing messages and check if any incoming message was forwarded.&lt;/p&gt;
&lt;h3 id="forward-a-message"&gt;Forward a Message&lt;a class="td-heading-self-link" href="#forward-a-message" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To forward an existing message, you only need to create a &lt;code&gt;MesiboMessage&lt;/code&gt; object from the original message and &lt;code&gt;send&lt;/code&gt; it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboMessage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;origMessage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;send&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where the &lt;code&gt;profile&lt;/code&gt; is the user or group profile to whom you want to forward the message. You can change the properties of the new message like expiry, message ID, type, etc. However, you can not modify the message content.&lt;/p&gt;</description></item><item><title>Message Reply and Conversation Threading</title><link>https://docs.mesibo.com/api/messaging/conversation-threads/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/conversation-threads/</guid><description>&lt;p&gt;Conversation threading is a very useful feature that allows you to create message threads by&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Replying to messages&lt;/li&gt;
&lt;li&gt;Associating and Grouping a set of messages with something related to your apps (message context).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="threading-by-reply"&gt;Threading by Reply&lt;a class="td-heading-self-link" href="#threading-by-reply" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;You can create a message thread by replying to messages. There is no limit on the depth of the message thread and hence you can reply to a reply and so on.&lt;/p&gt;</description></item><item><title>Reading Stored Messages and Sending Read Receipts</title><link>https://docs.mesibo.com/api/messaging/reading-messages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/reading-messages/</guid><description>&lt;p&gt;This set of APIs deal with reading stored messages in the database, sending read receipts, and syncing messages across devices.&lt;/p&gt;
&lt;p&gt;To read stored messages from the database, you need to create a read session and set the criteria to read messages; for example,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;read all messages&lt;/li&gt;
&lt;li&gt;read messages from a sender&lt;/li&gt;
&lt;li&gt;read messages for a particular group&lt;/li&gt;
&lt;li&gt;read messages matching a search query&lt;/li&gt;
&lt;li&gt;read messages for a conversation thread&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="reading-modes"&gt;Reading Modes&lt;a class="td-heading-self-link" href="#reading-modes" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are two modes of operation&lt;/p&gt;</description></item><item><title>Mesibo Presence APIs - Online Status, Typing Indicators, and more</title><link>https://docs.mesibo.com/api/messaging/presence-and-typing-indicators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/presence-and-typing-indicators/</guid><description>&lt;p&gt;Mesibo presence APIs allow your active users to share their activities, for example, online and offline status, typing indicator, joining and leaving the chat, game actions, etc. as it happens in real-time. Although sending and receiving presence information is completely optional, it can greatly enhance chat engagement.&lt;/p&gt;
&lt;p&gt;Note that, presence messages are never stored and only delivered to online users.&lt;/p&gt;
&lt;p&gt;You can define and send different types of presence messages to meet your app requirements. Mesibo also has some pre-defined presence messages, as described below.&lt;/p&gt;</description></item><item><title>Sending Online and Offline Status</title><link>https://docs.mesibo.com/api/messaging/online-and-offline-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/online-and-offline-status/</guid><description>&lt;p&gt;As described in the &lt;a href="presence-and-typing-indicators.md"&gt;Mesibo presence APIs&lt;/a&gt;, users can show their Online and Offline status to other users or group members by sending Online and Offline presence. However, modern mobile OSs can suspend or kill your app without notice, and hence your app may not get an opportunity to update other users with the status. Since mesibo API knows when you are online and offline, we recommend leaving this task of sending Online and Offline presence to mesibo. You only need to configure when to show online status and privacy as described in the next section.&lt;/p&gt;</description></item><item><title>Deleting and Recalling Messages</title><link>https://docs.mesibo.com/api/messaging/deleting-and-recalling-messages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/deleting-and-recalling-messages/</guid><description>&lt;p&gt;mesibo offers a rich set of APIs for deleting, wiping, recalling or editing messages. These APIs can be utilized in various ways depending on your app logic, for example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Invoking the delete or wipe message API when a user taps to remove a message.&lt;/li&gt;
&lt;li&gt;Leveraging the &lt;a href="https://docs.mesibo.com/api/messaging/message-retraction/"&gt;message retraction APIs&lt;/a&gt; when a user wants to retract or modify a sent message.&lt;/li&gt;
&lt;li&gt;Sending &lt;a href="https://docs.mesibo.com/api/messaging/disappearing-messages/"&gt;disappearing messages&lt;/a&gt; that will be deleted after set intervals.&lt;/li&gt;
&lt;li&gt;Scheduling regular cleanup on app start by wiping old, unwanted messages that are no longer relevant.&lt;/li&gt;
&lt;li&gt;Deleting messages when user is &lt;a href="https://docs.mesibo.com/api/users-and-profiles/blocking-users/"&gt;blocked&lt;/a&gt; or &lt;a href="https://docs.mesibo.com/api//messaging/restricted-communication/"&gt;unmatched&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are different types of deletion:&lt;/p&gt;</description></item><item><title>Disappearing Messages</title><link>https://docs.mesibo.com/api/messaging/disappearing-messages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/disappearing-messages/</guid><description>&lt;p&gt;The disappearing feature allows the sender to control how long the receiver can view or store the received messages, after which the message will be deleted on both the sender and the receiver side.&lt;/p&gt;
&lt;p&gt;You can use this feature on a per-message basis to control which messages should disappear and which messages should not.&lt;/p&gt;
&lt;p&gt;Mesibo gives you fine control over how and when a message should disappear by setting &lt;code&gt;Age&lt;/code&gt;. You can set three types of &lt;code&gt;Age&lt;/code&gt; (time interval) after which the message will disappear. Depending on your app logic, you can use one or all three-time intervals.&lt;/p&gt;</description></item><item><title>Retracting or Modifying Sent Messages</title><link>https://docs.mesibo.com/api/messaging/message-retraction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/message-retraction/</guid><description>&lt;p&gt;Message retraction APIs allow users to modify or delete the sent messages. For example, to correct typos or to remove messages they didn&amp;rsquo;t mean to send.&lt;/p&gt;
&lt;p&gt;You can enable or disable different retraction features by specifying retraction policies. You can also configure the max time limit for message retraction. Any messages that are older than the retraction time limit will not be retracted. The default retraction time limit is 3600 seconds which can be set from 1 second to any arbitrarily large value. You can also set various retraction policies that we will cover later in this document.&lt;/p&gt;</description></item><item><title>Restricting Communication Audience Per User</title><link>https://docs.mesibo.com/api/messaging/restricted-communication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/restricted-communication/</guid><description>&lt;p&gt;By default, your mesibo users will be able to communicate with all the users of your apps. In addition, all the users can send and receive messages, make calls, create groups, etc. However, if you prefer, you can restrict how your app users communicate and with whom they can communicate.&lt;/p&gt;
&lt;p&gt;For example, in a dating or a social app, you may allow two users to communicate with each other only if they match, not otherwise. In addition, you need to break the communication link if they unmatch. You may even configure users to allow messaging but not calls unless they are premium users.&lt;/p&gt;</description></item><item><title>Multi-Device Login and Synchronization</title><link>https://docs.mesibo.com/api/messaging/multi-device-login-and-synchronization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/multi-device-login-and-synchronization/</guid><description>&lt;p&gt;As more and more users use multiple devices, it is an absolute necessity for all apps to support multi-device login and synchronization to maintain a consistent and smooth user experience across all their devices.&lt;/p&gt;
&lt;p&gt;mesibo offers the capability for users to sign in from multiple devices. Users have the option to log in from up to eight devices simultaneously. All their data, including messages, calls, profiles, images, files, etc. will be automatically synchronized across all their devices.&lt;/p&gt;</description></item><item><title>Log in and Synchronization Across Browser Tabs and Windows [Web Only]</title><link>https://docs.mesibo.com/api/messaging/sync-across-browser-tabs-windows/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/sync-across-browser-tabs-windows/</guid><description>&lt;p&gt;Similar to &lt;a href="https://docs.mesibo.com/api/messaging/multi-device-login-and-synchronization/"&gt;multi-device login and syncronization&lt;/a&gt; described in the previous section, you can also enable your users to log in from multiple browser windows and tabs. All the messages and calls will be synchronized between all browser windows and tabs. This feature is quite useful when you want your users to continue chatting even when they open another page of your website in a new tab, for example, Facebook pop-out chat.&lt;/p&gt;</description></item><item><title>Managing User Devices and Browser Tabs</title><link>https://docs.mesibo.com/api/messaging/supporting-multiple-user-devices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/supporting-multiple-user-devices/</guid><description>&lt;p&gt;Your users might use multiple devices simultaneously or switch devices. Depending on your use case, your app should display all messages and calls from all devices. mesibo provides multiple APIs depending on your use case. Below are the use cases:&lt;/p&gt;
&lt;h2 id="syncing-on-multiple-devices-simultaneously"&gt;Syncing on Multiple Devices Simultaneously&lt;a class="td-heading-self-link" href="#syncing-on-multiple-devices-simultaneously" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;mesibo offers the capability for users to sign in from multiple devices. Users can log in from up to eight devices simultaneously. All their data, including messages, calls, profiles, images, files, etc., will be automatically synchronized across all their devices.&lt;/p&gt;</description></item><item><title>Messaging APIs - Content Moderation and Filtering Messages</title><link>https://docs.mesibo.com/api/messaging/content-moderation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/content-moderation/</guid><description>&lt;p&gt;mesibo allows you to filter both incoming and outgoing messages as per the content moderation policy of your app, for example, profanity, personal details, URLs, file type, size, etc. It is up to you to decide what is inappropriate for your app.&lt;/p&gt;
&lt;p&gt;You can filter each incoming or outgoing message by implementing the &lt;code&gt;Mesibo_onMessageFilter&lt;/code&gt; listener. The mesibo APIs will call your &lt;code&gt;Mesibo_onMessageFilter&lt;/code&gt; listener every time a new real-time message is received or sent. You can return &lt;code&gt;true&lt;/code&gt; to pass the message or &lt;code&gt;false&lt;/code&gt; to drop the message.&lt;/p&gt;</description></item><item><title>Messaging APIs - Generating URL Preview</title><link>https://docs.mesibo.com/api/messaging/url-preview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/url-preview/</guid><description>&lt;p&gt;When you send a URL link as part of the message text or set URL using the &lt;code&gt;setContent()&lt;/code&gt; API, the mesibo can generate a rich URL preview with a title, description, thumbnail image, etc. before sending it. This feature allows users to share links including tweets, Instagram posts, YouTube videos, news articles, etc with a preview so that the recipient knows about the link before opening it.&lt;/p&gt;
&lt;p&gt;To generate a URL preview, mesibo needs to open the website, download the content and then generate a preview from it. Depending on the network speed, the process may take small time, often unnoticeable.&lt;/p&gt;</description></item><item><title>Messaging APIs - Date and Time of Message and Message Status</title><link>https://docs.mesibo.com/api/messaging/date-and-time/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/date-and-time/</guid><description>&lt;p&gt;This section describes mesibo APIs to access various timestamps associated with a message, for exammple, when message was sent, delivered or read, and how to format the timestamp in human readable date and time representations.&lt;/p&gt;
&lt;p&gt;The mesibo time and date API provides &lt;code&gt;MesiboDateTime&lt;/code&gt; object, which store timestamps in milliseconds. The &lt;code&gt;MesiboDateTime&lt;/code&gt; object offers access to various date and time components, such as year, month, day, hour, minute, second, and more. It also provides convenient functions for converting timestamps into human-readable date and time strings.&lt;/p&gt;</description></item><item><title>Messaging APIs - Setting Default Parameters</title><link>https://docs.mesibo.com/api/messaging/setting-defaults/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/setting-defaults/</guid><description>&lt;p&gt;Mesibo sets various default parameters when you create a &lt;code&gt;MesiboMessage&lt;/code&gt; object. You can override those defaults by providing your own parameters which will be used as default, for example, message expiry, type, link preview, emojify, etc.&lt;/p&gt;
&lt;h2 id="setting-default-parameters"&gt;Setting Default Parameters&lt;a class="td-heading-self-link" href="#setting-default-parameters" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To set default parameters, you only need to create a &lt;code&gt;MesiboMessage&lt;/code&gt; object with parameters of your choice and then set it as default by calling &lt;code&gt;MesiboMessage.setDefaults()&lt;/code&gt; static method.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboMessage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;defaults&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MesiboMessage&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;expiry&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;3600&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;24&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;emojify&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MesiboMessage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setDefaults&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once you set defaults, all future &lt;code&gt;MesiboMessage&lt;/code&gt; objects created by the following methods will have default parameters copied from the default you have set.&lt;/p&gt;</description></item><item><title>Mesibo - Other Messaging Functions</title><link>https://docs.mesibo.com/api/messaging/functions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/functions/</guid><description>&lt;p&gt;In this reference section, we will describe &lt;code&gt;MesiboMessage&lt;/code&gt; class functions that are not covered elsewhere or for general use.&lt;/p&gt;
&lt;h3 id="message-status-functions"&gt;Message Status Functions&lt;a class="td-heading-self-link" href="#message-status-functions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;function&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isIncoming()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the message was received (incoming)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isOutgoing()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the Message was sent or being sent (outgoing)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isInOutbox()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the message is being sent&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isSent()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the message is sent but not delivered yet&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isDelivered()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the message is delivered but not read yet&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isReadByPeer()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the message was delivered and read&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isReadByUs()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the incoming message was read&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isUnread()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the incoming message is unread&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isCustom()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the message is the custom message saved locally (not incoming or outgoing)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;isUnread()&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;returns true if the incoming message is unread&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Mesibo Messaging Properties</title><link>https://docs.mesibo.com/api/messaging/properties/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/properties/</guid><description>&lt;p&gt;In this reference section, we will describe various message properties you can set for outgoing messages and also properties you can view from any incoming or outgoing messages.&lt;/p&gt;
&lt;h3 id="message-content-properties"&gt;Message Content Properties&lt;a class="td-heading-self-link" href="#message-content-properties" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Following are the actual message content properties that you can set when sending a message. In addition, you can add a file or media using &lt;code&gt;setContent()&lt;/code&gt; function.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;Property&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Description&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Default&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;data&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Binary Data Message&lt;/td&gt;
 &lt;td style="text-align: left"&gt;null&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;message&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Text Message&lt;/td&gt;
 &lt;td style="text-align: left"&gt;null&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;title&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Message Title&lt;/td&gt;
 &lt;td style="text-align: left"&gt;null&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;subtitle&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Message Subtitle&lt;/td&gt;
 &lt;td style="text-align: left"&gt;null&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;footer&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Message Footer&lt;/td&gt;
 &lt;td style="text-align: left"&gt;null&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;latitude&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Location - Latitude&lt;/td&gt;
 &lt;td style="text-align: left"&gt;-720 (out of range)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;longitude&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;Location - Longitude&lt;/td&gt;
 &lt;td style="text-align: left"&gt;-720 (out of range)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="messaging-endpoint-properties"&gt;Messaging Endpoint Properties&lt;a class="td-heading-self-link" href="#messaging-endpoint-properties" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Following are some of the protocol-level properties which describe the message ID, type, timestamp, remote peer, and group.&lt;/p&gt;</description></item><item><title>Mesibo Real-time Chat APIs - Messaging</title><link>https://docs.mesibo.com/api/messaging/messaging-old/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/messaging-old/</guid><description>&lt;p&gt;In this section, we will describe how to send messages.&lt;/p&gt;
&lt;h2 id="basic-usage"&gt;Basic Usage&lt;a class="td-heading-self-link" href="#basic-usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To send messages, you only need to create a &lt;code&gt;MesiboMessage&lt;/code&gt; object for the destination, add your content (text message, files, location, etc.), set message properties if requires, and call &lt;code&gt;send&lt;/code&gt; method. You can create a &lt;code&gt;MesiboMessage&lt;/code&gt; object by calling&lt;/p&gt;
&lt;h3 id="create"&gt;Create&lt;a class="td-heading-self-link" href="#create" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;MesiboMessage message = profile.newMessage();
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;OR,&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;MesiboMessage message = new MesiboMessage(profile);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;where the &lt;code&gt;profile&lt;/code&gt; is the user or group profile to whom you want to send a message. Once you create a &lt;code&gt;MesiboMessage&lt;/code&gt; object, all you need to do is to add your message content and call &lt;code&gt;send()&lt;/code&gt;. There is no difference between how you send messages to an individual user or a group, the destination is set based on the profile you have used to create &lt;code&gt;MesiboMessage&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Real-time Chat APIs - Utility</title><link>https://docs.mesibo.com/api/messaging/utility/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.mesibo.com/api/messaging/utility/</guid><description>&lt;p&gt;Following are some of the utility APIs which you can use in your apps. Ensure that you have the necessary permissions from the app users to use these APIs.&lt;/p&gt;
&lt;h2 id="networking-timings-and-other-utility-apis"&gt;Networking, Timings and other Utility APIs&lt;a class="td-heading-self-link" href="#networking-timings-and-other-utility-apis" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="getnetworkconnectivity-android-and-ios-only"&gt;getNetworkConnectivity [Android and iOS only]&lt;a class="td-heading-self-link" href="#getnetworkconnectivity-android-and-ios-only" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Returns current network connectivity. It can be one of the following&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CONNECTIVITY_UNKNOWN&lt;/li&gt;
&lt;li&gt;CONNECTIVITY_DISCONNECTED&lt;/li&gt;
&lt;li&gt;CONNECTIVITY_WIFI&lt;/li&gt;
&lt;li&gt;CONNECTIVITY_2G&lt;/li&gt;
&lt;li&gt;CONNECTIVITY_3G&lt;/li&gt;
&lt;li&gt;CONNECTIVITY_4G&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="gettimestamp"&gt;getTimestamp&lt;a class="td-heading-self-link" href="#gettimestamp" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Returns current timestamp in milliseconds.&lt;/p&gt;
&lt;p&gt;It does not take any parameters.&lt;/p&gt;</description></item></channel></rss>