2020-06-07 TIL

2020-06-07

https://developers.google.com/instance-id/reference

Instance ID API

Firebase의 Instance ID API는 모바일 앱에 고유의 ID를 부여하지만, 아래 이유들에 의해 expired된다.

  • 기기 공장 초기화
  • 유저가 앱을 삭제했을 때
  • 앱에 대해 ‘Clear Data’ 수행했을 때*
  • 장기간 기기를 사용하지 않았을 때 (기기와 지역에 따라 다름)
  • Instance ID 서비스가 어뷰징이나 에러를 감지하고 InstanceID를 리셋했을 때
  • expire시키는 서버 코드가 실행됐을 때 (ID expire 기능이 필요해서 서버 코드를 구현한 경우)

* ‘Clear Data’ 는 안드로이드에 존재하는 기능을 언급한 것으로 보이고, iOS는 13버전 확인해보니 ‘앱 정리하기’ 라는 기능이 존재하지만, 도큐먼트를 보존한다는 설명 때문에 위 expire 경우에 해당하는지 확신할 수 없으며 별도의 확인이 필요함..

Instance ID 서비스는 InstanceIDListenerService 의 콜백을 통해 InstanceID 리셋을 notify할 수 있음. 만약 앱이 이 noti를 받으면, 반드시 getToken()을 호출하고 새로운 InstanceID를 받아 서버에 업데이트를 해줘야 한다.


Instance ID를 마치 기기에 귀속되는 고유 ID 처럼 오해할 수 있으나 그렇지 않다.


Minchang Kim
Minchang Kim
웹/앱 개발자 김민창입니다! 좋은 하루 되세요!