推送通知警报处理

Posted

技术标签:

【中文标题】推送通知警报处理【英文标题】:Push Notification Alert Handling 【发布时间】:2011-01-10 22:00:57 【问题描述】:

我有一个疑问。我正在构建一个应用程序,如果提交了新请求,我会在我的应用程序中收到推送通知,点击推送通知警报中的“查看”按钮,我需要显示请求详细信息页面。现在,通常这个请求详细信息页面是堆栈中的第 5 个视图。我该如何处理?我应该在进入详细信息页面之前初始化前 4 个视图并将它们放入堆栈吗?

此外,还有一种情况是,如果有人正在处理应用程序的某些部分并且会出现通知。如果点击“查看”,我是否应该松开当前打开页面上的更改并显示请求详细信息?

我应该如何处理?

【问题讨论】:

【参考方案1】:

您可以只推送该视图(通常的第 5 个视图)。唯一的问题是,当您弹出该视图时,它现在将充当第二个视图,因此无需经过 4 个额外的视图。

【讨论】:

如果我的应用程序没有运行,我收到推送通知,然后在点击“查看”按钮后显示请求页面,该怎么办?如果我想回来,我应该降落在哪里? 您可以加载应用程序并从初始屏幕(rootView 或其他)加载您的详细视图,然后当您关闭该视图时,您将进入您的根视图。【参考方案2】:

您可以初始化 5 个视图并将其推送到导航控制器(使用 animate:NO)以在正确的位置启动应用程序。

至于您是否在运行时收到通知,这完全取决于您以及最适合应用程序的方式。在删除任何数据之前,您始终可以提示用户。请注意,如果您收到推送通知,您的application:didReceiveRemoteNotification:而不是会显示警报。

【讨论】:

好的。如果我的应用程序需要身份验证,那么在显示请​​求详细信息页面之前,我还应该询问用户凭据吗?这是我的应用程序没有运行并且推送通知出现的时候。【参考方案3】:

这通常通过模态显示控制器来实现。

这样,您不必重新创建视图控制器层次结构,并且如果应用正在运行,您也不会丢失应用的当前上下文。用户点击一些“确定”按钮并返回到上一个屏幕。

【讨论】:

如果我在屏幕上有一些操作我会在收到通知后显示...比如分配给自己和其他东西? 正如 Daniel 所说,您可以在收到通知时显示警报视图,询问用户是要打开特定控制器还是希望忽略它。【参考方案4】:

对于您问题的第一部分:如果您以分离的方式创建了您的视图,也就是说,如果它不依赖于其他 4 个视图 - 我想您可以毫无问题地显示此视图。显然,答案实际上取决于您的业务规则是否允许这样做。

至于您问题的第二部分:您始终可以向用户显示 UIAlertView,询问他们是否要对收到的推送通知采取行动。

但是 - 我认为这些问题确实与推送通知的性质没有任何关系,你真的应该放弃你问题的“我对推送通知有疑问”部分:) ....

希望这会有所帮助:)

【讨论】:

以上是关于推送通知警报处理的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在后台运行时无法处理推送通知,接收推送但未点击横幅或警报

如何向推送通知警报视图添加操作?

在 console.log 或警报中显示 firebase 推送通知?

如何从iOS中的设置处理推送通知允许

推送通知徽章清除警报

解锁 iPhone 时推送通知警报会打开应用程序