FCM HTTP v1 API 和 Notifications Composer 支持在显示通知 (display notification) 的载荷中发送图片链接,以便在传送后将图片下载到设备。通知图片的大小上限为 1MB,其它则取决于原生 Android 图片支持的限制。
构建发送请求
在通知发送请求 (send request) 中,设置以下 AndroidConfig 选项:
- 包含图片网址的
notification.image
以下示例发送请求会向所有平台发送通用的通知标题,但也会发送图片。以下是用户设备上大致的视觉效果:
Node.js
const topicName = 'industry-tech';
const message = {
notification: {
title: 'Sparky says hello!'
},
android: {
notification: {
imageUrl: 'https://foo.bar.pizza-monster.png'
}
},
apns: {
payload: {
aps: {
'mutable-content': 1
}
},
fcm_options: {
image: 'https://foo.bar.pizza-monster.png'
}
},
webpush: {
headers: {
image: 'https://foo.bar.pizza-monster.png'
}
},
topic: topicName,
};
getMessaging().send(message)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});
REST
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1
Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
"message":{
"topic":"industry-tech",
"notification":{
"title":"Sparky says hello!",
},
"android":{
"notification":{
"image":"https://foo.bar/pizza-monster.png"
}
},
"apns":{
"payload":{
"aps":{
"mutable-content":1
}
},
"fcm_options": {
"image":"https://foo.bar/pizza-monster.png"
}
},
"webpush":{
"headers":{
"image":"https://foo.bar/pizza-monster.png"
}
}
}
}
如需全面、详细地了解消息正文中针对具体平台的块所提供的键,请参阅 HTTP v1 参考文档。
按所示方式设置 notification
后,此发送请求即可让接收客户端能够处理载荷中传送的图片。