0

현재 새 프로젝트에서 푸시 알림을 사용하고 있습니다. 따라서 푸시 토큰 생성을 실험하고 있습니다. 제 질문은 이것들이 언제 만료되는가요? Firebase 데이터베이스에 각 사용자 푸시 토큰을 저장하지만 이러한 토큰이 만료/재발생한다는 사실을 알고 있습니다. 그래서 내 질문에 푸시 토큰을 최신으로 유지하는 가장 좋은 방법은 무엇입니까? Swift FIRMessaging 푸시 알림 토큰 재설정

는 단순히 사용자가 자신의 프로필? 내가 바로 가입 후 푸시 알림을 허용하도록 사용자에게 요구하고 지금 현재의 당신은 볼

let token = FIRInstanceID.instanceID().token() 

ref.child("Users").child(id).child(pushToken).updateChildValues(["tokenid":token]) 

로 이동이마다 할 것인가, 어떻게 든 것 같습니다 요청을 거부하더라도 여전히 토큰 ID를 생성합니다. 그래서 내 질문은 어떻게이 토큰 ID를 업데이트 된 상태로 유지할 수 있습니까? AppDelegate에서이 작업을 수행해야합니까?

감사합니다. 도움을 많이 받으실 수 있습니다!

답변

1

올바르게 데이터베이스에 토큰을 저장하려면 이가지 경우 처리해야합니다 :

  1. 앱이 시작 토큰 앱에

먼저 get the current token을 갱신됩니다

  • /FirebaseInst를 호출하여 메인 뷰가 시작됩니다. viewDidLoad :

    if let token = FIRInstanceID.instanceID().token() { 
        ref.child("Users").child(id).child(pushToken).updateChildValues(["tokenid":token]) 
    } 
    
    예를 들어 FIRInstanceID.instanceID().token()을 호출합니다.

    현재 토큰이 아직 생성되지 않았기 때문에이 코드에서 nil을 처리해야합니다.

    다음 tokenRefreshNotification을 구현하여monitor for changes to the token이 작동 Update Firebase Instance ID on app update

  • +0

    :

    func tokenRefreshNotification(notification: NSNotification) { if let refreshedToken = FIRInstanceID.instanceID().token() { ref.child("Users").child(id).child(pushToken).updateChildValues(["tokenid":refreshedToken]) } } 

    이 또한 내가 안드로이드에 대한 유사한 사용 사례에 준이 답변을 참조하십시오. 정말 고맙습니다! – askaale