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

react native onesignal接收推送通知而不打开通知

颜楚青
2023-03-14

我已经检查了react native onesignal github README,似乎获得通知的唯一方法是通过onNotificationOpen()回调打开。

他们的文件表明:

当打开或接收到任何通知时,调用回调onNotify传递带有通知数据的对象。

但是,onNotification显然不起作用。

有没有办法在不打开推送通知或启用应用内警报通知的情况下获取通知?

共有2个答案

凌联
2023-03-14

关于在android中实现NotificationExtenderService(不是回答原始问题,而是@Ryeball提出的问题),如中所述https://documentation.onesignal.com/docs/android-customizations#section-背景数据和通知覆盖:

>

  • 当应用程序关闭/刷出/未启动时,我收到通知,但未实现NotificationExtenderService
  • 但是,为了实现NotificationExtenderService,您需要执行以下操作(如上文提到的onesignal文档中所述,请注意,这里有一个拼写错误,修复如下):

    1. 创建一个名为NotificationExtender的文件。java节点\u模块\react native onesignal\android\src\main\java\com\geektime\rnonesignalandroid中,包含以下内容:

    .

    import com.onesignal.OSNotificationPayload;
    package com.geektime.rnonesignalandroid;
    import com.onesignal.OSNotificationPayload;
    import com.onesignal.OSNotificationPayload;
    import com.onesignal.NotificationExtenderService;
    import com.onesignal.OSNotificationReceivedResult;
    
    public class NotificationExtender extends NotificationExtenderService {
       @Override
       protected boolean onNotificationProcessing(OSNotificationReceivedResult receivedResult) {
            // Read properties from result.
    
          // Return true to stop the notification from displaying.
          return false;
       }
    }
    

    .

    <service android:name=".NotificationExtender" 
       android:permission="android.permission.BIND_JOB_SERVICE" 
       android:exported="false">
      <intent-filter>
        <action android:name="com.onesignal.NotificationExtenderService" />
      </intent-filter>
    </service>
    

  • 葛宪
    2023-03-14

    只有在打开通知或在应用程序处于焦点时收到通知时,才会调用onNotification功能。

    如果需要在打开通知之前在后台处理通知,则需要使用本机代码。

    iOS-在OneSignal创建通知REST API POST调用中将content\u available设置为true,这将触发-application:didReceiveEmotentification:fetchCompletionHandler:selector。

    Android-按照OneSignal后台数据和通知覆盖说明设置一个NotificationExtender服务

     类似资料:
    • 我有一个React原生应用程序(在iOS上测试),正在尝试合并推送通知。我正在使用以下模块:https://www.npmjs.com/package/react-native-firebase-push-notifications. 我尝试运行示例应用程序代码,并能够获得(1)消息令牌和(2)从我的设备成功获得权限。 我正在尝试从Firebase发送测试通知,并且正在使用我设备的令牌。但是,触发

    • 我认为通过使用,我可以捕获请求正文,但事实是它什么也没有捕获。如果我理解正确,我应该收到一个结构在这里详细说明的变更资源。是我做错了什么,还是我理解错了?我很感激任何可以给予的洞察力和提前感谢!

    • 消息“成功订阅到广播频道。”在应用程序启动时打印。但是当我使用parse.com上的“发送推送通知”功能时,我的手机没有收到任何推送通知。 为什么不起作用?

    • 我看过这个问题。我有完全相同的问题,但我有来自Thawte的有效ssl证书。我只使用id、type和address属性进行了观察请求,如这里所述。我的address属性类似于 我甚至没有收到同步消息。会出什么问题?

    • 我没有收到Android推送通知。我能够 < li >注册设备 < li >接收设备标识符 < li >将通知消息推送到GCM 我成功进入通知发送事件,但我的设备上没有收到任何消息。成功的推送代码如下: