我使用的是FCM云消息,当应用程序在后台但未被杀死或应用程序正在运行时,它工作得很好。一旦应用程序被停止或从最近的应用程序杀死,它不会收到任何通知。
即使是在应用程序启动后,它也不会收到旧的消息。
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Map<String, String> data = remoteMessage.getData();
String myCustomKey = data.get("Nick");
String myCustomKey1 = data.get("Room");
testNotification(myCustomKey,myCustomKey1);
}
private void testNotification(String message,String title) {
Intent intent = new Intent(this, ChatActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.sham_icon)
.setContentTitle(title)
.setContentText(message)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
用于发送通知的服务器端代码
{
"to" : "token-key",
"data" : {
"title":"title",
"body":"body",
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
firebase服务和通知的清单代码
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/narendramodi_icon" />
android:resource="@drawable/sham_icon" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/accent" />
<service android:name=".firebase.MyFirebaseMessagingService"
android:exported="false">
<intent-filter android:priority="10000">
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".firebase.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
感谢任何帮助。
发生这种情况的原因是在某些设备上,系统不允许其他应用程序启动应用程序或应用程序服务,对于FCM通知,Google Play services会启动您的应用程序服务,如果您的应用程序已经被杀死,当它们被杀死时(例如小米手机带有MIUI)。
我正在将通知从GCM迁移到FCM。在GCM中,当应用程序处于前台、后台或被杀死时,我能够收到通知,但在FCM中,当应用程序未被打开或被刷出时,我无法收到通知。我错过什么了吗???? } json请求正文:
我已经编写了一个Windows7.5 phone应用程序,用于注册mpns的tile和toast推送通知。我有所有的基础设施工作和电话注册的MPNS。我将ChannelUri保存在手机上,然后将ChannelUri发布到我网站上记录设备/ChannelUri的rest服务endpoint。我可以从web服务发送toast和tile消息,并在电话上接收它们,没有任何问题。如果应用程序正在运行,我可以
我正在开发一个电子邮件应用程序,我希望用户在收到新电子邮件后立即收到推送通知。为此,我使用FCM。我刚刚通过以下链接尝试使用FCM推送通知:https://www.youtube.com/watch?v=XijS62iP1Xo 感谢每一种帮助。提前感谢。
我想为一个聊天应用程序实现FCM推送通知服务,我遵循Firebase文档中的步骤,当通知从Firebase控制台发送到我的设备时,我会得到通知。当我尝试使用http post to https://FCM.googleapis.com/FCM/send通过FCM将通知通过服务器端发送到设备时: 当应用程序处于活动状态并且我正在将此通知发送到我的设备时,Im在我的控制台日志中收到以下消息,所以我认为
我正在使用FCM进行云消息传递。当我在后台和前台应用状态下收到来自服务器的消息推送时,我想添加应用徽章。我错过了什么?主要问题是根据消息推送添加/更新/删除应用徽章,我可以接收和处理推送消息。我在这个问题上花了3天时间。请帮帮我!?*徽章号码根据内部内容的变化,如如果收到新的电子邮件邮件到gmail应用程序,徽章号码在后台和前台应用程序状态更改为未读邮件计数。 使用XCode 9.2、Swift
我们正在开发一款android应用程序,以接收fcm的推送通知。我们在不同的手机上对该应用程序进行了全面测试,除oneplus 3t手机外,其他所有手机都运行良好。当应用程序被终止或从最近的应用程序中刷出时,它不会收到通知。当应用程序位于前台或打开时,它会收到通知。 我们从互联网上搜索了很多东西,很多网站说,将通知有效负载更改为数据,我们也在更改,它在oneplus 3t mobile中不起作用。