2016-07-09 3 views
1

goolg의 firebase를 푸시 알림 서비스로 사용하는 애플리케이션을 만들고 있습니다. 난 그냥 푸시 알림 서버를 사용하고 다른 서비스 (예 : 데이터베이스, 인증 등)를 사용하고 싶지 않아요.Google의 firebase 토큰 생성기와 함께 사용할 Android 고유 장치 식별자

내 응용 프로그램에 가입하는 사용자는 여러 장치를 가질 수 있으며 따라서 여러 개의 firebase 토큰을 가질 수 있습니다. onRefreshToken이 호출 될 때 문제가 발생합니다. 사용자가 어떤 장치를 사용하고 있는지 알고 있어야하며 데이터베이스에서 특정 장치의 토큰을 업데이트해야합니다. 따라서 장치의 수명에서 변경되지 않는 각 장치의 고유 식별자를 알아야합니다.

이 문제를 해결할 수있는 더 좋은 방법이 있는지 궁금 해서요. 그렇다면 안드로이드 고유 ID에 대해 너무 혼란 스럽습니다. 두 가지 옵션은 어떤 문제가있을 수 있습니다 Settings.Secure.ANDROID_ID (그래서 나는 그것을 사용해야합니까) 및 TelephonyManger.getDeviceId() 때로는 널을 반환하고 어떤 sim 슬롯 (예 : 태블릿) 장치가 있습니다.

그럼 내가 무엇을 제안합니까?

클래스에서
+1

당신은 응용 프로그램의 공유 환경 설정에서 현재 인스턴스 ID 토큰을 저장 한 후'거기에서 읽을 수 onTokenRefresh()'. –

답변

1

당신이 방법 "FirebaseInstanceIdService"를 확장하고 "onTokenRefresh"당신은 그것을 좋아 얻을 수 있습니다 :

FirebaseInstanceId.getInstance().getId()