Notice
Recent Posts
Recent Comments
Link
투케이2K
58. (TWOK/ERROR) [Android] 파이어베이스 푸시 토큰 (firebase push token) 추출 에러 - onNewToken not working 본문
투케이2K 에러관리
58. (TWOK/ERROR) [Android] 파이어베이스 푸시 토큰 (firebase push token) 추출 에러 - onNewToken not working
투케이2K 2022. 4. 14. 12:51[환경 설정 및 설명]
프로그램 : AndroidStudio
설 명 : 파이어베이스 푸시 토큰 (firebase push token) 추출 에러 - onNewToken not working
[에러 원인]
1. 파이어베이스 푸시 토큰 값을 확인하는 부분 FirebaseMessagingService > onNewToken 부분이 정상 호출 되지 않는 이슈
[해결 방법]
1. onNewToken 부분에서 파이어베이스 토큰 값 저장 및 FirebaseInstanceId.getInstance() 를 사용해 추가 토큰 값 저장 방어로직 작성
- 1차 : onNewToken 부분에서 토큰 값 저장
- 2차 : Activity onCreate 부분에서 FirebaseInstanceId.getInstance() 사용해 토큰 값 추가 저장
try {
// [파이어베이스 토큰 확인]
FirebaseInstanceId.getInstance().getInstanceId()
.addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = String.valueOf(instanceIdResult.getToken());
if (deviceToken != null && deviceToken.length()>0
&& !deviceToken.trim().equals("") && !deviceToken.trim().contains("null")){
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[A_Main >> onCreate() :: FirebaseInstanceId :: 파이어베이스 토큰 확인 실시]");
Log.i("","\n"+"[타 입 :: onSuccess]");
Log.i("","\n"+"[토 큰 :: "+String.valueOf(deviceToken)+"]");
Log.i("","\n"+"[결 과 :: 푸시 토큰 값 확인 성공]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [프리퍼런스에 토큰값 저장 수행 실시]
S_Preference.setString(getApplication(), S_FinalData.token, String.valueOf(deviceToken));
S_Preference.setString(getApplication(), S_FinalData.token, String.valueOf(deviceToken));
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[A_Main >> onCreate() :: FirebaseInstanceId :: 파이어베이스 토큰 확인 실시]");
Log.i("","\n"+"[타 입 :: onSuccess]");
Log.i("","\n"+"[토 큰 :: "+String.valueOf(deviceToken)+"]");
Log.i("","\n"+"[결 과 :: 푸시 토큰 값 확인 에러]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[A_Main >> onCreate() :: FirebaseInstanceId :: 파이어베이스 토큰 확인 실시]");
Log.i("","\n"+"[타 입 :: onFailure]");
Log.i("","\n"+"[토 큰 :: "+String.valueOf(e.getMessage())+"]");
Log.i("","\n"+"[결 과 :: 푸시 토큰 값 확인 에러]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
})
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[A_Main >> onCreate() :: FirebaseInstanceId :: 파이어베이스 토큰 확인 실시]");
Log.i("","\n"+"[타 입 :: onComplete]");
Log.i("","\n"+"[성공 여부 :: "+String.valueOf(task.isSuccessful())+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
}
});
}
catch (Exception e){
e.printStackTrace();
}
반응형
'투케이2K 에러관리' 카테고리의 다른 글
Comments