Customized chat applications powered by the PubNub Chat SDK
This application is designed to be used in conjunction with the Chat Builder Dashboard
Web (TypeScript) | Android | iOS | |
---|---|---|---|
Description | Web app written in React (Next.js) | Native Android application written in Kotlin | Native iOS application written in Swift |
SDK | PubNub JavaScript Chat SDK | PubNub Kotlin Chat SDK | PubNub Swift Chat SDK |
Status | Mostly Complete | In Progress | In Progress |
Platform ReadMe | Web ReadMe | Android ReadMe | iOS ReadMe |
Feature | Description | Docs |
---|---|---|
Logging In | The demo allows you to choose from one of a list of pre-existing users | |
Public Channels | Channels anybody can join and send / receive messages | Docs |
Sending & Receiving messages | Send a receive messages reliably and at scale using PubNub's infrastructure | Docs |
Message History | Store and retrieve any number of historic messages, per channel. | Docs |
Message Reactions (emoji) | Add emoji reactions and updates others in real-time that a message's reactions have changed. | Docs |
Quoting a Message | Add context to your message by quoting a previous messages | Docs |
Pinning a Message | Pin a message on a per-channel basis | Docs |
Replying in a Thread | Message threads are first class citizens to keep conversations organized. | Docs |
Forward a Message | Forward a message from one channel to another | Docs |
Edit Messages | Change a message's contents whilst keeping a record of all changes made. | Docs |
Delete Messages | Delete a message which can be (optionally) later recovered. | Docs |
Restore a deleted Message | Restore a previously deleted message | Docs |
Report a Message for moderation | Notify an administrator that a message needs attention (uses BizOps Workspace) | Docs |
Private Groups | A group (channel) intended for a predefined selection of users. | Docs |
Direct (1:1) Conversations | A channel designed for 2 participants only | Docs |
Group (Channel) Settings | Change the metadata associated with a channel such as name or display background | Docs |
Read Receipts | Keep track of which messages have been sent and read | Docs |
Typing Indicator | Be notified when a user or users are typing on a per-channel basis. | Docs |
Unread Messages | Keep track of unread messages per-channel and catch-up on missed activity when reloading the application | Docs |
Marking Messages as Read | Mark messages as read on a per-message, per-channel or global basis | Docs |
User Presence | This application shows global user presence. The Chat SDK also supports per-channel User presence. | Docs |
Adding File Attachments | Exchange file attachments such as images, video and documents. Uses PubNub's serverless storage. | Docs |
Mentioning Users | @Mention a user by name and they will be notified. | Docs |
Referencing Channels | #Reference a channel by name to add context to a message | Docs |
Your Profile | User information is stored in PubNub and edits are shared in real-time with other users | Docs |
View others' profiles | Keep track of all your app's users' public information | |
Synchronizing Updates | Updates to User or Channel metadata are shared in real-time with all app users regardless of scale. | |
Integration with BizOps Workspace User & Channel Management | Manage users and channels, i.e. see and modify their metadata, using PubNub BizOps Workspace | Docs |
Integration with BizOps Workspace Channel Monitor | Monitor and moderate individual channels | Docs |
Integration with BizOps Workspace User Moderation | Mute or Ban users so they are unable to participate in conversations | Docs |
Mobile Push Messages | Automatically send PubNub messages as FCM or APNS messages so your users can continue using your app when it is in the background on mobile. | Docs |
- Load the dashboard (https://pubnub-chat-builder.netlify.app/)
- Configure your application as needed, or use one of the predefined templates
- Create and configure a PubNub Keyset from the PubNub Admin Portal
- Provide the keyset to the dashboard and follow the instructions to run or build your application.
-
You’ll first need to sign up for a PubNub account. Once you sign up, you can get your unique PubNub keys from the PubNub Developer Portal.
-
Sign in to your PubNub Dashboard.
-
Click Apps, then Create New App.
-
Give your app a name, and click Create.
-
Click your new app to open its settings, then click its keyset.
-
The dashboard will list your keyset requirements. It is important to note the App Context settings: Check the following boxes:
User Metadata Events
,Channel Metadata Events
,Membership Events
. Uncheck the following boxes:Disallow Get All Channel Metadata
,Disallow Get All User Metadata
-
Copy the Publish and Subscribe keys and provide them to the dashboard .
Follow the instructions on the dashboard to build or run the customized application for your platform(s) of choice.
Please fork the repository if you'd like to contribute. Pull requests are always welcome.