如何将推送通知中的图片发送到 ionic 2 应用程序
Posted
技术标签:
【中文标题】如何将推送通知中的图片发送到 ionic 2 应用程序【英文标题】:How to send picture in push notifications to ionic 2 app 【发布时间】:2017-10-13 12:29:16 【问题描述】:我尝试使用以下代码将图片发送到我的 android 应用。
public class PushNotificationUtility
private static String SERVER_KEY = "MYSERVERKEY";
public static void main(String[] args) throws Exception
String title = "My First Notification";
String message = "Hello, I'm push notification";
sendPushNotification(title, message);
private static void sendPushNotification(String title, String message) throws Exception
// Create connection to send FCM Message request.
URL url = new URL("https://fcm.googleapis.com/fcm/send");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", "key=" + SERVER_KEY);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestMethod("POST");
conn.setDoOutput(true);
JSONObject json = new JSONObject();
json.put("to","/topics/MYTopic");
JSONObject info = new JSONObject();
info.put("title", title); // Notification title
info.put("body", message); // Notification body
info.put("picture","http://36.media.tumblr.com/c066cc2238103856c9ac506faa6f3bc2/tumblr_nmstmqtuo81tssmyno1_1280.jpg");
info.put("summaryText","Summary");
json.put("notification", info);
// Send FCM message content.
OutputStream outputStream = conn.getOutputStream();
outputStream.write(json.toString().getBytes());
System.out.println(conn.getResponseCode());
System.out.println(conn.getResponseMessage());
我可以将通知发送到 Android 设备,但不能发送图片。我想将图片与消息一起发送。我需要在客户端做些什么来显示图片吗?
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:FCM notification 上没有 picture
属性,您可以做的是使用data
属性发送和对象,当用户收到推送时,您想在应用中使用的重要数据,使用属性picture
与您的图片链接:
let data =
picture: 'http://36.media.tumblr.com/c066cc2238103856c9ac506faa6f3bc2/tumblr_nmstmqtuo81tssmyno1_1280.jpg'
;
info.put("data", data); // Notification data
并且在你的接收推送方法中你可以抓取这个属性并显示图片。
myPlugin.on('notification', notification =>
console.log(notification); // JUST TO SEE THE CALLBACK STRUCTURE
this.myImage = notification.data.picture;
);
希望这会有所帮助:D
【讨论】:
我希望图像显示为通知的一部分,就像某些优惠的广告一样。不像一些数据。通常我们会在购物应用中看到这类通知。 @user1188867 哦,明白了。据我所知,FCM cordova 插件不支持这种通知。 Ionic.io 通知也不支持它。我认为这是更原生的,或者还没有人能用插件做到这一点。但是这里有一个关于如何实现这个的Android教程androidbash.com/firebase-push-notification-android以上是关于如何将推送通知中的图片发送到 ionic 2 应用程序的主要内容,如果未能解决你的问题,请参考以下文章