Android 用 Sendbird Chat SDK を使用すると、最小限の労力でクライアント アプリにリアルタイム チャットを追加できます。 Sendbird は、Reddit、Hinge、PubG、Paytm などの企業から信頼されている、機能が豊富でスケーラブルで実績のあるチャット ソリューションを提供します。
Chat SDK は、リッチなチャット エクスペリエンスを提供するための完全な機能を提供します。Chat SDK の実装は、ユーザー ログインの追加、利用可能なチャネルの一覧表示、オープン チャネルまたはグループ チャネルの選択または作成から始まり、チャネル イベント デリゲートおよびメッセージを送信する機能。この基本機能が整ったら、おめでとうございます。チャット アプリが完成しました。
これを導入したら、Sendbird がサポートする他のすべての機能を確認し、ユーザーにとって最適なものを追加します。
Sendbird Chat for Android の詳細については、ドキュメントをご覧ください。コメント、質問、機能リクエストがありましたら、Sendbird コミュニティでお知らせください。
Android 用 Chat SDK の最小要件は次のとおりです。
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 サーバーは、バージョン 1.0 から 1.3 までのトランスポート層セキュリティ (TLS) をサポートしています。たとえば、TLS 1.3 が利用できないサーバー リージョンでは、安全なデータ送信のために、1.2 から 1.0 まで順次、下位バージョンがサポートされます。
最も簡単に始める方法は、サンプル リポジトリにあるサンプル アプリの 1 つを使用し、Sendbird ダッシュボードでアプリケーションを作成し、 App ID
サンプル アプリにコピーすることです。これで準備完了です。
Sendbird Chat SDK をインストールする前に、Sendbird ダッシュボードで Sendbird アプリケーションを作成する必要があります。 Chat SDK を初期化するときに、Sendbird アプリケーションのApp ID
必要になります。
注: 各 Sendbird アプリケーションは、単一のクライアント アプリケーションと統合できます。同じアプリケーション内で、ユーザーはモバイル デバイス上でも Web 上でも、すべてのプラットフォーム間で相互に通信できます。
外部ライブラリまたは SDK の使用に慣れている場合、Chat 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 for Android ではデフォルトで有効になっています。これを無効にするには、gradle の依存関係に次の設定を含めてください。
注: SendBird Android SDK は、TLS 1.3 をサポートするために Conscrypt ライブラリに依存しています。
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 " />
minifyEnabled true
を指定して APK をビルドする場合は、モジュールのProGuard
ルール ファイルに次の行を追加します。
-dontwarn com.sendbird.android.shadow. **
Chat SDK がインポートされたので、メッセージの送信を開始する準備が整いました。
Chat SDK の機能を使用するには、Sendbird サーバーでのユーザー認証を通じてSendbirdChat
インスタンスを開始する必要があります。このインスタンスは、認証されたユーザー アカウントに基づいてサーバーと通信し、対話します。その後、ユーザーのクライアント アプリは Chat SDK の機能を使用できるようになります。
Chat SDK を使用して最初のメッセージを送信する手順は次のとおりです。
ここで、アプリ内で Chat SDK を初期化し、Android クライアント アプリの接続ステータスの変化に Chat SDK が応答できるようにします。
SendbirdChat
インスタンスを初期化するには、Sendbird ダッシュボードの Sendbird アプリケーションのAPP_ID
引数としてSendbirdChat.init()
メソッドのパラメータに渡します。 SendbirdChat.init()
1 つのインスタンスのみであるため、Android クライアント アプリ全体で 1 回だけ呼び出してください。通常、初期化はユーザーのログイン画面で実装されます。
注:
Application
インスタンスのonCreate()
メソッドで Chat SDK を初期化することをお勧めします。
SendbirdChat . init ( InitParams ( APP_ID , applicationContext, useCaching = true ))
init()
メソッドを使用して初期化した後、クライアント アプリはメソッドを呼び出す前に必ず Sendbird サーバーに接続する必要があります。接続せずにメソッドを呼び出そうとすると、 ERR_CONNECTION_REQUIRED (800101)
エラーが返されます。
一意のユーザー ID を使用するか、アクセス トークンと組み合わせて、ユーザーを Sendbird サーバーに接続します。 Sendbird は、ユーザーのプライバシーが確保されるため、後者の方法を好みます。前者は、開発段階中、またはサービスに追加のセキュリティが必要ない場合に役立ちます。
一意のユーザー ID を使用してユーザーを Sendbird サーバーに接続します。デフォルトでは、Sendbird サーバーは一意のユーザー ID によってユーザーを認証できます。接続が要求されると、サーバーはデータベースにクエリを実行して、一致するかどうかを確認します。取得されていないユーザー ID は、新規ユーザーとして Sendbird システムに自動的に登録されますが、既存の ID は間接的にログインできます。 ID は、サービス内のハッシュ化された電子メール アドレスや電話番号など、Sendbird アプリケーション内で一意である必要があります。
これにより、トークン登録プロセスの詳細を深く調べることなく立ち上げて実行できるようになりますが、トークンの強制を有効にせずに起動するとセキュリティ リスクが生じるため、起動前に必ずトークンの強制を有効にしてください。
SendbirdChat .connect( USER_ID ) { user, e ->
if (e != null ) { // Error.
return @connect
}
}
Sendbird では、ユーザーのプライバシーとセキュリティが確保されるため、トークンを使用して APP ID を渡すことを推奨します。ユーザーをアクセス トークンとともに作成するか、接続中に渡すセッション トークンを発行します。アクセス トークンとセッション トークンの比較については、こちらをご覧ください。トークンが発行されると、ユーザーはログインに使用される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 などのバイナリ ファイルであるファイル メッセージ、ダッシュボードまたはチャット プラットフォームを通じて送信されるプレーン テキストである管理者メッセージの 3 種類があります。 API。
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
Chat SDK のサイズは、Chat SDK をアプリに統合するときに考慮すべき重要な要素です。 Chat SDK のサイズは次のとおりです。
Sendbird では、私たちの働き方や生活の仕方を変える、チャット、音声、ビデオにわたる次世代のモバイルおよびソーシャル テクノロジーを構築するという共通の目的で団結した、謙虚でフレンドリーで勤勉な個人の多様なグループです。私たちはチームに参加してくれる素晴らしい人材を常に探しています。詳細については、採用ページをご覧ください。