次のコードを使用してFireBase Cloud関数からFCMを介してマルチキャスト通知を送信しようとしています。
const message = {
tokens: recipients,
notification: {
title: title,
body: body
},
data: {
projectPartnerId: projectPartnerId
}
};
return admin.messaging().sendMulticast(message);
_
そして、プッシュ通知のどれも送信されていません。各応答には同じメッセージが含まれているというエラーが含まれています。「要求されたエンティティは見つかりませんでした」。
Google Cloud ConsoleのAPIを有効にしました(これはFirebaseのドキュメントのどこにも言及されていませんでしたが、明らかに必要でした)。私は他に何ができるかわからない。そして、私がHTTP APIまたはレガシAPIに関連する他のすべての質問。私はFirebase管理SDKの最新バージョンを使用しています。
理解した。それで、明らかに、このエラーは、"messaging/registration-token-not-registered"
エラーコードによって証明されるように、私が送信しようとしているFCMトークンがもう登録されていないときに発生します。その場合、私はユーザーのトークンからこのトークンを削除してそれを実行する必要があります。
IOSアプリのプッシュ通知を設定するときは、最近この問題になりました。 GitHub Thread Via この回答 。この問題は、Info.plist
のFirebaseAppDelegateProxyEnabled
が文字列ではなくBOOLに設定されていることでした。
<key>FirebaseAppDelegateProxyEnabled</key>
</false>
becomesう
<key>FirebaseAppDelegateProxyEnabled</key>
<string>0</string>
GitHubコメントは、中程度の投稿を介してフレーバーの実装を説明し、Firebase/Messaging
をPodfile
に追加することについて説明します。これはFlutterを使用してiOSアプリを構築することに関連しています。私のプロジェクトはFlutterで建てられていますが、Flutter自体によって管理されているように、フレーバーの周囲に何かを実装する必要がありませんでした。
同じ問題に直面した後、これは私のためにトリックをしました。
の中に Info.plist
ファイルを変更しました
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
_
これに
<key>FirebaseAppDelegateProxyEnabled</key>
<string>NO</string>
_