SDK Sendbird Chat для Android позволяет вам добавлять чат в реальном времени в ваше клиентское приложение с минимальными усилиями. Sendbird предлагает многофункциональное, масштабируемое и проверенное решение для чата, на которое полагаются такие компании, как Reddit, Hinge, PubG и Paytm.
Chat SDK предоставляет полную функциональность для обеспечения богатых возможностей чата. Его реализация начинается с добавления имени пользователя, перечисления доступных каналов, выбора или создания открытого канала или группового канала, а также получения сообщений и других событий через делегатов событий канала и возможность отправить сообщение. Поздравляем, когда эта базовая функциональность реализована, у вас теперь есть приложение для чата!
Как только это будет сделано, взгляните на все другие функции, которые поддерживает Sendbird, и добавьте то, что лучше всего подходит вашим пользователям.
Узнайте больше о Sendbird Chat для Android в документации. Если у вас есть какие-либо комментарии, вопросы или пожелания, сообщите нам об этом в сообществе Sendbird.
Минимальные требования для Chat SDK для Android:
Android 5.0 (API level 21) or higher
Java 8 or higher
Android Gradle plugin 3.4.2 or higher
Firebase Cloud Messaging 19.0.1 or higher
Примечание . Сервер Sendbird поддерживает Transport Layer Security (TLS) версий от 1.0 до 1.3. Например, в серверных регионах, где TLS 1.3 недоступен, для безопасной передачи данных будут поддерживаться более низкие версии, последовательно от 1.2 до 1.0.
Самый быстрый способ начать — использовать один из примеров приложений из репозитория образцов, создать приложение на панели управления Sendbird и скопировать App ID
в образец приложения, и все готово.
Перед установкой Sendbird Chat SDK вам необходимо создать приложение Sendbird на панели управления Sendbird. При инициализации Chat SDK вам понадобится App ID
вашего приложения Sendbird.
Примечание . Каждое приложение Sendbird можно интегрировать с одним клиентским приложением. В одном приложении пользователи могут общаться друг с другом на всех платформах, независимо от того, находятся ли они на мобильных устройствах или в Интернете.
Установить Chat SDK несложно, если вы знакомы с использованием внешних библиотек или SDK. Сначала добавьте следующий код в корневой файл build.gradle
:
allprojects {
repositories {
.. .
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Примечание. Убедитесь, что приведенный выше блок кода не добавлен в файл
build.gradle
вашего модуля.
Если вы используете Gradle 6.8 или выше, добавьте в файл settings.gradle
следующее:
dependencyResolutionManagement {
repositories {
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Затем добавьте зависимость в файл build.gradle
верхнего уровня проекта:
dependencies {
.. .
implementation ' com.sendbird.sdk:sendbird-chat:4.21.1 '
.. .
}
TLS 1.3 включен по умолчанию в Sendbird SDK для Android. Чтобы отключить его, включите следующую конфигурацию в зависимость gradle:
Примечание. Android SDK SendBird зависит от библиотеки Conscrypt для поддержки TLS 1.3.
dependencies {
implementation ( ' com.sendbird.sdk:sendbird-chat:4.21.1 ' ) {
exclude group : ' org.conscrypt ' , module : ' conscrypt-android '
}
}
Chat SDK требует системных разрешений, которые позволяют осуществлять связь с сервером Sendbird, а также читать и писать в хранилище пользовательского устройства. Чтобы предоставить системные разрешения, добавьте следующие строки в файл AndroidManifest.xml
.
< uses-permission android : name = " android.permission.INTERNET " />
< uses-permission android : name = " android.permission.READ_EXTERNAL_STORAGE " />
< uses-permission android : name = " android.permission.WRITE_EXTERNAL_STORAGE " />
Когда вы создаете APK с помощью minifyEnabled true
, добавьте следующую строку в файл правил ProGuard
модуля.
-dontwarn com.sendbird.android.shadow. **
Теперь, когда Chat SDK импортирован, мы готовы начать отправку сообщения.
Чтобы использовать функции Chat SDK, экземпляр SendbirdChat
должен быть запущен посредством аутентификации пользователя на сервере Sendbird. Этот экземпляр взаимодействует с сервером на основе проверенной учетной записи пользователя, после чего клиентское приложение пользователя может использовать функции Chat SDK.
Вот шаги для отправки вашего первого сообщения с помощью Chat SDK:
Теперь инициализируйте Chat SDK в приложении, чтобы Chat SDK мог реагировать на изменения состояния подключения в клиентских приложениях Android.
Чтобы инициализировать экземпляр SendbirdChat
, передайте APP_ID
вашего приложения Sendbird на панели управления Sendbird в качестве аргумента параметра в методе SendbirdChat.init()
. Поскольку SendbirdChat.init()
может быть только одним экземпляром, вызывайте его только один раз в клиентском приложении Android. Обычно инициализация реализуется на экране входа пользователя.
Примечание. Рекомендуется инициализировать Chat SDK в методе
onCreate()
экземпляраApplication
.
SendbirdChat . init ( InitParams ( APP_ID , applicationContext, useCaching = true ))
После инициализации с использованием метода init()
ваше клиентское приложение всегда должно быть подключено к серверу Sendbird перед вызовом каких-либо методов. Если вы попытаетесь вызвать метод без подключения, вернется ошибка ERR_CONNECTION_REQUIRED (800101)
.
Подключите пользователя к серверу Sendbird либо через уникальный идентификатор пользователя, либо в сочетании с токеном доступа. Sendbird предпочитает последний метод, поскольку он обеспечивает конфиденциальность пользователя. Первое полезно на этапе разработки или если вашему сервису не требуется дополнительная безопасность.
Подключите пользователя к серверу Sendbird, используя его уникальный идентификатор пользователя . По умолчанию сервер Sendbird может аутентифицировать пользователя по уникальному идентификатору пользователя. При запросе соединения сервер запрашивает базу данных, чтобы проверить совпадение. Любой незанятый идентификатор пользователя автоматически регистрируется как новый пользователь в системе Sendbird, в то время как существующий идентификатор может войти в систему косвенно. Идентификатор должен быть уникальным в приложении Sendbird, например, хешированный адрес электронной почты или номер телефона в вашем сервисе.
Это позволяет вам приступить к работе без необходимости вникать в детали процесса регистрации токенов, однако обязательно включите принудительное использование токенов перед запуском, поскольку запуск без этого представляет угрозу безопасности.
SendbirdChat .connect( USER_ID ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Sendbird предпочитает, чтобы вы передавали идентификатор приложения с помощью токена, поскольку это обеспечивает конфиденциальность и безопасность пользователей. Создайте пользователя вместе с его токеном доступа или выдайте токен сеанса для передачи во время соединения. Сравнение токена доступа и токена сеанса можно найти здесь. После выдачи токена пользователь должен предоставить выданный токен в методе SendbirdChat.connect()
, который используется для входа в систему.
SendbirdChat.connect()
. SendbirdChat .connect( USER_ID , AUTH_TOKEN ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Создайте открытый канал, используя следующие коды. Открытые каналы — это те каналы, в которых все пользователи вашего приложения Sendbird могут легко участвовать без приглашения.
OpenChannel .createChannel( OpenChannelCreateParams ()) { channel, e ->
if (e != null ) { // Error.
return @createChannel
}
}
Примечание . Вы также можете создать групповой канал для отправки сообщения. Дополнительные сведения см. в разделе Создание канала на странице «Групповой канал».
Войдите в открытый канал для отправки и получения сообщений.
OpenChannel .getChannel( CHANNEL_URL ) { channel, e ->
if (e != null ) { // Error.
return @getChannel
}
channel?.enter { enterError ->
if (enterError != null ) { // Error.
return @enter
}
}
}
Наконец, отправьте сообщение на канал. Существует три типа: сообщение пользователя, которое представляет собой обычный текст, файловое сообщение, которое представляет собой двоичный файл, например изображение или PDF, и сообщение администратора, которое представляет собой простой текст, также отправляемый через панель управления или платформу чата. API.
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
Размер Chat SDK — важный фактор, который следует учитывать при его интеграции в ваше приложение. Размер Chat SDK следующий:
В Sendbird мы представляем разнообразную группу скромных, дружелюбных и трудолюбивых людей, объединенных общей целью — создать новое поколение мобильных и социальных технологий с использованием чата, голоса и видео, которые меняют то, как мы работаем и живем. Мы всегда ищем замечательных людей, которые присоединятся к нашей команде. Посетите нашу страницу вакансий для получения дополнительной информации.