Ionic

Build any chat use case into your Ionic app

Quickly embed a customizable chat experience into your Ionic app using the best chat APIs, feature-rich SDKs, and a highly customizable pre-built UI.
.message { white-space: normal; overflow: hidden; border-radius: 0.75rem; border-width: 1px; border-style: solid; word-wrap: break-word; position: relative; display: inline-block; max-width: calc(100% - 6rem - 0.25rem - 0.25rem); border-color: #F2F2F2; background-color: #F2F2F2; color: #171717; } .has-avatar-spacer .message { max-width: calc(100% - 3rem - 0.25rem - 0.25rem); } .by-me .message { border-color: #171717; background-color: #171717; color: #fff; margin-right: 0.50rem; }
Dev A
Hey, I'm trying to lift state up from a child component, but I'm getting undefined errors. Any ideas?
8m ago
You
Are you passing the state and the setState function correctly as props?
6m ago
Dev A
I think so, yes.
5m ago
ok-hand
thinking
You
Maybe you're not binding the handler in the constructor. That might be the issue.
2m ago
Dev A
typing...
just now
Write a reply...
You
Hey, I’m having trouble accessing my account. It says my password is incorrect.
5m ago
SupportBot
Hi there! No problem — let’s get that sorted. Have you tried resetting your password using the 'Forgot password?' link?
4m ago
thinking
thumbs-up
You
Yes, but I haven’t received the reset email yet.
3m ago
SupportBot
Thanks for confirming. I’ve just sent a new reset link to your email. Please check your inbox and spam folder.
2m ago
SupportBot
Is there anything else I can help you with?
just now
Got it — checking my inbox now!
Quick integration
Connect users with a fully customizable chat using our real-time messaging infrastructure that works great with your Ionic backend.
Drop-in chat UI
Ship faster by using pre-built components that are highly customizable. Get up and running in just 10 minutes.
Fully-featured
All the essential messaging features you need. Replies, mentions, typing indicators, link previews, emojis, and more.
Classtime
Decathlon
Riot Games
Hyundai

TalkJS works great with Ionic

Most of the TalkJS code will live in the frontend, so it seamlessly integrates with Ionic. You can ship faster, simplify your stack, and save on development costs by using the best chat APIs and a feature-rich JavaScript SDK. It's all you need to add a fully-featured chat into your Ionic app in minutes instead of months.
<script> const currentUser = new Talk.User({ id: 79302, // your own user id name: "Nina Caldwell", email: "nina.caldwell@example.com" // for offline email fallback }); const session = new Talk.Session({ appId: "9352938974", // your TalkJS account id me: currentUser // make Nina the active user }); const other = new Talk.User({ id: "654321", name: "Sebastian", email: "sebastian@example.com" }); const conversation = session.getOrCreateConversation(Talk.oneOnOneId(me, other)); conversation.setParticipant(me); conversation.setParticipant(other); const inbox = session.createInbox(); inbox.mount(document.getElementById("chat-container")); </script>
Retreat Guru logo
We were able to offload all messaging to TalkJS — hugely simplifying our development of an otherwise complex stack.
Deryk Wenaus
CTO, Retreat Guru

Ready-made chat UI you can customize

The chat UI comes with three different layouts — that are highly customizable — which you can mix and match to suit your needs. You have complete control over the styling, the layout, and document structure of the chat messages and the possibility to show metadata.
Inbox
The TalkJS Inbox shows the chat history on the left, selected conversation on the right. It's designed to act as the messaging center of your app, usually living on its own page.
Chatbox
The TalkJS Chatbox is just the right half of the Inbox UI mode. It takes up less space and is designed to be embedded in your app near an order confirmation, a booking, or user profile.
Popup
You can also show a conversation in a popup that only shows up when the user clicks a button somewhere. When shown, the popup is positioned on the bottom right of your page.