-
[Android][Stream Chat] Stream Chat 글을 쓰게 된 이유부스트캠프/Stream Chat SDK 2022. 11. 16. 01:29
부스트캠프에서 마지막 프로그램인 그룹프로젝트가 얼마전 시작했다.
우리 팀은 그룹프로젝트에서 "채팅"을 구현해보고 싶었다.
얕게 검색해보기로는 안드로이드에서 채팅을 구현하기 위해서 firebase 의 realtime database를 사용하면 될 줄 알았다.
하지만 그룹프로젝트 멘토님과 기획에 대해 얘기해본 뒤에 우리가 큰 착각을 하고 있었다는걸 알게 됐다.
채팅을 구현하기 위해서는 아주 많은 기술들이 필요하고, 아주 많은 상황에 따른 대응이 필요했다.
채팅자체에 대한 구현도 보통 소켓통신과 HTTP 통신등 여러 통신 방법을 융합해서 구현했고,
(카카오톡을 기준으로 얘기하면) 읽고있는 상태가 아닐때 알람은 어떻게 보내줄 것이며, 네트워크 연결에 대한 대응은 어떻게 할것이고,
채팅방, 유저 정보의 동기화는 어떻게 다룰것인지....
상상이상으로 어려운 내용이었다.
여러 블로그들에서 다루는 firebase의 realtime database로 구현하는 채팅앱은 정말 말그대로 대화를 나누는 "채팅"밖에 못한다...
백엔드 서버를 따로 두거나 fcm이랑 cloud function? 을 잘 사용하면 되기야 하겠지만
그러면 앱개발이 아니라 백엔드개발이 될 수준이다
그래서 멘토님이 언급하셨던 여러 채팅 api 중에 개발학습용으로 조금 더 관대하게 api를 무료로 제공해주는 Stream을 선택하게 되었다.
그런데 절망적이게도 자료가 너무 없었다.
한글로 된 글들이야 없을 수 있다고 쳐도, 영어로 된 자료도 그냥 없는 수준이었다...
스택오버플로우에도 안드로이드 관련 글은 거의 없다.
(내가 검색을 못하는 걸 수도....😂)
그래서 공식문서만 주구장창 보게 됐는데 뭔가 친절하면서도 불친절하다.
꼭 문서에서 제대로 언급을 안해준 부분에서 에러가 터져나와서 하나하나 대응하기 오래 걸렸다.
그러던중에 이렇게 대응만 하다보면 또 후반에는 초반에 대응했던 내용들을 분명히 잊어버릴 것 같아서
카테고리를 따로만들어서 글을 쓰려고한다.
한글자료를 작성해놓으면 미래의 나는 물론이고 분명 Stream을 사용할 누군가에게 도움이 되겠지ㅎㅎ...
공식 문서(android, kotlin) : https://getstream.io/chat/docs/android/?language=kotlin
Stream사의 한국인 개발자분의 벨로그 : https://velog.io/@skydoves
'부스트캠프 > Stream Chat SDK' 카테고리의 다른 글
[Android][Stream Chat] Querying 에서 사용하는 MongoDB 연산자(작성중) (0) 2022.11.16 [Android][Stream Chat] QueryUsers 를 써보자 (0) 2022.11.16