firebaseのトークンを変更したり要求したりするにはどうすればよいですか? デバイス情報に基づいてfirebaseによって生成された一意のトークン。コードでFirebase通知トークンまたはインスタンスIDを強制的に変更または更新しますか?
6
A
答えて
8
私は、プッシュ通知のためのfirebaseの新しいトークンまたは変更トークンを生成するための多くの問題に直面した後、私の答えを得ました。
1)
2歳Firebaseトークン
let instance = FIRInstanceID.instanceID()
_ = FIRInstanceID.delete(instance)
FIRInstanceID.instanceID().delete { (err:Error?) in
if err != nil{
print(err.debugDescription);
} else {
print("Token Deleted");
}
}
を削除しますが)、私はあなたがfirebaseトークンを変更したり、更新したいことを理解し、新たなFirebaseトークン
if let token = FIRInstanceID.instanceID().token() {
print("Token \(token) fetched");
} else {
print("Unable to fetch token");
}
FIRMessaging.messaging().connect { (error) in
if (error != nil) {
print("Error connecting to FCM. \(error.debugDescription)")
} else {
print("Connected to FCM.")
}
}
0
を要求します。
真その後
registerFiを呼び出す場合、次の二つの方法
func registerFirebaseToken() { if let token = InstanceID.instanceID().token() { print("FIREBASE: Token \(token) fetched") } else { print("FIREBASE: Unable to fetch token"); } Messaging.messaging().shouldEstablishDirectChannel = true } func unregisterFirebaseToken(completion: @escaping (Bool)->()) { // Delete the Firebase instance ID InstanceID.instanceID().deleteID { (error) in if error != nil{ print("FIREBASE: ", error.debugDescription); completion(false) } else { print("FIREBASE: Token Deleted"); completion(true) } } }
はunregisterFirebaseToken(:)
と閉鎖チェックで
を呼び出して作成します。 rebaseToken()
これが初めて失敗し、デリゲートメソッドの1、すなわち
extension AppDelegate: MessagingDelegate {
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
registerFirebaseToken()
}
}
と呼ばれるこの時間
registerFirebaseToken()
デリゲートメソッドから再度呼び出され、新しいトークンが取得されます。
0
スウィフト4用に更新された回答、FireBase 4.8.2、FirebaseMessaging(2.0.8)
debugPrint("Existing Token :- \(Messaging.messaging().fcmToken!)")
let instance = InstanceID.instanceID()
instance.deleteID { (error) in
print(error.debugDescription)
}
if let token = InstanceID.instanceID().token() {
print("Token \(token) fetched");
} else {
print("Unable to fetch token");
}
Messaging.messaging().shouldEstablishDirectChannel = true
我々はMessagingDelegate方法ならびに更新トークンにこの更新されたトークンを受け取る
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")
}
関連する問題
- 1. Angular2、ZonesとChangeDetectorRefは、受信したデータを強制的に更新します。
- 2. ajaxリクエストで強制的に更新しますか?
- 3. 更新した後、JavaScriptをHTMLページで更新して強制的にリロードしますか?
- 4. 強制的にWPFコントロールを更新しますか?
- 5. ComboBox.SelectedItemにバインドされたTextbox DataContextを強制的に更新できますか?
- 6. 強制的にアサートを更新できますか?
- 7. ASP.NET IDがあります。UserManager.CreateAsync()は最近更新された変更で更新されましたか?
- 8. window.location強制的に更新しますか?
- 9. Jquery NOTYは通知ウィンドウのinputまたはdivを更新しますか?
- 10. コンテンツが変更された後に強制的にページを更新する
- 11. データベースの更新時にfirebaseを使用したバックグラウンド通知
- 12. 強制的にgitサブモジュールを更新することはできますか?
- 13. eclipselinkで強制的に更新する
- 14. Google Playはベータテスターに更新通知を送信しますか?
- 15. Firebase特定のフィールドを更新しますか?このコードで継続的に私のfirebaseデータベースを更新
- 16. OdooのDevelopementインスタンスからProductionインスタンスへの変更を更新しました
- 17. メソッドは強制的に更新する必要がありますが、整数は更新されません
- 18. アップデートパネルで強制的に更新イメージ
- 19. SQLiteのデータ変更通知PythonまたはBashまたはCLIによるコールバック
- 20. FAMまたはlighttpdへのファイル作成の強制通知
- 21. 通知トレイで通知をマージ/変更できますか?
- 22. Firebase - everytimeノードを更新するOnWriteを更新しました
- 23. 強制的に更新するImportXML
- 24. なぜcursorLoaderはソースデータの変更を通知しませんでしたか?
- 25. IEブラウザで強制的にキャッシュを強制的に更新する - C#、ASP
- 26. titan(グラフデータベース)は更新通知をサポートしていますか?
- 27. オリエンテーションを強制的に変更する
- 28. git:rebaseして強制的に変更を失った場合
- 29. メインクラスまたはメインメソッド内のインスタンス変数を変更します
- 30. computed.filter()を更新するように強制しますか?
更新トークンにはこの "messaging()。connect"が必要ですか? –
はい、トークンを更新する方法がないので、最初にトークンを削除してから新しいトークンを要求しなければならないので、 "messaging()。connect"が必要です。あなたが別の方法を見つけたら、提案はいつでも歓迎します。 – PRAVEEN
この「削除」はもう使用されません。「shouldEstablishDirectChannel」ブール値を使用する必要があります。トークンをリフレッシュしていないので、同じままにしてください。私はそれを解決するとき、私はここに入れます。ありがとう! –