비라
219
2017-01-20 15:15:12
3
10406

안드로이드 FCM 토큰 저장 및 갱신방법이 궁금합니다.


현재 FCM을 사용해서 푸시알림을 구현중에 있습니다.

현재는 MainActivity에 토큰값을 DB로 전송하는 AsyncTask를 만들어 놓았습니다.

그러다보니 계속 MainActivity가 호출될때마다 토큰값을 계속 DB로 전송해서 문제가 생겼습니다.

일단 제가 원하는 방식은 토큰값을 처음 앱 설치할때 딱 한번 DB에 저장하고싶은데 그 부분이 어디인지 잘 모르겠네요.

그리고 보통 이런 토큰값을 DB에 저장할때 정석적인 방법은 어떤것인지도 조언해주시면 감사하겠습니다.

0
  • 답변 3

  • seibeki
    125
    2017-01-20 15:45:24

    Account manager 클래스

  • GAN
    1k
    2017-01-20 15:53:39

    SharedPreferences 같은 곳에 토큰 저장 후 getToken() 결과랑 비교하신 후 변경되면 서버로 전송하세요.

    단, GCM -> FCM 으로 변경되면서 앱 설치 후 최초 실행 시 FirebaseInstanceId.getInstance().getToken() 값이 null 이 나온 후 FirebaseInstanceIdService 의 onTokenRefresh() 에서 토큰이 발행됩니다.

    getToken() 을 하는 부분과 onTokenRefresh() 두 군데에서 null 여부 체크 및 기존 토큰과 동일한지 여부를 확인하신 후 서버로 전송하시면 됩니다.

  • 비라
    219
    2017-01-23 10:46:19

    감사인사가 늦어진점 죄송합니다. (__)

    일이 많아서 정신이없었네요 ㅠㅠ

    답변달아주신분들  감사합니다!! 

    Account Manager는 어떻게 사용하는지 잘 몰라서 트라이를 못해봤구요...

    GAN님께서 알려주신 방법 참고해서 했더니 잘 작동하네요 !!

  • 로그인을 하시면 답변을 등록할 수 있습니다.