2016-08-03 5 views
0

, 내가 때마다 사용자가에 로그온 할 것을 원하는 :중포 기지 클라우드 메시징 로그인 관리

  • 를 요청합니다 중포 기지 토큰;
  • 내 웹 서버에 토큰을 등록하십시오.
  • MessagingService를 실행하십시오.

사용자가 로그 아웃 할 때 :

  • 메시지 서비스가 중지해야합니다;
  • 내 웹 서버에서 등록 해제 된 토큰입니다.

내가 직면하고 주요 문제는 다음과 같습니다

  • 중포 기지 토큰이 존재하지 않음을 감지하고 사용자가 로그인하지 않은 경우에도 새 토큰을 요청합니다.
  • 토큰 수신시 메시지 청취를 담당하는 FirebaseMessageService가 자동으로 실행되기 시작합니다. 대신 등록/생성되는 토큰을 방지하기 위해 노력

답변

1

, 어떻게 데이터를 별도의 두 가지로 두 가지 요구 사항을 구현하는 방법에 대한 :

  1. 토큰 사용자의 FCM은 사용자가 서명 여부

그 방법으로 당신은 당신의 응용 프로그램 코드에서 복잡한 조건을 제거하고 대신 서버 "

에서 매우 간단한 조건이
if (user.signed_in && user.token != null) { 
    sendMessageTo(user); 
} 
+0

이렇게하면 메시지를 듣는 서비스는 계속 실행되며 이는 Frank의 질문 중 하나입니다. 환경 설정 화면의 사용자가 푸시 알림을 사용하지 않거나 사용자가 기록되지 않는 앱을 ​​둘러보기로 결정한 경우와 같이 일부 경우이를 중단하고 싶습니다. –

+0

옵트 인에 대한 주제는 어떻습니까? 기본적으로 체크 박스를 묶어 주제에 가입/가입 취소합니다. –

+1

참고 : 토큰이 자동으로 생성 되더라도 사용자가 로그인 할 때까지 토큰을 사용할 의무가 없습니다. 또한 토큰이 생성되면 FirebaseMessagingService가 시작되지 않습니다. 필요한 경우 메시지가 수신되는 것처럼 Google Play 서비스에서 시작합니다. –

0

@ FrankvanPuffelen의 답변에 덧붙여, 토큰이 자동으로 생성 되더라도 사용자가 로그인 할 때까지는 사용 의무가 없습니다. 또한 토큰이 생성되면 FirebaseMessagingService가 시작되지 않습니다. 메시지 수신과 같이 필요한 경우 Google Play 서비스에서 시작합니다.