ios - 在 iOS 中显示视图而不是默认通知
问题描述
我使用 Firebase 为 Android 开发了一个应用程序,它的作用类似于多因素身份验证、用户登录并收到一个对话框,要求在智能手机上进行确认。
我正在 iPhone 上开发类似的应用程序,也使用 Firebase。我能够在 iPhone 中收到通知(从 Firebase 控制台发送),但是我对此有一些疑问。
在我的 android 应用程序中,我实现了它,以便在收到通知时不显示默认通知,而是显示带有是/否按钮的视图。
在 iOS 中,我看到的所有教程都需要用户首先“单击”顶部栏上的通知,以便您可以交互然后打开视图...
所以我的问题(我是 iOS 开发的新手)基本上是:
是否可以不显示通知(在顶部栏上)并直接打开视图?
当用户注册时,他需要读取一个二维码,然后向服务器发送通知,然后服务器返回一个带有成功/失败的通知答案,如果服务器回答,我可以选择显示“无”(否默认通知)?我不是指无声通知,因为它们不被视为优先事项。
服务器使用自定义 json 回答,但我在 iOS 中的某处读到通知应该有特定的格式?
这些基本上是我的问题,我知道它们有点基本,但我发现的大多数教程都来自旧的 iOS 版本,所以我很困惑。
解决方案
我假设您正在谈论来自 Apple 推送通知服务 (APNS) 的通知。按顺序回答您的问题:
- 是否可以不显示通知(在顶部栏上)并直接打开视图?
您无法更改系统范围推送通知的默认样式。用户甚至可以随时禁用您的应用程序的通知。但是,您可以通过这种方式发送可操作通知并实施是/否决定,而无需打开应用程序本身。这可能与您想要的结果最相似。
- 我可以在不显示视图的情况下发送通知吗?
如果您不想在登录请求后不断询问您的服务器,那么静默通知很可能是您的最佳选择。有关 APNS 可靠性的更多信息,请阅读此处。
您还应该考虑的事项:如果您的应用程序在接收通知时打开,则不会显示系统范围的通知视图,无论此通知是否静默。
- 通知有特定的格式吗?
需要以此处记录的格式发送通知。如果您无法在推送通知本身中发送所有相关的 json,则可以只发送一个 url 或标志,指示您的应用程序可以从服务器下载新内容。这可以在通知处理程序中完美完成。
推荐阅读
- android - Gradle 不允许我的应用程序连接到 mysql 服务器
- angularjs - 计算 D3 树/有向图的 xy 坐标
- asp.net - 为什么 PNG 图像在本地主机上运行时会从 Azure Web 应用程序返回 404?
- c - 使用 void 指针和类型参数对 C 中的多种类型进行排序函数
- javascript - 如何在异步函数节点js中访问所有函数和条件中的变量?
- whatsapp - 带有 C# 的 Whatsapp Web Selenium 无需重新加载网络即可发送消息
- php - 如何将行变量传递到另一个页面?
- aws-api-gateway - API 网关阻止正文中包含内容的请求
- c# - Clr2 Winform 可以托管 Clr4 WPF 或其他机制吗?
- c# - 2013 年的程序无法访问使用 access 2007 创建的数据库