当前位置: 首页 > 知识库问答 >
问题:

React Native仅在应用程序位于后台时接收远程推送通知

阮才俊
2023-03-14

我在我的react native应用程序中使用react native push notification来接收远程推送通知。一切正常,当应用程序处于前台或后台时,我会收到所有通知。

但是我希望通知仅在应用程序在后台时显示。如果应用程序在前台,它不应该显示通知。

任何帮助都将不胜感激。

我的清单文件包含以下代码:

  <meta-data  android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_launcher" />
  <meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_name" android:value="YOUR NOTIFICATION CHANNEL NAME"/>
  <meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_description" android:value="YOUR NOTIFICATION CHANNEL DESCRIPTION"/>
  <!-- Change the resource name to your App's accent color - or any other color you want -->
  <meta-data  android:name="com.dieam.reactnativepushnotification.notification_color" android:resource="@android:color/white"/>

  <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" />
  <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
    <intent-filter>
      <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
  </receiver>
  <service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationRegistrationService"/>
  <service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService">
      <intent-filter>
          <action android:name="com.google.firebase.MESSAGING_EVENT" />
      </intent-filter>
  </service>

共有1个答案

季小云
2023-03-14

如果您希望在后台发送通知,那么应该只从服务器发送数据有效负载消息。如果通知负载包含通知密钥,那么android操作系统会自动显示这些通知。因此,最好在通知内容中只使用数据负载。

有关fcm消息,请参阅此链接:https://firebase.google.com/docs/cloud-messaging/concept-options

 类似资料:
  • 当应用程序在前台时不接收推送通知,但当应用程序在后台时接收我已遵循来自https://medium . com/@ ankushaggarwal/GCM-setup-for-Android-push-notifications-656 cf DD 8 adbd的FCM教程

  • 我正在使用FCM在代码下推送通知,以便在收到通知时播放声音 我称之为OnMessageReceived方法,但声音仅在应用程序位于前台时播放,而不是在应用程序位于后台时播放

  • 我使用FCM(Firebase Cloud Messaging)在iOS中发送推送通知。 我能够在应用程序处于前台状态时收到通知。但当应用程序处于后台状态时,不会收到通知。每当应用程序进入前台状态时,才会收到通知。 我的代码是: 当App处于后台状态时: --根本不叫。 我在应用程序功能中启用了推送通知和后台模式下的远程通知。但应用程序仍然没有收到通知。 我提到了一些问题,但没能解决这个问题。iO

  • 当应用程序在后台时,如何更新包含数据负载的Firebase推送通知?有没有办法在通知中指定通知id给Firebase API? 完整的项目在github https://github.com/akshatashan/FireBaseCloudMessagingDemo中

  • 有时当应用程序收到通知时,它不会发出声音。下面是代码段。

  • 我试图在我正在开发的Cordova应用程序中获得推送通知。它们在Android应用程序中工作得很好,在iOS应用程序中,当应用程序处于前台时,它们也工作得很好,但当应用程序处于后台或终止时,我不会收到任何通知。 我启用了“推送通知”和“后台模式-远程通知”功能: 我100%肯定服务器有设备令牌(因为推送通知在前台工作,我可以在数据库中看到它)。 如果我在应用程序应该收到通知后启动它或将它带到前台,