Ionic FCM推送通知-图像未推送

wi3ka0sx  于 2022-12-16  发布在  Ionic
关注(0)|答案(2)|浏览(225)

我遇到了一个问题,我正在尝试通过http发送FCM通知。当我发送以下有效负载时:

{
     "notification" : {
         "body" : "test Notification",
         "title": "test Notification",
         "image" : "https://www.fillmurray.com/640/360"
     },

"to":"firebasetoken",
"priority":"high"

}
我在移动的设备上收到通知,但通知只包含标题和正文。我尝试将图像更改为imageurl,但也不起作用。
我想显示我的通知如下。

我会感激帮助的,我去年年初试过了,这个有效载荷不错。

yduiuuwa

yduiuuwa1#

这是因为你使用的是不支持图像负载的旧HTTP API。请尝试迁移到HTTP v1 API,这样你将能够发送图像负载。请访问以下链接。Migration guide. Send image in notification payload
当迁移到HTTP v1时,您将需要oAuth令牌,如果您不知道如何生成它,我将在这里提供一步一步的指南。

要创建oAuth令牌,请执行以下步骤。

步骤1.从firebase控制台获取serviceaccount json文件。
进入firebase console -〉project setting -〉service account tab,点击generate new private key下载json文件,json文件中包含了一些凭证信息。
步骤2.生成令牌
生成令牌需要使用node、python或java运行一些程序代码,这里我将使用node。
使用以下代码创建generatekey.js文件,并在代码内更改json文件的路径。

var {google} = require("googleapis");

// Load the service account key JSON file.
var serviceAccount = 
require("path/to/downloaded.json"); //change path to your downloaded json file

// Define the required scopes.
var scopes = [
  "https://www.googleapis.com/auth/userinfo.email",
  "https://www.googleapis.com/auth/firebase.messaging"
 ];

// Authenticate a JWT client with the service account.
var jwtClient = new google.auth.JWT(serviceAccount.client_email,
null,serviceAccount.private_key,scopes);

// Use the JWT client to generate an access token.
jwtClient.authorize(function(error, tokens) {
if (error) {
  console.log("Error making request to generate access token:", 
  error);
} else if (tokens.access_token === null) {
console.log("Provided service account does not have permission to generate access tokens");
} else {
  var accessToken = tokens.access_token;
  console.log(accessToken);

  // See the "Using the access token" section below for information
  // on how to use the access token to send authenticated requests to
  // the Realtime Database REST API.
}
});

使用命令node generatekey.js从终端运行generatekey.js文件,它将打印OAuth2令牌。

ebdffaop

ebdffaop2#

尝试

const message = {
         "notification" : {
            "body" : "test Notification",
            "title": "test Notification",
         "android": {
            "notification": {
             imageUrl: 'https://www.fillmurray.com/640/360'}
}

相关问题