1. 앱 소개
2. 방법 고민해보기
3. 전체적인 구성
4. 계획
1. 앱 소개
간단한 프로젝트를 시작하려고 한다.
사용자는 앱에서 키워드를 등록해놓고
학교 공지사항에 키워드가 포함된 글이 올라왔을 때 알려주는 앱을 만들 예정이다.
위 예시처럼 만들 예정이다.
기능만 구현하면 금방 만들 수 있을 거라 기대하고 있다.
만들게 된 계기는...
장학금 소식이나 신청 결과 같은 걸 기다리면서
공지사항을 하루에도 몇 번씩 새로고침하곤 했었는데
이걸 해결해보고자 시작하게 됐다. (너무 귀ㅊ ..)
그리고 이전에 우리 학교 학생들이 사용할 수 있는 스터디 팀원 모집 앱을 만들었는데
이 기능을 같이 넣어주고 싶었지만 알림에 대한 지식이 없어서 못했었다.
그래서 그 기능만을 넣은 앱을 만들어 보려고 한다!
2. 방법 고민해보기
내가 예전에 만든 앱은 공지사항을 앱 내에서만 확인할 수 있었다.
그니까 공지사항을 확인하려면 결국 앱을 켜야 함.
나는 앱을 종료한 상태에서 푸시 알림이 자동으로 날아오기를 원했다.
푸시 알림은 이전에 대화 기능을 넣으면서 사용해본 적이 있다.
위 그림은 예전에 만들었던 앱의 실제 실행화면이다.
디자인을 어떻게 해야 할지 모르겠어서 카카오톡 보고 만들었는데
플레이 스토어에 등록 안 했으니까 고소 안 먹겠지...?
아무튼 이때 사용한 것이 파이어 베이스의 'Cloud Messaging'이다.
구글에서 푸시 알림을 쉽게 주고받을 수 있도록 제공하는 기능이다.
한 번 사용해봤으니 쉽게 구현할 수 있겠다!라고 생각했었다.
"어 근데... 크롤링을 하려면 앱이 켜져있어야 하는데...?"
"푸시 알림은 스마트폰에서 스마트폰으로 보내야 하는데 알림은 어떻게 수신하지..?"
서버랑 알림에 대한 개념이 없어서 혼란스러웠다.
그래서 한 일주일 동안 이것저것 검색해보고 책을 뒤져보았다.
3. 전체적인 구조
중간에 공지사항을 가져와서 파이어 베이스로 넘겨줄 서버가 필요했다.
리눅스 서버/클라이언트에 대해 공부를 해보았는데
와 이걸 다 구축해서 사용하는 건 맨 처음에 말한 '간단한' 프로젝트에 어긋나다고 생각했다...
그렇다고 돈을 주고 서버를 이용하기엔 아직 학생이니까...
내 노트북을 희생하기로 했다.
①번 과정에서는 학교 홈페이지가 동적 페이지여서 셀레니움을 사용하기로 했다.
웹에 대한 지식도 없어서 이놈의 빌어먹을 동적 페이지 때문에 고생한 거만 생각하면... 하...
물론 셀레니움도 뭔지 몰라서 공부했다. 모르는 게 너무 많다..
②번 과정에서는 파이썬을 이용하여 공지 제목을 푸시 알림으로 보내주려고 한다.
파이어 베이스를 안드로이드 스튜디오에서만 사용할 수 있는 줄 알았는데 아니었다.
자바가 익숙해서 이클립스에서 해보려고 했는데 잘 안돼서 파이썬으로 해봤는데
역시 파이썬이 간단하긴 한 것 같다.
③번 과정은 이전에 사용했던 코드를 그대로 사용하면 되니 문제가 없을 것 같다! 아싸!
이 방법에 대해서도 추후 기록을 남길 예정이다.
4. 계획
앱에서 서버로 토큰 값을 보내는 방법이랑
토큰, 사용자가 등록한 키워드는 어떻게 관리할 건지
토큰을 그대로 노출하는 것은 위험하다고 들었는데
이를 안전하게 사용할 수 있는 방법이 무엇인지도 공부를 할 예정이다.
구상을 다 완벽하게 해놓고 하면 좋겠지만 일단 만들어보면서 문제점을 보완하려고 한다.
목표는 2주!!! 2주 안에 앱 만들기!!!!
1월 13일까지 다 만들어서 당당하게 포스팅을 하고 싶다. 파이팅!!!
썸네일 아이콘 출처
Icons made by Freepik from www.flaticon.com
'앱 제작 > 키워드 알림 앱' 카테고리의 다른 글
[코틀린] infinite/endless scroll(무한 스크롤)과 recyclerView (14) | 2021.01.08 |
---|---|
[파이썬] FCM을 통해 앱으로 푸시알림 보내기 (22) | 2021.01.04 |
Firebase 데이터베이스 딜레이 문제 해결(= 반환 값이 null일 때) (24) | 2021.01.03 |
subscribeToTopic 한글을 주제로 구독하기 :: 푸시알림 구독 서비스 구현 (12) | 2021.01.02 |
[Kotlin] FCM 푸시 알림 구현하기 (15) | 2020.12.31 |
댓글