마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰+ FCM 푸시 알람 관련 질문.

0 추천

안녕하세요 신입 3개월차 개발자 입니다.

프로젝트 하나를 혼자 맡게돼서 진행하고 있는데 막히는게 많네요..

일단 하이브리드 앱을 만드는게 목적이고 

이유는 현재 회사에 작동중인 모바일 웹페이지가 있는데,

특정 이벤트가 발생했을시 푸시 알람을 띄우고 싶어 하이브리드앱을 제작하게 되었습니다.

 

현재 진행 단계는 안드로이드 스튜디오에서 웹뷰로 창을 띄우고

파이어베이스에 앱을 등록한 상태입니다.

메시지 테스트 했을때 안드로이드에서 정상적으로 알림이 뜨는것을 확인하였습니다.

 

앞으로 진행할 것은

1.웹뷰로 웹페이지 접근하여 로그인 정보와 fcm토큰을 매칭시켜서 

php파일에서 db로 쏴주는 것과

 

2.php말고 다른 java 앱서버에서 

이벤트 발생시 db에서 해당하는 토큰들을 가져와서

fcm서버에다가 날려주는것 까지 하고싶습니다.

 

프로젝트를 진행하면서 궁금한것은 

 

일단 안드로이드에 MainActivity에서 webview.getSettings().setJavaScriptEnabled(true);로 

안드로이드에서 자바스크립트함수를 사용할수 있도록 하였습니다.

 

안드로이드의 FirebaseInstanceId.getInstance().getToken(); 를 호출하여서

웹뷰에서 로그인 시에 토큰을 불러오고 싶은데 

로그인 클릭 이벤트 처리하는 php파일 코드에다가 불러다가 쓰면 될까요?

그리고 id정보와 토큰 정보를 db에 저장해두면 될까요??

 

그리고 fcm 토큰도 기간이 지나면  Firebase 에서 새로운 토큰이 발급될텐데 

어플을 초기에 로그인하면서 db에 저장하고 시간이 지나서

백그라운드에서도 작동하게 하려면 fcm토큰을 수시로 최신화 시켜주고 

저장시켜줘야 하지 않나요?

아니면 제가 잘못알고 있어서 처음 어플리케이션을 설치하는 그시점에 발급되는 fcm토큰에 유효기간 없이

계속 작동하는 것 인가요?

 

배경지식이 많이 부족하여 혼자 하나부터 열까지 공부하면서 개발하느라

질문이 많이 허접한데 양해 부탁드리고 친절히 설명해주시면 정말 감사하겠습니다..

몇주째 진도를 못나가고 있습니다.. 

 

 

힘찬송 (220 포인트) 님이 2019년 4월 16일 질문

1개의 답변

+1 추천

로그인 클릭 이벤트 처리하는 php파일 코드에다가 불러다가 쓰면 될까요?

그리고 id정보와 토큰 정보를 db에 저장해두면 될까요??  

-> 네 php서버에서 로그인 성공 콜백을 받으면 php서버로 id정보+기기토큰을 보내어 연동된 DB에 id정보와 FCM 기기토큰을 저장하시면 됩니다.

 

그리고 fcm 토큰도 기간이 지나면  Firebase 에서 새로운 토큰이 발급될텐데 

어플을 초기에 로그인하면서 db에 저장하고 시간이 지나서

백그라운드에서도 작동하게 하려면 fcm토큰을 수시로 최신화 시켜주고 

저장시켜줘야 하지 않나요?

-> 백그라운드 동작은 토큰과 관련이 없습니다. php서버 -> 구글 파이어베이스 클라우드 서버 -> 안드로이드기기 방식으로 전송되는데 php에서 payload를 notification이 아닌 data로 보내시고 priority high로 보내시면 백그라운드에서도 동작합니다. FCM토큰은 기기별로 발급되기때문에 해당앱에 다른 아이디로 로그인시 처리를 다르게 해야 할경우는 가이드를 좀더 찾아보셔야 할 듯 합니다.

익명사용자 님이 2019년 4월 16일 답변
...