시나리오: 안드로이드 개발자로 개발할 때부터 sendbird에 대한 관심이 무척 높았음 😎
그때는 안드로이드를 연동해보았지만 지금은 iOS를 얼른 연동해보자 :)
(흥미롭고 재밌을 거 같아서 바로 써보고 싶음 😏)
먼저 라이브러리를 추가해주자
SPM, CocoaPods , Carthage 3가지를 지원하고 있으니 취향에 맞는 걸로 선택하면 될 듯.
//spm
https://github.com/sendbird/sendbird-uikit-ios-spm.git
//cocoapods
pod 'SendBirdUIKit'
//carthage
github "sendbird/sendbird-uikit-ios"
github "sendbird/sendbird-ios-framework" == 3.1.1
모바일 코드는 AppDelegate 와 SceneDelegate 2군데에서 간단한 코드만 작성해주면 된다 🥳
import UIKit
import SendBirdUIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// The ID of the Sendbird application you created on the Sendbird Dashboard.
//AppId 값은 대시보드에서 확인할 수 있다.
let APP_ID = ""
SBUMain.initialize(applicationId: APP_ID) {
} completionHandler: { error in
}
// UserId로 사용할 값을 할당해준다.
let USER_ID = "user1"
SBUGlobals.CurrentUser = SBUUser(userId: USER_ID)
return true
}
}
import UIKit
import SendBirdUIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
self.window = UIWindow(windowScene: windowScene)
//SBUChannelListViewController - 채널목록을 관리하고 볼 수 있는 ViewController
let channelListVC = SBUChannelListViewController()
let navigationController = UINavigationController(rootViewController: channelListVC)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
}
}
와.. 진심 5분도 안걸릴거 같다.
지원하는 ViewController 종류는 표와 같음.
이름 | 설명 |
SBUChannelListViewController | 채널목록을 관리하는 ViewController |
SBUChannelViewController | 1:1 채팅채널을 관리하는 ViewController |
SBUChannelSettingViewController | 채널 설정을 관리하는 ViewController |
SBUCreateChannelViewController | 채널을 생성하는 ViewController |
SBUInviteUserViewController | 채널에 사용자를 초대하는 ViewController |
SBUMemberListViewController | 채널의 회원목록을 표시하는 ViewController |
자 이제 대시보드로 들어가서 APP_ID 값을 확인해보자.
https://dashboard.sendbird.com/auth/signin?next=/
사이트에 들어가서 가이드대로 회원가입을 진행해 준다.
회원가입을 완료하고 대시보드로 들어가게 되면 Application Id 란에 있는 값을 확인할 수 있음.
Application ID를 복사해서 코드에 붙이고 실행을 시켜보면
No channels, No users 화면이 보이고 바로 채팅을 해볼 순 없다. 😭
후딱 채팅기능을 테스트해보고 싶어서 대시보드로 돌아온 나는 Group Channels에서 moderator를 생성해 주었다.
(Open Channels , Group channels 를 둘 다 지원해주는 센드버드 👍)
생성이 완료되면 이제 앱에서 우측 상단을 "+"를 클릭하여 생성한 moderator를 확인할 수 있다.
바로 채팅을 해보면, 너무나 잘된다! 진짜 이렇게 쉽고 간단해?? 라고 의심할 정도 😆
진짜 5분도 안걸리는 시간에 간단하게 UIkit을 사용해서 채팅을 연동하고 테스트도 진행해 본거 같다.
더 어마무시한 지원은 커스터마이징도 가능하다고 하니 한번 진행해봐야겠음.
https://sendbird.com/developer/tutorials/ios-chat-uikit-customization
마무리
- 한달이라는 free trial 기간 동안 이것저것 다 해봐야겠음.
- 언젠가 나도 이런 멋진 솔루션을 만들어 보고 싶음.
- 센드버드에서 근무해 보고 싶은 마음이 뿜뿜!! 😎
gitHub:
https://github.com/PotatoArtie/Potato-iOS/tree/master/Labs/SendbirdUIKitDemoPotato
참고링크 :
https://sendbird.com/docs/uikit/v1/ios/quickstart/send-first-message
[Review] 로그인/회원가입 유효성검사 라이브러리 (1) | 2023.07.04 |
---|---|
[Review 자동화 툴] 빌드 및 테스트 플라이트 배포 소요시간 비교 (바이너리 직접 업로드 vs fastlane vs Xcode Cloud) (2) | 2023.05.09 |
[Review] 숫자에서 한글금액 표기 변환 라이브러리 (2) | 2023.05.01 |
[Review] 센드버드 Notifications 제품 리뷰 (2) | 2023.04.25 |
댓글 영역