我使用 Firebase 为 Android 开发了一个应用程序,它的作用类似于多因素身份验证、用户登录并收到一个对话框,要求在智能手机上进行确认。
我正在 iPhone 上开发类似的应用程序,同样使用 Firebase。 我能够在 iPhone 中收到通知(从 Firebase 控制台发送),但我对此有一些疑问。
在我的 android 应用程序中,我实现了它,以便在收到通知时不显示默认通知,而是显示带有是/否按钮的 View 。
在 iOS 中,我看到的所有教程都需要用户先“单击”顶部栏上的通知,以便您可以进行交互,然后打开一个 View ...
所以我的问题(我是 iOS 开发的新手)基本上是:
是否可以不显示通知(在顶部栏上)并直接打开 View ?
当用户在注册时,他需要读取一个二维码,然后向服务器发送通知,然后服务器发回一个成功/失败的通知应答,如果服务器应答,我可以选择显示“无”(无默认通知)?我不是说静默通知,因为它们没有被视为优先事项。
服务器使用自定义 json 进行响应,但我在某处读到 iOS 中的通知应该具有特定格式?
这些基本上是我的问题,我知道它们有点基础,但我发现的大多数教程都来自较旧的 iOS 版本,所以我很困惑。
最佳答案
我假设您正在谈论来自 Apple 推送通知服务 (APNS) 的通知。 按顺序回答您的问题:
- Is it possible not to display the notification (on top bar) and open a view directly?
您不能更改系统范围推送通知的默认样式。用户甚至可以随时禁用您的应用程序的通知。但是,您可以发送 Actionable Notification并以这种方式实现是/否决定,而无需打开应用程序本身。这可能与您想要的结果最相似。
- Can I send a notification without showing a view?
Silent Notifications如果您不想在登录请求后不断询问您的服务器,则很可能是您的最佳选择。有关 APNS 可靠性的更多信息,请阅读 here .
您还应该想到:如果您的应用在收到通知时打开,则不会显示系统范围的通知 View ,无论此通知是否静音。
- Is there a specific format for notifications?
通知需要以 documented here 格式传递. 如果您无法在推送通知本身内发送所有相关的 json,您可以只发送一个 url 或标志,表明您的应用可以从服务器下载新内容。这可以在通知处理程序中完美完成。
关于ios - 在 iOS 中显示 View 而不是默认通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55341731/