Phonegap Push Plugin を使用していますが、通知領域にプッシュ通知が表示されている場合、アイコンは白い四角形です。代わりにstar.png
を表示します。私は ドキュメント を次のように試してみました:
star.png
にwww/images
を入れ、config.xml
に次の行を追加しました
<platform name="Android">
<resource-file src="www/images/star.png" target="res/drawable-xhdpi/star.png" />
<resource-file src="www/images/star.png" target="res/drawable-hdpi/star.png" />
<resource-file src="www/images/star.png" target="res/drawable-mdpi/star.png" />
<resource-file src="www/images/star.png" target="res/drawable-ldpi/star.png" />
</platform>
(私は異なる解像度を使用する必要があることを理解していますが、私は今それを動作させるように試みているだけです。)
次に、プラグインを初期化するときに使用します。
let Push = PushNotification.init({
Android: { senderID: globalData.firebaseSenderID, icon: 'star.png', iconColor: 'blue' },
ios: {}
});
icon: 'star'
も試しました。ただし、白い四角形は残ります。これを機能させるにはどうすればよいですか?
このプラグインとデフォルトの通知アイコン(白い四角)でも同じ問題が発生しました。 init()
関数のicon
プロパティはGCM(Pluginバージョン1.x)専用であるようです。 (サーバーから送信された)Pushペイロードにアイコンを設定する解決策を見つけました。残念ながら、このアプリケーションでは私たちのサービスではないため、ペイロードを変更できませんでした。
ただし、幸運なことに、firebaseには独自のプッシュアイコン設定(デフォルト:白い四角のアイコン)があり、AndroidManifest.xml
のメタデータタグで置き換えることができます。
platforms/Android/app/src/main/
にあるAndroidManifest.xmlファイルに次のmetadata
タグを追加して、このソリューションを試してください。
<application>
<!-- ... -->
<meta-data Android:name="com.google.firebase.messaging.default_notification_icon" Android:resource="@drawable/star"/>
<!-- ... -->
</application>
Androidアプリケーションを実行し、予想されるアイコンが表示されるかどうかを確認します。問題がなければ、私たちのようにコードバフックを使用してプロジェクトを拡張できます。たとえば、次のOSX bashスクリプトは常に上記の行をAndroidManifestに追加します。
sed -i '' "s|</application>|<meta-data Android:name=\"com.google.firebase.messaging.default_notification_icon\" Android:resource=\"@drawable/star\"/></application>|1" platforms/Android/app/src/main/AndroidManifest.xml
Cordova 8の場合、私はconfig.xml
ファイルは次のとおりです。
<resource-file src="resources/Android/notification/icon-mdpi.png" target="app/src/main/res/drawable-mdpi/notification.png" />
<resource-file src="resources/Android/notification/icon-hdpi.png" target="app/src/main/res/drawable-hdpi/notification.png" />
<resource-file src="resources/Android/notification/icon-xhdpi.png" target="app/src/main/res/drawable-xhdpi/notification.png" />
<resource-file src="resources/Android/notification/icon-xxhdpi.png" target="app/src/main/res/drawable-xxhdpi/notification.png" />
<resource-file src="resources/Android/notification/icon-xxxhdpi.png" target="app/src/main/res/drawable-xxxhdpi/notification.png" />
次に、アイコンをresources/Android/notification/
これらの解像度:
resources/Android/notification/icon-mdpi.png (24 × 24)
resources/Android/notification/icon-hdpi.png (36 × 36)
resources/Android/notification/icon-xhdpi.png (48 × 48)
resources/Android/notification/icon-xxhdpi.png (72 × 72)
resources/Android/notification/icon-xxxhdpi.png (96 × 96)
その後、通知をプロパティとしてスケジュールするときに使用されます。
smallIcon: 'res://notification',
ドキュメントのセクションを読んだ場合
ここで、アイコンはAndroid
.png
フォルダー内のres/drawable
画像ファイルの名前です。次に例を示します。platforms/ Android/res/drawable/phonegap.png画像をAndroidにコピーする方法を記述するフックを作成する_ res/drawableフォルダーはこのREADMEの範囲外ですしかし、あなたがコピーできる優れたチュートリアルがあります。`。詳細については、この記事をご覧ください http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/
drawable
フォルダーに必要なことが明確に示されていますが、これはありません。