Installing the Chat Client SDKs
Programmable Chat has been deprecated and is no longer supported. Instead, we'll be focusing on the next generation of chat: Twilio Conversations. Find out more about the EOL process here.
If you're starting a new project, please visit the Conversations Docs to begin. If you've already built on Programmable Chat, please visit our Migration Guide to learn about how to switch.
Twilio provides client-side Programmable Chat SDKs for browser-based web applications as well as for native iOS and Android applications.
Intending to write back-end JavaScript with Twilio in Node.js to support your front-end client? Check out the Twilio Node.js SDK.
JavaScript SDK
The latest version of the JavaScript SDK for Chat is available on Twilio’s CDN. To include it on your web page, simply add the following <script>
tag:
<script src="https://media.twiliocdn.com/sdk/js/chat/v5.0/twilio-chat.min.js"></script>
The Twilio.Chat
namespace will then be available in the window scope of your JavaScript application.
The JS Programmable Chat SDK is also available from NPM.
Android SDK
The Android SDK is distributed as a direct download from Twilio’s CDN. It can also be installed directly within a Gradle build file using Maven Central.
Direct Download
Download the Programmable Chat Client library for Android from the Twilio CDN.
Maven Central
Twilio Programmable Chat is available from Maven Central.
Gradle
To install via Gradle, include the following in your Gradle build file:
allprojects {
repositories {
mavenCentral()
}
}
/**
* Declare dependencies
* @see http://www.gradle.org/docs/current/userguide/userguide_single.html#sec:how_to_declare_your_dependencies
*/
dependencies {
implementation 'com.twilio:chat-android:7.0.1'
}
iOS SDK
The Programmable Chat SDK for iOS is available through the CocoaPods and Swift Package Manager dependency managers, or by direct download.
We ship .dSYM
files which can assist in crash reporting for versions of Programmable Chat for iOS 2.3.2 and above. You can read more about integrating these dSYMs. If you use Google Firebase Crashlytics in your application, you are encouraged to perform these additional steps when integrating Programmable Chat.
CocoaPods
To install the SDK using CocoaPods, add the following to your Podfile, changing MyTarget
to the name of your target:
source 'https://github.com/CocoaPods/Specs'
target 'MyTarget' do
pod 'TwilioChatClient', '~> 5.0.1'
end
Swift Package Manager
To install the SDK with Swift Package Manager, add the following dependency to your project:
https://github.com/twilio/twilio-chat-ios
- Open your project in Xcode.
- Select File > Swift Packages > Add Package Dependency....
- Enter
https://github.com/twilio/twilio-chat-ios
into the search field in the Choose Package Repository dialog, then click Next. - Make your versioning choice and click Next.
- Add the package to one of your targets and click Finish.
Direct Download
We also offer the SDK for direct download if your project does not use CocoaPods or Swift Package Manager. To add Programmable Chat to your project, download the Chat Client framework.
- Expand the
.zip
file. - Locate the
.xcframework
file(s) inside the directory created. - Drag the
.xcframework
file(s) into your project, making sure they are dropped in the Embedded Binaries section of your project target’s settings. Select Copy items if needed when prompted. If the framework files do not appear in the Embedded Binaries for your target, you will receive aReason: image not found
error during compilation. - In the target’s Linked Frameworks section, add
libc++.tbd
as a dependency if it is not already there.
You will need to repeat these steps to add a Run Script step that calls remove_archs
for Twilio AccessManager if you are using it in your project too.
Demo and reference client applications
Core Chat SDKs
A demo client implementation for each of the SDKs is available freely via GitHub. These are updated to use the latest SDK versions and implement almost all the available functionality. These implementations are intended for reference purposes only.
Platform | Demo App |
---|---|
JavaScript | https://github.com/twilio/twilio-chat-demo-js |
iOS | https://github.com/twilio/twilio-chat-demo-ios |
Android | https://github.com/twilio/twilio-chat-demo-kotlin |
Other SDKs/Tools
Additional third-party bindings and reference implementations are available for the following frameworks.
Framework | Demo App |
---|---|
React Native | https://github.com/twilio/TwilioChatJsReactNative |
Cordova | https://github.com/twilio/twilio-chat-js-cordova-example This implementation requires the following plugins: • https://github.com/twilio/cordova-plugin-twilio-common • https://github.com/twilio/cordova-plugin-twilio-chat |
Web console | https://github.com/twilio/twilio-chat-console-webapp.js FCM pushes are functional in this demo |
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.