El SDK de Sendbird Chat para Android le permite agregar chat en tiempo real a su aplicación cliente con un mínimo esfuerzo. Sendbird ofrece una solución de chat probada, escalable y rica en funciones de la que dependen empresas como Reddit, Hinge, PubG y Paytm.
Chat SDK proporciona la funcionalidad completa para brindar una rica experiencia de chat. Su implementación comienza agregando un inicio de sesión de usuario, enumerando los canales disponibles, seleccionando o creando un canal abierto o un canal grupal y recibiendo mensajes y otros eventos a través de los delegados de eventos del canal y el capacidad de enviar un mensaje. Una vez que esta funcionalidad básica esté implementada, felicidades, ¡ahora tienes una aplicación de chat!
Una vez que esto esté implementado, eche un vistazo a todas las demás funciones que admite Sendbird y agregue la que funcione mejor para sus usuarios.
Obtenga más información sobre Sendbird Chat para Android en la documentación. Si tiene algún comentario, pregunta o solicitud de funciones, háganoslo saber en la comunidad de Sendbird.
Los requisitos mínimos para Chat SDK para Android son:
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
Nota : El servidor Sendbird admite Transport Layer Security (TLS) desde la versión 1.0 hasta la 1.3. Por ejemplo, en las regiones de servidores donde TLS 1.3 no está disponible, se admitirán versiones inferiores, secuencialmente de 1.2 a 1.0, para la transmisión segura de datos.
La forma más rápida de comenzar es usar una de las aplicaciones de muestra del repositorio de muestras, crear una aplicación en el panel de Sendbird y copiar el App ID
en la aplicación de muestra y estará listo para comenzar.
Antes de instalar Sendbird Chat SDK, debe crear una aplicación Sendbird en el Panel de Sendbird. Necesitará el App ID
de su aplicación Sendbird al inicializar el SDK de Chat.
Nota : Cada aplicación Sendbird se puede integrar con una única aplicación cliente. Dentro de la misma aplicación, los usuarios pueden comunicarse entre sí en todas las plataformas, ya sea en dispositivos móviles o en la web.
Instalar Chat SDK es sencillo si está familiarizado con el uso de bibliotecas o SDK externos. Primero, agregue el siguiente código a su archivo raíz build.gradle
:
allprojects {
repositories {
.. .
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Nota: Asegúrese de que el bloque de código anterior no esté agregado al archivo
build.gradle
de su módulo.
Si usa Gradle 6.8 o superior, agregue lo siguiente a su archivo settings.gradle
:
dependencyResolutionManagement {
repositories {
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Luego, agregue la dependencia al archivo build.gradle
de nivel superior del proyecto:
dependencies {
.. .
implementation ' com.sendbird.sdk:sendbird-chat:4.21.1 '
.. .
}
TLS 1.3 está habilitado de forma predeterminada en Sendbird SDK para Android. Para deshabilitarlo, incluya la siguiente configuración en la dependencia de Gradle:
Nota: El SDK de SendBird para Android depende de la biblioteca Conscrypt para admitir TLS 1.3
dependencies {
implementation ( ' com.sendbird.sdk:sendbird-chat:4.21.1 ' ) {
exclude group : ' org.conscrypt ' , module : ' conscrypt-android '
}
}
Chat SDK requiere permisos del sistema, que permiten la comunicación con el servidor Sendbird y la lectura y escritura en el almacenamiento del dispositivo de un usuario. Para otorgar permisos del sistema, agregue las siguientes líneas a su archivo 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 " />
Cuando cree su APK con minifyEnabled true
, agregue la siguiente línea al archivo de reglas ProGuard
del módulo.
-dontwarn com.sendbird.android.shadow. **
Ahora que se importó el SDK de Chat, estamos listos para comenzar a enviar un mensaje.
Para utilizar las funciones del SDK de Chat, se debe iniciar una instancia SendbirdChat
mediante la autenticación del usuario con el servidor Sendbird. Esta instancia se comunica e interactúa con el servidor basándose en una cuenta de usuario autenticada y luego la aplicación cliente del usuario puede usar las funciones de Chat SDK.
Estos son los pasos para enviar su primer mensaje usando Chat SDK:
Ahora, inicialice el SDK de Chat en la aplicación para permitir que responda a los cambios en el estado de la conexión en las aplicaciones cliente de Android.
Para inicializar la instancia SendbirdChat
, pase el APP_ID
de su aplicación Sendbird en el Panel de Sendbird como argumento para un parámetro en el método SendbirdChat.init()
. Como SendbirdChat.init()
solo puede ser una instancia única, llámalo solo una vez en tu aplicación cliente de Android. Normalmente, la inicialización se implementa en la pantalla de inicio de sesión del usuario.
Nota: Se recomienda inicializar el SDK de Chat en el método
onCreate()
de la instancia deApplication
.
SendbirdChat . init ( InitParams ( APP_ID , applicationContext, useCaching = true ))
Después de la inicialización mediante el uso del método init()
, su aplicación cliente siempre debe estar conectada al servidor Sendbird antes de llamar a cualquier método. Si intenta llamar a un método sin conectarse, se devolverá un error ERR_CONNECTION_REQUIRED (800101)
.
Conecte un usuario al servidor Sendbird a través de una ID de usuario única o en combinación con un token de acceso. Sendbird prefiere el último método, ya que garantiza la privacidad del usuario. El primero es útil durante la fase de desarrollo o si su servicio no requiere seguridad adicional.
Conecte un usuario al servidor Sendbird utilizando su ID de usuario único. De forma predeterminada, el servidor Sendbird puede autenticar a un usuario mediante una identificación de usuario única. Al solicitar una conexión, el servidor consulta la base de datos para buscar una coincidencia. Cualquier identificación de usuario no utilizada se registra automáticamente como un nuevo usuario en el sistema Sendbird, mientras que una identificación existente puede iniciar sesión indirectamente. La identificación debe ser única dentro de una aplicación Sendbird, como una dirección de correo electrónico codificada o un número de teléfono en su servicio.
Esto le permite comenzar a funcionar sin tener que profundizar en los detalles del proceso de registro de tokens; sin embargo, asegúrese de habilitar la aplicación de tokens antes del lanzamiento, ya que es un riesgo de seguridad hacerlo sin hacerlo.
SendbirdChat .connect( USER_ID ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Sendbird prefiere que pase el ID de la aplicación mediante el uso de un token, ya que garantiza la privacidad y seguridad de los usuarios. Cree un usuario junto con su token de acceso o emita un token de sesión para pasar durante la conexión. Puede encontrar una comparación entre un token de acceso y un token de sesión aquí. Una vez que se emite un token, el usuario debe proporcionar el token emitido en el método SendbirdChat.connect()
que se utiliza para iniciar sesión.
SendbirdChat.connect()
. SendbirdChat .connect( USER_ID , AUTH_TOKEN ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Crea un canal abierto usando los siguientes códigos. Los canales abiertos son donde todos los usuarios de su aplicación Sendbird pueden participar fácilmente sin una invitación.
OpenChannel .createChannel( OpenChannelCreateParams ()) { channel, e ->
if (e != null ) { // Error.
return @createChannel
}
}
Nota : También puedes crear un canal grupal para enviar un mensaje. Para obtener más información, consulte Crear un canal en la página de canales de grupo.
Ingresa al canal abierto para enviar y recibir mensajes.
OpenChannel .getChannel( CHANNEL_URL ) { channel, e ->
if (e != null ) { // Error.
return @getChannel
}
channel?.enter { enterError ->
if (enterError != null ) { // Error.
return @enter
}
}
}
Finalmente, envía un mensaje al canal. Hay tres tipos: un mensaje de usuario, que es un texto sin formato, un mensaje de archivo, que es un archivo binario, como una imagen o PDF, y un mensaje de administrador, que es un texto sin formato que también se envía a través del panel o la plataforma de chat. API.
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
El tamaño del Chat SDK es un factor importante a considerar al integrarlo en su aplicación. El tamaño del SDK de Chat es el siguiente:
En Sendbird, somos un grupo diverso de personas humildes, amigables y trabajadoras unidas por un propósito compartido de construir la próxima generación de tecnologías móviles y sociales, a través de chat, voz y video, que están cambiando la forma en que trabajamos y vivimos. Siempre estamos buscando personas excelentes para unirse a nuestro equipo. Consulte nuestra página de carreras para obtener más información.