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 访问启动应用程序启动的推送通知的主要内容,如果未能解决你的问题,请参考以下文章