Apple 推送通知如何在 iPhone 应用程序中传递给用户?

Posted

技术标签:

【中文标题】Apple 推送通知如何在 iPhone 应用程序中传递给用户?【英文标题】:How Apple Push Notifications Deliver to the User in iPhone app? 【发布时间】:2012-04-21 07:27:30 【问题描述】:

正在开发一个 iPhone 应用程序。在我当前的 iPhone 应用程序中,我想集成我们想要向用户发送消息的 APNS。我收集了有关 APNS 的信息。但是,我仍然对 APNS 有一些疑问。

    APN 的工作原理是指推送通知如何向用户显示? 如果我们的 iPhone 应用程序从后台关闭,Apple 推送通知将起作用还是我们的应用程序应该正在运行? 如果我们向用户发送通知,但如果用户处于离线状态,会发生什么情况。一旦用户上线(获取网络连接),消息就会发送给用户,或者消息不会显示给用户? 如果用户未在其 iPhone 中打开应用程序,是否会向用户显示推送通知?

谁能指导我解决这些疑问?我希望你们的朋友。请帮我。提前致谢。

【问题讨论】:

为了回答标题中提出的问题,使用 SMS 通过蜂窝网络发送推送通知(如果我没记错的话)。或者,它类似于 SMS - 只是消息类型不同(我必须阅读其中一个规范来验证它,而且它们读起来很痛苦)。 【参考方案1】:

我认为你没有遵循Apple developer library 的指示。我怀疑您对 APNS 及其工作的理解。

当您向用户发送通知时,他/她的手机已关闭或未连接到互联网,当他/她的手机打开或连接到网络时,他/她将收到消息/通知。

当您的应用程序处于后台或用户未使用该应用程序时,推送通知也可以工作。

希望这些信息可以消除您的困惑,您应该查看apple developer videos 和 SDK 关于推送通知。 还有this is SOreadytohelp。

【讨论】:

【参考方案2】:

你问了很多问题。我会尽量回答其中一些我知道的:

    APN 的工作原理:您使用特定的设备 ID 向 Apple 的服务器发送消息。 Apple 会将该消息传递到 ios 设备。 (您可能想要更具体的答案,所以请询问。) 如果您的应用程序已被允许后台应用程序通知,那么它们将在后台传递。 (用户可以启用/禁用此功能) 如果特定的 iOS 设备未连接到网络,通知将排队。但是,相同的通知将被丢弃,只有最近的通知才会被发送。见:Quality of Service 是的(与 2 的答案基本相同)。

【讨论】:

以上是关于Apple 推送通知如何在 iPhone 应用程序中传递给用户?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iPhone 应用程序测试 Apple 推送通知?

如何在没有 Apple Watch 应用的情况下使用 cordova 在 Apple Watch 上获取 iPhone 应用的推送通知?

如何在iphone中实现Apple推送通知服务[重复]

应该使用哪个 npm 模块在节点 js 中向 Apple(iphone) 发送推送通知,我们为啥以及如何实现这一点?

如何从 Apple 推送通知中获取 userInfo

如何在 Apple Watch 中显示推送通知?