Sendbird Chat SDK สำหรับ 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 จะได้รับการรองรับเพื่อการส่งข้อมูลที่ปลอดภัย
วิธีเริ่มต้นที่เร็วที่สุดคือการใช้หนึ่งในแอปตัวอย่างจาก repo ตัวอย่าง สร้างแอปพลิเคชันในแดชบอร์ด Sendbird และคัดลอก App ID
ไปยังแอปตัวอย่าง เท่านี้ก็พร้อมใช้งานแล้ว
ก่อนที่จะติดตั้ง Sendbird Chat SDK คุณต้องสร้างแอปพลิเคชัน Sendbird บนแดชบอร์ด Sendbird คุณจะต้องมี App ID
ของแอปพลิเคชัน Sendbird ของคุณเมื่อเริ่มต้น Chat SDK
หมายเหตุ : แอปพลิเคชัน Sendbird แต่ละแอปพลิเคชันสามารถรวมเข้ากับแอปไคลเอนต์เดียวได้ ภายในแอปพลิเคชันเดียวกัน ผู้ใช้สามารถสื่อสารกันผ่านทุกแพลตฟอร์ม ไม่ว่าจะเป็นบนอุปกรณ์เคลื่อนที่หรือบนเว็บ
การติดตั้ง Chat SDK นั้นง่ายดายหากคุณคุ้นเคยกับการใช้ไลบรารีหรือ SDK ภายนอก ขั้นแรก ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ root 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 หากต้องการปิดใช้งาน โปรดรวมการกำหนดค่าต่อไปนี้ในการพึ่งพาการไล่ระดับ:
หมายเหตุ: SendBird Android SDK ขึ้นอยู่กับไลบรารี 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 ผ่าน ID ผู้ใช้เฉพาะหรือใช้ร่วมกับโทเค็นการเข้าถึง Sendbird ชอบวิธีหลังมากกว่า เนื่องจากจะรับประกันความเป็นส่วนตัวกับผู้ใช้ แบบแรกมีประโยชน์ในระหว่างขั้นตอนการพัฒนาหรือหากบริการของคุณไม่จำเป็นต้องมีการรักษาความปลอดภัยเพิ่มเติม
เชื่อมต่อผู้ใช้กับเซิร์ฟเวอร์ Sendbird โดยใช้ ID ผู้ใช้ เฉพาะของพวกเขา ตามค่าเริ่มต้น เซิร์ฟเวอร์ Sendbird สามารถตรวจสอบสิทธิ์ผู้ใช้ด้วย ID ผู้ใช้ที่ไม่ซ้ำกัน เมื่อมีการร้องขอการเชื่อมต่อ เซิร์ฟเวอร์จะสอบถามฐานข้อมูลเพื่อตรวจสอบการจับคู่ ID ผู้ใช้ที่ไม่ได้ใช้จะถูกลงทะเบียนเป็นผู้ใช้ใหม่ในระบบ Sendbird โดยอัตโนมัติ ในขณะที่ 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 และข้อความผู้ดูแลระบบซึ่งเป็นข้อความธรรมดาที่ส่งผ่านแดชบอร์ดหรือ Chat Platform เอพีไอ
openChannel.sendUserMessage( MESSAGE ) { message, e ->
if (e != null ) { // Error.
return @sendUserMessage
}
}
ขนาดของ Chat SDK เป็นปัจจัยสำคัญที่ต้องพิจารณาเมื่อรวมเข้ากับแอปของคุณ ขนาดของ Chat SDK เป็นดังนี้:
ที่ Sendbird เราเป็นกลุ่มบุคคลที่อ่อนน้อมถ่อมตน เป็นมิตร และทำงานหนักซึ่งรวมตัวกันโดยมีวัตถุประสงค์ร่วมกันเพื่อสร้างเทคโนโลยีมือถือและโซเชียลรุ่นต่อไป ผ่านการแชท เสียง และวิดีโอ ซึ่งกำลังเปลี่ยนแปลงวิธีการทำงานและการใช้ชีวิตของเรา เรามองหาคนเก่งๆ มาร่วมทีมอยู่เสมอ ตรวจสอบหน้าอาชีพของเราสำหรับข้อมูลเพิ่มเติม