0

私は現在、私の新しいプロジェクトでプッシュ通知を行っています。プッシュトークンの生成を試しています。私の質問は、いつこれらが期限切れですか? Firebaseデータベースに各ユーザのプッシュトークンを保存しますが、これらのトークンが期限切れ/再生成されるという事実を知っています。だから私の質問は、プッシュトークンを最新の状態に保つ最良の方法は何ですか? Swift FIRMessagingプッシュ通知トークンリセット

は、私は単純に、ユーザが自分のプロフィール?:私は右のサインアップ後にプッシュ通知を許可するユーザーを求めています今のようあなたは、見

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

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

に移動し、このすべての時間を行うだろうが、何とかそれはそうです要求を拒否しても依然としてトークンIDが生成されます。だから私の質問は、私はこのトークンIDを更新したままにすることができますですか? AppDelegateでこれを行う必要がありますか?

ありがとうございました。助けが大いにありがとう!

答えて

1

が正しくデータベースにトークンを格納するには、2例処理する必要があります:

  1. は、アプリが起動するトークンがアプリに

まずget the current tokenをリフレッシュします

  • /FirebaseInstを呼び出すことによってメインビューが開始されます。viewDidLoad

    if let token = FIRInstanceID.instanceID().token() { 
        ref.child("Users").child(id).child(pushToken).updateChildValues(["tokenid":token]) 
    } 
    
    たとえば、

    現在のトークンがまだ生成されていない可能性があるため、このコードでnilを処理する必要があります。

    その後monitor for changes to the tokentokenRefreshNotificationを実装することによって:

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

    また、私は、Androidのための同様のユースケースに与えたこの回答を参照してください。Update Firebase Instance ID on app update

  • +0

    これは動作します。どうもありがとうございます! – askaale