Mit dem Sendbird Chat SDK für Android können Sie mit minimalem Aufwand Echtzeit-Chat in Ihre Client-App integrieren. Sendbird bietet eine funktionsreiche, skalierbare und bewährte Chat-Lösung, auf die sich Unternehmen wie Reddit, Hinge, PubG und Paytm verlassen.
Das Chat SDK bietet die volle Funktionalität, um ein umfassendes Chat-Erlebnis zu bieten. Die Implementierung beginnt mit dem Hinzufügen einer Benutzeranmeldung, dem Auflisten der verfügbaren Kanäle, dem Auswählen oder Erstellen eines offenen Kanals oder Gruppenkanals und dem Empfang von Nachrichten und anderen Ereignissen über Kanalereignisdelegierte und die Fähigkeit, eine Nachricht zu senden. Sobald diese Grundfunktionalität vorhanden ist, herzlichen Glückwunsch, Sie haben jetzt eine Chat-App!
Sobald dies eingerichtet ist, werfen Sie einen Blick auf alle anderen Funktionen, die Sendbird unterstützt, und fügen Sie hinzu, was für Ihre Benutzer am besten funktioniert.
Erfahren Sie mehr über Sendbird Chat für Android in der Dokumentation. Wenn Sie Kommentare, Fragen oder Funktionswünsche haben, teilen Sie uns dies in der Sendbird-Community mit.
Die Mindestanforderungen für das Chat SDK für Android sind:
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
Hinweis : Der Sendbird-Server unterstützt Transport Layer Security (TLS) von Version 1.0 bis 1.3. Beispielsweise werden in den Serverregionen, in denen TLS 1.3 nicht verfügbar ist, niedrigere Versionen, nacheinander von 1.2 bis 1.0, für eine sichere Datenübertragung unterstützt.
Der schnellste Weg zum Einstieg besteht darin, eine der Beispiel-Apps aus dem Beispiel-Repository zu verwenden, eine Anwendung im Sendbird-Dashboard zu erstellen, die App ID
in die Beispiel-App zu kopieren und schon kann es losgehen.
Bevor Sie das Sendbird Chat SDK installieren, müssen Sie eine Sendbird-Anwendung im Sendbird-Dashboard erstellen. Sie benötigen die App ID
Ihrer Sendbird-Anwendung, wenn Sie das Chat SDK initialisieren.
Hinweis : Jede Sendbird-Anwendung kann in eine einzelne Client-App integriert werden. Innerhalb derselben Anwendung können Benutzer plattformübergreifend miteinander kommunizieren, egal ob auf Mobilgeräten oder im Web.
Die Installation des Chat SDK ist einfach, wenn Sie mit der Verwendung externer Bibliotheken oder SDKs vertraut sind. Fügen Sie zunächst den folgenden Code zu Ihrer Root- Datei build.gradle
hinzu:
allprojects {
repositories {
.. .
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Hinweis: Stellen Sie sicher, dass der obige Codeblock nicht zu Ihrer Moduldatei „
build.gradle
hinzugefügt wird.
Wenn Sie Gradle 6.8 oder höher verwenden, fügen Sie Folgendes zu Ihrer Datei settings.gradle
hinzu:
dependencyResolutionManagement {
repositories {
maven { url " https://repo.sendbird.com/public/maven " }
}
}
Fügen Sie dann die Abhängigkeit zur Datei build.gradle
der obersten Ebene des Projekts hinzu:
dependencies {
.. .
implementation ' com.sendbird.sdk:sendbird-chat:4.21.1 '
.. .
}
TLS 1.3 ist im Sendbird SDK für Android standardmäßig aktiviert. Um es zu deaktivieren, fügen Sie bitte die folgende Konfiguration in die Gradle-Abhängigkeit ein:
Hinweis: Das SendBird Android SDK ist zur Unterstützung von TLS 1.3 auf die Conscrypt-Bibliothek angewiesen
dependencies {
implementation ( ' com.sendbird.sdk:sendbird-chat:4.21.1 ' ) {
exclude group : ' org.conscrypt ' , module : ' conscrypt-android '
}
}
Das Chat SDK erfordert Systemberechtigungen, die die Kommunikation mit dem Sendbird-Server sowie das Lesen und Schreiben auf dem Speicher eines Benutzergeräts ermöglichen. Um Systemberechtigungen zu erteilen, fügen Sie die folgenden Zeilen zu Ihrer AndroidManifest.xml
-Datei hinzu.
< 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 " />
Wenn Sie Ihr APK mit minifyEnabled true
erstellen, fügen Sie die folgende Zeile zur ProGuard
-Regeldatei des Moduls hinzu.
-dontwarn com.sendbird.android.shadow. **
Nachdem das Chat SDK nun importiert wurde, können wir mit dem Senden einer Nachricht beginnen.
Um die Funktionen des Chat SDK nutzen zu können, muss eine SendbirdChat
Instanz durch Benutzerauthentifizierung beim Sendbird-Server initiiert werden. Diese Instanz kommuniziert und interagiert mit dem Server basierend auf einem authentifizierten Benutzerkonto, und dann kann die Client-App des Benutzers die Funktionen des Chat SDK nutzen.
Hier sind die Schritte zum Senden Ihrer ersten Nachricht mit dem Chat SDK:
Initialisieren Sie nun das Chat SDK in der App, damit das Chat SDK auf Änderungen im Verbindungsstatus in Android-Client-Apps reagieren kann.
Um die SendbirdChat
Instanz zu initialisieren, übergeben Sie die APP_ID
Ihrer Sendbird-Anwendung im Sendbird-Dashboard als Argument an einen Parameter in der Methode SendbirdChat.init()
. Da SendbirdChat.init()
nur eine einzige Instanz sein kann, rufen Sie es in Ihrer Android-Client-App nur ein einziges Mal auf. Normalerweise wird die Initialisierung im Benutzeranmeldebildschirm implementiert.
Hinweis: Es wird empfohlen, das Chat SDK in der
onCreate()
-Methode derApplication
zu initialisieren.
SendbirdChat . init ( InitParams ( APP_ID , applicationContext, useCaching = true ))
Nach der Initialisierung mit der init()
Methode muss Ihre Client-App immer mit dem Sendbird-Server verbunden sein, bevor Sie Methoden aufrufen. Wenn Sie versuchen, eine Methode ohne Verbindung aufzurufen, wird der Fehler ERR_CONNECTION_REQUIRED (800101)
zurückgegeben.
Verbinden Sie einen Benutzer entweder über eine eindeutige Benutzer-ID oder in Kombination mit einem Zugriffstoken mit dem Sendbird-Server. Sendbird bevorzugt die letztere Methode, da sie die Privatsphäre des Benutzers gewährleistet. Ersteres ist während der Entwicklungsphase nützlich oder wenn Ihr Dienst keine zusätzliche Sicherheit erfordert.
Verbinden Sie einen Benutzer mit seiner eindeutigen Benutzer-ID mit dem Sendbird-Server. Standardmäßig kann der Sendbird-Server einen Benutzer anhand einer eindeutigen Benutzer-ID authentifizieren. Bei einer Verbindungsanfrage fragt der Server die Datenbank ab, um nach einer Übereinstimmung zu suchen. Jede nicht vergebene Benutzer-ID wird automatisch als neuer Benutzer im Sendbird-System registriert, während eine bestehende ID sich indirekt anmelden darf. Die ID muss innerhalb einer Sendbird-Anwendung eindeutig sein, z. B. eine gehashte E-Mail-Adresse oder Telefonnummer in Ihrem Dienst.
Auf diese Weise können Sie loslegen, ohne tief in die Details des Token-Registrierungsprozesses eintauchen zu müssen. Stellen Sie jedoch sicher, dass Sie die Erzwingung von Tokens vor dem Start aktivieren, da ein Start ohne diese ein Sicherheitsrisiko darstellt.
SendbirdChat .connect( USER_ID ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Sendbird bevorzugt die Weitergabe der APP-ID mithilfe eines Tokens, da dies den Datenschutz und die Sicherheit der Benutzer gewährleistet. Erstellen Sie einen Benutzer zusammen mit seinem Zugriffstoken oder stellen Sie ein Sitzungstoken aus, das während der Verbindung weitergegeben wird. Einen Vergleich zwischen einem Zugriffstoken und einem Sitzungstoken finden Sie hier. Sobald ein Token ausgestellt wurde, muss ein Benutzer das ausgestellte Token in der SendbirdChat.connect()
Methode bereitstellen, die für die Anmeldung verwendet wird.
SendbirdChat.connect()
. SendbirdChat .connect( USER_ID , AUTH_TOKEN ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Erstellen Sie einen offenen Kanal mit den folgenden Codes. Offene Kanäle sind, an denen alle Benutzer Ihrer Sendbird-Anwendung problemlos und ohne Einladung teilnehmen können.
OpenChannel .createChannel( OpenChannelCreateParams ()) { channel, e ->
if (e != null ) { // Error.
return @createChannel
}
}
Hinweis : Sie können auch einen Gruppenkanal erstellen, um eine Nachricht zu senden. Weitere Informationen finden Sie unter Erstellen eines Kanals auf der Seite „Gruppenkanal“.
Betreten Sie den offenen Kanal, um Nachrichten zu senden und zu empfangen.
OpenChannel .getChannel( CHANNEL_URL ) { channel, e ->
if (e != null ) { // Error.
return @getChannel
}
channel?.enter { enterError ->
if (enterError != null ) { // Error.
return @enter
}
}
}
Senden Sie abschließend eine Nachricht an den Kanal. Es gibt drei Arten: eine Benutzernachricht, bei der es sich um einen einfachen Text handelt, eine Dateinachricht, bei der es sich um eine Binärdatei wie ein Bild oder eine PDF-Datei handelt, und eine Admin-Nachricht, bei der es sich um einen einfachen Text handelt, der ebenfalls über das Dashboard oder die Chat-Plattform gesendet wird API.
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
Die Größe des Chat SDK ist ein wichtiger Faktor, den Sie bei der Integration in Ihre App berücksichtigen sollten. Die Größe des Chat SDK ist wie folgt:
Bei Sendbird sind wir eine vielfältige Gruppe bescheidener, freundlicher und fleißiger Menschen, die durch ein gemeinsames Ziel vereint sind, die nächste Generation mobiler und sozialer Technologien in den Bereichen Chat, Sprache und Video zu entwickeln, die die Art und Weise, wie wir arbeiten und leben, verändern. Wir sind immer auf der Suche nach tollen Leuten für unser Team. Weitere Informationen finden Sie auf unserer Karriereseite.