私はSwiftおよびfirebaseで作業しています。以前は、次のメソッドを使用してfirebaseトークンを取得し、それを使用してデータベースに保存して通知を送信していました。
InstanceID.instanceID().token()
これで、Firebaseを更新したため、このメソッドは非推奨として表示されています。
'token()' is deprecated: Use instanceIDWithHandler: instead.
instanceIDWithHandler
の使用方法がわかりませんが、以下を試しましたが、トークンを取得する方法がわかりません。
func instanceID(handler: @escaping InstanceIDResultHandler){
}
助けてください。前もって感謝します。
登録トークンは、
messaging:didReceiveRegistrationToken:
メソッドを介して配信されます。このメソッドは、通常、アプリがFCMトークンで開始されるたびに1回呼び出されます。このメソッドが呼び出されるとき、次のことが理想的です。
- 登録トークンが新しい場合は、アプリケーションサーバーに送信します。
- 登録トークンをトピックにサブスクライブします。これは、新しいサブスクリプションまたはユーザーがアプリを再インストールした場合にのみ必要です。
instanceIDWithHandler:
を使用して、トークンを直接取得できます。このコールバックは、トークンを含むInstanceIDResult
を提供します。 InstanceIDの取得が何らかの方法で失敗した場合、null以外のエラーが提供されます。
目的C
getTokenMethodで
[[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Error fetching remote instance ID: %@", error);
} else {
NSLog(@"Remote instance ID token: %@", result.token);
}
}];
Swift
InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instange ID: \(error)")
} else if let result = result {
print("Remote instance ID token: \(result.token)")
}
}