React Native OneSignal 访问启动应用程序启动的推送通知

Posted

技术标签:

【中文标题】React Native OneSignal 访问启动应用程序启动的推送通知【英文标题】:React Native OneSignal accessing push notification that initiated app start 【发布时间】:2019-06-03 17:29:06 【问题描述】:

我在我的 React Native ios 应用程序中使用 OneSignal,我需要访问应用程序是否从推送通知启动,如果是,我需要推送有效负载。

我在 OneSignal 文档中没有看到任何内容。这是我的代码(在应用构造函数中立即调用):

OneSignal.init('UID_REDACTED');
OneSignal.addEventListener('ids', onIds);
OneSignal.addEventListener('received', didReceiveNotification);
OneSignal.inFocusDisplaying(2) //0: none, 1: alert, 2: notif
OneSignal.configure();  // triggers the ids event

onIds 函数触发正常,didReceiveNotification 也可以完美运行如果应用程序已经在运行。如果应用程序是通过点击推送通知启动的,则不会调用它。我需要处理这种情况,因为我需要将推送有效负载深度链接到操作。

如何使用 OneSignal 在 React Native 中处理导致应用启动的推送通知。

【问题讨论】:

【参考方案1】:

感谢您的提问。听起来您正在寻找opened...

onOpened(openResult) 
    console.log('Message: ', openResult.notification.payload.body);
    console.log('Data: ', openResult.notification.payload.additionalData);
    console.log('isActive: ', openResult.notification.isAppInFocus);
    console.log('openResult: ', openResult);

链接:https://documentation.onesignal.com/docs/react-native-sdk#section-handling-notifications

【讨论】:

以上是关于React Native OneSignal 访问启动应用程序启动的推送通知的主要内容,如果未能解决你的问题,请参考以下文章

OneSignal - Android React Native 中未显示弹出通知

React Native - 带有条件的 OneSignal 推送通知概念设置

需要适用于 Android 和 IOS 的 React Native OneSignal 后台监听器

dyld:库未加载:@rpath/OneSignal.framework/OneSignal

OneSignal 后台数据通知

在 android 上未收到 OneSignal 通知,但从 OneSignal 控制台发送