根据Firebase文档:
我的问题是,当应用程序在后台时,通知系统不显示通知。
我没有使用Firebase控制台,因为我无法将数据添加到通知负载中。所以我使用了RESTful客户机API,但还是同样的问题。
请求:
URL:https://fcm.googleapis.com/fcm/send
Method type: POST
Content-Type: application/json
Authorization : key=AAAAFi0N5KM....
Body:
{
"priority" : "high",
"notification" : {
"body" : "This week’s edition is now available.",
"title" : "NewsMagazine.com",
"icon" : "new",
"click_action": "OPEN_ACTIVITY_1" ,
"sound" : "mySound"
},
"data": {
"title": "title " ,
"body": "any vaslue "
},
"registration_ids": ["fVNdKJsWtNQ:APA91bEJ...."]
}
{
"multicast_id": 6105324374411246344,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
{
"message_id": "0:1486655756341577%dc81f05ff9fd7ecd"
}
]
}
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
sendNotification(remoteMessage.getData().get("title"),remoteMessage.getData().get("body"));
}
private void sendNotification(String messageTitle,String messageBody) {
Intent intent = new Intent(this, SplashActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0 /* request code */, intent,PendingIntent.FLAG_UPDATE_CURRENT);
long[] pattern = {500,500,500,500,500};
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.roshetta_logo_home)
.setContentTitle(messageTitle)
.setContentText(messageBody)
.setAutoCancel(true)
.setVibrate(pattern)
.setLights(Color.BLUE,1,1)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}
<service android:name=".Util.PushNotification.MyFirebaseMessagingService"
>
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service android:name=".Util.PushNotification.MyFirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
每次我们在华为手机上遇到问题,都是因为该应用程序不是“受保护的应用程序”。
我想为一个聊天应用程序实现FCM推送通知服务,我遵循Firebase文档中的步骤,当通知从Firebase控制台发送到我的设备时,我会得到通知。当我尝试使用http post to https://FCM.googleapis.com/FCM/send通过FCM将通知通过服务器端发送到设备时: 当应用程序处于活动状态并且我正在将此通知发送到我的设备时,Im在我的控制台日志中收到以下消息,所以我认为
我已使用zo0r/React本机推送通知在我的React本机应用程序上设置推送通知。它可以在Android系统上运行,当应用程序处于后台模式时,也可以在iOS上运行。 但是,当应用程序在iOS的前台模式下时,不会显示通知。我知道我必须在前台模式下处理通知,但我希望它们的显示方式与在后台模式下的显示方式完全相同。 所以我做了以下几件事: 但是什么都没发生,通知还是没有显示,我到底错过了什么?
我有两个装置。一个是运行API26,另一个是API21。我正在使用Googles firebase进行通知。API26设备不会收到推送通知,除非我先打开应用程序。然后它接收一切都很好。我不需要首先打开应用程序来接收API27设备上的推送通知。有什么想法,如何总是收到推送,即使没有打开应用程序?我希望通知到达用户只需打开他们的电话。
index.js中的代码 bgmessaging.js中的代码负责应用程序在后台时的推送 为了在应用程序处于前台时带来图像,我使用了下面的代码:-
当应用程序在后台时,如何更新包含数据负载的Firebase推送通知?有没有办法在通知中指定通知id给Firebase API? 完整的项目在github https://github.com/akshatashan/FireBaseCloudMessagingDemo中
我的应用程序有推送通知(FCM)。当应用程序在前台运行时,我可以在onMessageReceived()函数中获取数据负载。当应用程序在后台运行或应用程序完全关闭时,不会调用onMessageReceived()函数。我的问题是,当app在后台或关闭时,是否可能获得数据有效载荷? 提前道谢!