ios - 在 iOS 中显示 View 而不是默认通知

标签 ios swift firebase firebase-cloud-messaging

我使用 Firebase 为 Android 开发了一个应用程序,它的作用类似于多因素身份验证、用户登录并收到一个对话框,要求在智能手机上进行确认。

我正在 iPhone 上开发类似的应用程序,同样使用 Firebase。 我能够在 iPhone 中收到通知(从 Firebase 控制台发送),但我对此有一些疑问。

在我的 android 应用程序中,我实现了它,以便在收到通知时不显示默认通知,而是显示带有是/否按钮的 View 。

在 iOS 中,我看到的所有教程都需要用户先“单击”顶部栏上的通知,以便您可以进行交互,然后打开一个 View ...

所以我的问题(我是 iOS 开发的新手)基本上是:

  • 是否可以不显示通知(在顶部栏上)并直接打开 View ?

  • 当用户在注册时,他需要读取一个二维码,然后向服务器发送通知,然后服务器发回一个成功/失败的通知应答,如果服务器应答,我可以选择显示“无”(无默认通知)?我不是说静默通知,因为它们没有被视为优先事项。

  • 服务器使用自定义 json 进行响应,但我在某处读到 iOS 中的通知应该具有特定格式?

这些基本上是我的问题,我知道它们有点基础,但我发现的大多数教程都来自较旧的 iOS 版本,所以我很困惑。

最佳答案

我假设您正在谈论来自 Apple 推送通知服务 (APNS) 的通知。 按顺序回答您的问题:

  1. Is it possible not to display the notification (on top bar) and open a view directly?

您不能更改系统范围推送通知的默认样式。用户甚至可以随时禁用您的应用程序的通知。但是,您可以发送 Actionable Notification并以这种方式实现是/否决定,而无需打开应用程序本身。这可能与您想要的结果最相似。

  1. Can I send a notification without showing a view?

Silent Notifications如果您不想在登录请求后不断询问您的服务器,则很可能是您的最佳选择。有关 APNS 可靠性的更多信息,请阅读 here .

您还应该想到:如果您的应用在收到通知时打开,则不会显示系统范围的通知 View ,无论此通知是否静音。

  1. Is there a specific format for notifications?

通知需要以 documented here 格式传递. 如果您无法在推送通知本身内发送所有相关的 json,您可以只发送一个 url 或标志,表明您的应用可以从服务器下载新内容。这可以在通知处理程序中完美完成。

关于ios - 在 iOS 中显示 View 而不是默认通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55341731/

相关文章:

ios - swift :didSelectRowAtIndexPath

ios - 是否可以重用 cellForItemAtIndexPath :?

ios - 如何在编辑模式下选择 UITableView 中的多行?

ios - 在 UITableView 上执行具有多个状态的 segue

javascript - Angular Firestore 按时间戳值对文档进行排序

iphone - 关于如何设置 Storyboard以使元素不重叠的建议

ios - 使用父/子方法和临时对象实现CoreData

swift - 为什么默认是 `infix`

javascript - Firebase 中有序列表的性能

ios - 如何在我的设备上以发布/分发模式测试应用程序?