안드로이드 스튜디오 Token 발급 시 FirebaseInstanceId.getInstance()에서 로그인 된 계정을 변경해도 같은 id 및 Token이 계속해서 발급됩니다...

조회수 947회

안녕하세요,

앱에 푸시 메시지를 입력하는 기능을 구현하고 있는데, 앱에 로그인 된 계정을 변경해도 똑같은 Token값이 발급됩니다.

혹시나 싶어서 FirebaseInstanceId.getInstance().getid() 메소드로 확인해봤더니 똑같은 아이디가 발급됩니다.

어떻게 해야 해결할 수 있을까요..?

아래는 해당 코드입니다.

  1. onCreate() 메소드

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

    // 데이터 바인딩
    binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
    
    // 데이터가 없을 경우 계속해서 보인다는게 단점으로 볼 수도 있을 듯함.
    binding.progressBar.setVisibility(View.VISIBLE);
    
    // Bottom Navigation View
    binding.bottomNavigation.setOnNavigationItemSelectedListener(this);
    binding.bottomNavigation.setSelectedItemId(R.id.action_home);
    
    // 토큰 서버 등록하기
    if (FirebaseAuth.getInstance().getCurrentUser() != null) {
        passPushTokenToServer();
    }
    

    }

  2. passPushTokenToServer() 메소드

    public static void passPushTokenToServer() { // 토큰 입력하기 String token = FirebaseInstanceId.getInstance().getToken();

    // uid 생성
    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
    
    Map<String, Object> map = new HashMap<>();
    // 키 - 문자열, value - 실제 토큰을 집어 넣습니다.
    map.put("pushToken", token);
    
    FirebaseDatabase.getInstance().getReference().child("users").child(uid).child("pushToken").updateChildren(map);
    

    }

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 푸시 메시지는 디바이스 기반이라서 그럴걸요? 엽토군 2018.9.18 09:22
  • 아.. 디바이스 기반이라 그런거군요ㅠㅠ 감사합니다! 알 수 없는 사용자 2018.9.18 09:25

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)