Android용 Sendbird Chat SDK를 사용하면 최소한의 노력으로 클라이언트 앱에 실시간 채팅을 추가할 수 있습니다. Sendbird는 Reddit, Hinge, PubG 및 Paytm과 같은 회사가 의존하는 풍부하고 확장 가능하며 검증된 채팅 솔루션을 제공합니다.
Chat SDK는 풍부한 채팅 경험을 제공하기 위한 모든 기능을 제공합니다. 구현은 사용자 로그인 추가, 사용 가능한 채널 나열, 공개 채널 또는 그룹 채널 선택 또는 생성, 채널 이벤트 대리인 및 메시지를 보내는 능력. 이 기본 기능이 구현되면 축하합니다. 이제 채팅 앱을 갖게 되었습니다!
이것이 준비되면 Sendbird가 지원하는 다른 모든 기능을 살펴보고 사용자에게 가장 적합한 기능을 추가하세요.
설명서에서 Android용 Sendbird Chat에 대해 자세히 알아보세요. 의견, 질문, 기능 요청이 있으시면 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 서버는 TLS(Transport Layer Security) 버전 1.0부터 1.3까지 지원합니다. 예를 들어, TLS 1.3을 사용할 수 없는 서버 지역에서는 안전한 데이터 전송을 위해 1.2부터 1.0까지 순차적으로 낮은 버전이 지원됩니다.
시작하는 가장 빠른 방법은 샘플 저장소에 있는 샘플 앱 중 하나를 사용하여 Sendbird 대시보드에서 애플리케이션을 생성하고 App ID
샘플 앱에 복사하는 것입니다.
Sendbird Chat SDK를 설치하기 전에 Sendbird 대시보드에 Sendbird 애플리케이션을 생성해야 합니다. Chat SDK를 초기화할 때 Sendbird 애플리케이션의 App ID
필요합니다.
참고 : 각 Sendbird 애플리케이션은 단일 클라이언트 앱과 통합될 수 있습니다. 동일한 애플리케이션 내에서 사용자는 모바일 장치이든 웹이든 모든 플랫폼에서 서로 통신할 수 있습니다.
외부 라이브러리나 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 '
.. .
}
Android용 Sendbird SDK에서는 TLS 1.3이 기본적으로 활성화되어 있습니다. 비활성화하려면 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()
단일 인스턴스일 수 있으므로 Android 클라이언트 앱 전체에서 한 번만 호출하세요. 일반적으로 초기화는 사용자 로그인 화면에서 구현됩니다.
참고:
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 등의 바이너리 파일인 파일 메시지, 대시보드나 채팅 플랫폼을 통해 전송되는 일반 텍스트인 관리자 메시지의 세 가지 유형이 있습니다. API.
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
Chat SDK의 크기는 앱에 통합할 때 고려해야 할 중요한 요소입니다. Chat SDK의 크기는 다음과 같습니다.
Sendbird에서는 우리가 일하고 생활하는 방식을 변화시키는 채팅, 음성, 비디오 전반에 걸쳐 차세대 모바일 및 소셜 기술을 구축한다는 공통의 목적으로 뭉친 겸손하고 친절하며 열심히 일하는 다양한 개인 그룹입니다. 우리는 항상 우리 팀에 합류할 훌륭한 사람들을 찾고 있습니다. 자세한 내용은 채용 페이지를 확인하세요.