FCMではURLタイプ「アイコン」を送信できないため、タイプ「データ」のFCMからメッセージが到着するとすぐにローカル通知を適用しようとしました。ただし、「data」タイプのメッセージはアプリケーションを閉じたときに処理されないため、「notification」タイプのメッセージを再利用する必要がありました。「アイコン」オプションは「画像」を使用することを考えていたURLでは機能しないため、アイコンとして機能する小さなものだけが必要です。メッセージを圧縮して、大きな画像を非表示にし、小さな画像のみを表示する方法はありますか?
下の画像の2番目のメッセージのようなもので、この隠された大きな画像は別のメッセージを受信します。
RESTでの通知のJSON構造は次のとおりです。
{
"to": "fVJq6D9...................................",
"notification": {
"title": "Title Message 2",
"body": "Body Message 2",
"image": "http://www.iconarchive.com/download/i65798/hopstarter/bioman/Bioman-Avatar-1-Red.ico"
}
}
アプリの構築にはFlutterを使用しています。
現在、動的に設定するアイコンは、そのsetSmallIcon()
定義からローカルに保存されたリソースへのIDを必要とする小さなアイコンセットであるため、これは不可能です。
/**
* Set the small icon to use in the notification layouts. Different classes of devices
* may return different sizes. See the UX guidelines for more information on how to
* design these icons.
*
* @param icon A resource ID in the application's package of the drawable to use.
*/
public Builder setSmallIcon(int icon) {
mNotification.icon = icon;
return this;
}
サーバーによってフェッチされた画像のIDを取得することはできません。代わりに、対応する小さなアイコンがコードに設定されている場合に応じて、さまざまな通知を作成してみることができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加