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

Firebase의 Token 값을 어떻게 서버에 저장하는 방법 질문

0 추천
웹뷰 구현을 위하여 불철주야 구글링만 열심히 해야하는 자바 초짜입니다.

일단 안드로이드 webview에서 이용자에게 푸시를 발송하기 위하여 token을 읽어와야 하는데요.

구글링 열심히하여 어찌어찌 일단 javascript의 변수로 지정된 값을 console에 출력하거나 id를 부여하고 이를 화면에 출력시키는 기능까지는 구현했습니다.

 

이걸 서버 언어인 asp나 php로 작성된 실행 파일로 넘겨줘서 디비에 저장해야할듯 합니다. 같은 페이지에서 javascript 변수가 client 사이드 정보라 직접 디비 저장은 안되고 form 등의 형식으로 넘겨주어야할듯 합니다. (아닌가요?

 

그런데 도무지 javascript 변수값을 실행 화면으로 넘겨주는 기능 구현이 이해가 안가서 진도가 나가질 않습니다. 어떻게 하면 가능할까요?

 

예를 들면,

1번 경우)

            messaging.requestPermission()

            .then(function(permission){

                console.log(permission + " : Have permission");

                return messaging.getToken();

                })

                .then(function(token)

                    {

                    console.log('token : ' + token);

                    //$('#_token').html(token);

                    })

                .catch(function(arr){

                    console.log("Error Occured");

                    console.log(arr);

                });

 

2)번 경우

  function sendTokenToServer(currentToken) {

    if (!isTokenSentToServer()) {

      console.log('Sending token to server...');

      setTokenSentToServer(true);

    } else {

      console.log('Token already sent to server so won\'t send it again ' +

          'unless it changes');

    }

  }

 

이런 정도로 구성된 자료를 참조할 예정입니다.
오도독 (180 포인트) 님이 2020년 12월 12일 질문
자체 서버사이드를 운영하고 계신 것 같은데, 서버 쪽은 수정이 전혀 불가능한 상태인가요?
서버 쪽 코드를 추가할 수 있다면, 파이어베이스와의 통신은 서버에서 전담하고 모발앱은 자체 서버하고만 통신하는 것이 훨씬 나은 시스템 구조인 것 같아서요. 이게 안된다면, 님이 하려고 하는 방법처럼 할 수 밖에 없지만요. 그리고 토큰이 이미 전송되었는지는 서버 쪽에서 판단하도록해야 합니다. 그래야 데이터가 서버랑 모발앱이랑 어긋나는 것을 방지할 수 있습니다.
그리고 화면의 플로우나 구성이 어떤지를 언급하지 않으셔서 자세한 것은 모르겠지만, 웹뷰에서 네이트브 쪽으로 이벤트를 주어서 토큰 처리를 하셔야 할 것 같은데요. 안그러면, 웹뷰와 네이티브 사이에  토큰 불일치로 인한 문제가 발생할 것 처럼 보이네요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...