[英]How can I show icons in push notification?
在推送通知中遇到圖標問題。
我正在使用 PHP 向 android 應用程序發送推送通知,以及我使用Ionic 4和Angular 8創建的 android 應用程序
下面是PHP代碼
<?php
error_reporting(E_ALL);
ini_set("display_errors", true);
// API access key from Google API's Console
define( 'API_ACCESS_KEY', 'xyz' );
$registrationIds = array("");
$_POST['title'] = "Title goes here.";
$_POST['subtitle'] = " ";
$_POST['ticket_text'] = " ";
$_POST['message'] = "Write here your message.";
// prep the bundle
$msg = array
(
'message' => $_POST['message'],
'title' => $_POST['title'],
'subtitle' => $_POST['subtitle'],
'tickerText' => $_POST['ticket_text'],
'vibrate' => 1,
'alert'=> 'true',
'badge'=> true,
'sound'=> 'true',
'largeIcon' => 'large_icon',
'smallIcon' => 'small_icon'
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo $result;
exit;
該圖標應存儲在您的 android 應用程序的資源文件夾中。 然后你在 largeIcon 或 smallIcon 你發送文件的名字。
<platform name="android">
...
<resource-file src="locales/android/drawable-mdpi/ic_stat_onesignal_default.png" target="app/src/main/res/drawable-mdpi/ic_stat_onesignal_default.png" />
<resource-file src="locales/android/drawable-hdpi/ic_stat_onesignal_default.png" target="app/src/main/res/drawable-hdpi/ic_stat_onesignal_default.png" />
<resource-file src="locales/android/drawable-xhdpi/ic_stat_onesignal_default.png" target="app/src/main/res/drawable-xhdpi/ic_stat_onesignal_default.png" />
<resource-file src="locales/android/drawable-xxhdpi/ic_stat_onesignal_default.png" target="app/src/main/res/drawable-xxhdpi/ic_stat_onesignal_default.png" />
<resource-file src="locales/android/drawable-xxxhdpi/ic_stat_onesignal_default.png" target="app/src/main/res/drawable-xxxhdpi/ic_stat_onesignal_default.png" />
<!-- Uncomment if you have added a large icon. -->
<!--- <resource-file src="locales/android/drawable-xxxhdpi/ic_onesignal_large_icon_default.png" target="app/src/main/res/drawable-xxxhdpi/ic_onesignal_large_icon_default.png" /> --->
</platform>
我知道您沒有使用 onesignal,但它在 android 中存儲圖像的方式相同,因此將 ic_stat_onesignal_default.png 更改為所需的名稱。
https://medium.com/@senning/push-notifications-with-ionic-and-cordova-plugin-firebase-ab0c0cad3cc0
這是一個關於您如何准確地做到這一點的鏈接,因為他在這里使用的是 firebase 而不是 onesignal,這對您來說可能更清楚。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.