簡體   English   中英

如何在推送通知中顯示圖標?

[英]How can I show icons in push notification?

推送通知中遇到圖標問題。

我正在使用 PHP 向 android 應用程序發送推送通知,以及我使用Ionic 4Angular 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM