我正在发送纯FCM数据通知到一个Android客户端,它们是端到端加密的。android应用程序解密数据通知负载,并从加密的数据创建本地通知。只要应用程序在前台或后台运行,这就可以正常工作:通知负载会被接收、解密,甚至会显示在锁定屏幕上,但只有在应用程序运行的时候才可以。我还查看了消息优先级,并在通知消息的AndroidConfig成员和数据字段中将其设置为“high”(发送到FCM的应用服务器),但没有效果。向当前未运行相应app的android设备发送数据消息的正确方法是什么?这到底有没有可能?
app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
logger.Info("Error initializing app: %v\n", err)
os.Exit(-536870136) /// -536870136 = 0xE0000308 is ERR_INOTE_FCM_FAILED_APP_INITIALIZE
}
// Obtain a messaging.Client from the App.
ctx := context.Background()
client, err := app.Messaging(ctx)
if err != nil {
logger.Info("Error getting Messaging client: %v\n", err)
os.Exit(-536870137) /// -536870137 = 0xE0000307 is ERR_INOTE_FCM_FAILED_GET_MESSAGING_CLIENT
}
message := &messaging.Message{
Data: map[string]string{
"NotificationType": "Push",
"E2E": strEncrypted,
"IV": strIV,
"Key": strSessionKey,
"Signature": strSignature,
},
Token: registrationToken,
}
// Send a message to the device corresponding to the provided
// registration token.
response, err := client.Send(ctx, message)
if err != nil {
logger.Info(err)
os.Exit(-536870138) /// -536870138 = 0xE0000306 is ERR_INOTE_FCM_FAILED_SEND
}
感谢任何帮助,
--斯特凡
你做得很好,绝对正确,它的android操作系统的行为,当应用程序在后台,你不再处理消息
你需要在android清单文件中添加默认的意图过滤器,如果后台的应用程序出现通知的话。所以点击fcm后,您将启动默认活动。在这里您可以添加您的逻辑
手机是OnePlus3T。oxygen OS版本为4.1.6。当应用程序在前台、后台但在内存中时,应用程序会收到通知。但当应用程序不在内存中(即从内存中刷出)时不会收到通知。其他安装了android操作系统版本4.2、5.1.1、6.0.1、7.1.1的设备也会收到通知,即使应用程序不在内存中。 好心建议点什么。提前道谢。
我面临Firebase云消息传递(FCM)的问题。我的问题是:当应用程序在最近的选项卡中关闭时,设备没有收到FCM推送通知。当应用程序处于前台或后台时,它可以正常工作。但是,当我从后台关闭它时,我在通知栏中没有收到任何通知。 我看了很多帖子,尝试了很多解决方案,但在我的情况下没有任何效果:( 我尝试过的步骤: 我在依赖项中添加了fcm 2.我已经在我的项目/build.gradle中添加了谷歌服务
下面是我的函数的简化版本: 我没有任何特定的java代码,因为我现在只需要显示通知。有没有人想过用一种简单的方法来存档这个问题?
我想在用户收到应用程序上的通知时自动启动应用程序。启动程序图标上不会有点击操作。
我目前正在开发Android(Cordova)应用程序,我正在使用Oneignal推送通知。首先,如果我关闭应用程序,推送通知不会被传递,所以我不得不添加一个Cordova插件来保持我的应用程序在后台运行: 我在deviceready之后的代码: 谢了。
当应用程序在前台时不接收推送通知,但当应用程序在后台时接收我已遵循来自https://medium . com/@ ankushaggarwal/GCM-setup-for-Android-push-notifications-656 cf DD 8 adbd的FCM教程