检测是否通过推送通知打开了React Native iOS应用

马克·阿默里

通过推送通知检测应用程序是否已启动/打开描述了如何通过用户点击推送通知来检测是否已打开本机iOS应用程序(即已启动还是仅处于活动状态)。

我如何在React Native中做同样的事情?PushNotificationIOS让我附加一个通知侦听器...

PushNotificationIOS.addEventListener('notification', function (notification) {
    console.log('got a notification', notification);
});

但是这两个触发当接收在前台的应用,推送通知,并当我通过推送通知打开应用程序。

我如何特别检测第二种情况?

马克·阿默里

这里有两种情况需要以不同的方式进行检测:

  1. 该应用程序已被完全终止(例如,通过重新启动手机,或者通过双攻的家,然后滑动它关闭在后台运行的应用程序的列表),并正在推出由用户的水龙头上的推送通知。可以通过该React.PushNotificationIOS.getInitialNotification方法检测(并获取通知的数据)
  2. 该应用已被暂停,并且通过用户在推送通知上的点击而再次变为活动状态。只是像在本机应用程序,你可以告诉大家,这种情况正在发生,因为iOS的通过抽头通知您的应用程序时,它是开放(即使它是一个老的通知),使您的通知处理程序,以火,当你的应用程序是在UIApplicationStateInactive状态(或'background'状态,如React Native的AppStateIOS类所称)。

处理这两种情况的代码(您可以将其放在您index.ios.js或应用启动时运行的其他位置):

import React from 'react';
import { PushNotificationIOS, AppState } from 'react-native';

function appOpenedByNotificationTap(notification) {
  // This is your handler. The tapped notification gets passed in here.
  // Do whatever you like with it.
  console.log(notification);
}

PushNotificationIOS.getInitialNotification().then(function (notification) {
  if (notification != null) {
    appOpenedByNotificationTap(notification);
  }
});

let backgroundNotification;

PushNotificationIOS.addEventListener('notification', function (notification) {
  if (AppState.currentState === 'background') {
    backgroundNotification = notification;
  }
});

AppState.addEventListener('change', function (new_state) {
  if (new_state === 'active' && backgroundNotification != null) {
    appOpenedByNotificationTap(backgroundNotification);
    backgroundNotification = null;
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React-native Firebase IOS推送通知

来自分类Dev

上传 Ios 应用徽标 In react native

来自分类Dev

当应用程序处于后台时,带有React Native的无声iOS推送通知

来自分类Dev

React Native - IOS 推送通知 - 如何在应用程序处于后台时播放铃声?

来自分类Dev

[React Native][IOS] 如何在通知打开应用程序时捕获事件

来自分类Dev

重置推送通知/设备注册/实例ID-通过TestFlight或App Store更新应用-Firebase Cloud Messaging iOS / React Native Firebase

来自分类Dev

如果应用已关闭,则推送通知(React-Native)

来自分类Dev

React Native Ios推送通知不起作用

来自分类Dev

无法在App Store上发布React-native iOS应用

来自分类Dev

Firebase 与 React-Native IOS 应用程序的集成失败

来自分类Dev

如何检测何时打开React Native应用程序?

来自分类Dev

iOS:通过通知通知检测应用启动

来自分类Dev

检测特定应用程序是否打开了任何菜单

来自分类Dev

如何从我的应用程序打开ios Native Dialer应用程序

来自分类Dev

React Native 检查是否在 Android 上启用了应用通知

来自分类Dev

如何判断用户是否在iOS 7远程通知后台模式下使用通知打开了应用程序?

来自分类Dev

将本机iOS应用程序的数据迁移到React Native应用程序的异步存储

来自分类Dev

如何在React Native iOS应用程序中更新应用程序版本?

来自分类Dev

iOS:通过通知按键检测应用启动

来自分类Dev

从iOS中的另一个应用程序打开设置应用程序-React Native

来自分类Dev

React Native:在特定的Deeplink URL中打开推送通知

来自分类Dev

具有推送通知功能的 React Native 应用程序在启动时崩溃

来自分类Dev

react-native-firebase - 收到推送通知后应用程序崩溃(Android)

来自分类Dev

当应用程序通过推送通知从终止状态打开时,iOS Web 视图应用程序崩溃

来自分类Dev

无法在iOS中打开React Native DateTimePicker

来自分类Dev

使用离线捆绑包在iOS设备上运行react-native应用

来自分类Dev

部署后react-native iOS应用未显示静态资产(图像)

来自分类Dev

在现有iOS应用程序中使用React Native仅适用于某些视图

来自分类Dev

如何在真实设备上捆绑和部署React-Native iOS应用

Related 相关文章

  1. 1

    React-native Firebase IOS推送通知

  2. 2

    上传 Ios 应用徽标 In react native

  3. 3

    当应用程序处于后台时,带有React Native的无声iOS推送通知

  4. 4

    React Native - IOS 推送通知 - 如何在应用程序处于后台时播放铃声?

  5. 5

    [React Native][IOS] 如何在通知打开应用程序时捕获事件

  6. 6

    重置推送通知/设备注册/实例ID-通过TestFlight或App Store更新应用-Firebase Cloud Messaging iOS / React Native Firebase

  7. 7

    如果应用已关闭,则推送通知(React-Native)

  8. 8

    React Native Ios推送通知不起作用

  9. 9

    无法在App Store上发布React-native iOS应用

  10. 10

    Firebase 与 React-Native IOS 应用程序的集成失败

  11. 11

    如何检测何时打开React Native应用程序?

  12. 12

    iOS:通过通知通知检测应用启动

  13. 13

    检测特定应用程序是否打开了任何菜单

  14. 14

    如何从我的应用程序打开ios Native Dialer应用程序

  15. 15

    React Native 检查是否在 Android 上启用了应用通知

  16. 16

    如何判断用户是否在iOS 7远程通知后台模式下使用通知打开了应用程序?

  17. 17

    将本机iOS应用程序的数据迁移到React Native应用程序的异步存储

  18. 18

    如何在React Native iOS应用程序中更新应用程序版本?

  19. 19

    iOS:通过通知按键检测应用启动

  20. 20

    从iOS中的另一个应用程序打开设置应用程序-React Native

  21. 21

    React Native:在特定的Deeplink URL中打开推送通知

  22. 22

    具有推送通知功能的 React Native 应用程序在启动时崩溃

  23. 23

    react-native-firebase - 收到推送通知后应用程序崩溃(Android)

  24. 24

    当应用程序通过推送通知从终止状态打开时,iOS Web 视图应用程序崩溃

  25. 25

    无法在iOS中打开React Native DateTimePicker

  26. 26

    使用离线捆绑包在iOS设备上运行react-native应用

  27. 27

    部署后react-native iOS应用未显示静态资产(图像)

  28. 28

    在现有iOS应用程序中使用React Native仅适用于某些视图

  29. 29

    如何在真实设备上捆绑和部署React-Native iOS应用

热门标签

归档