【发布时间】:2017-05-05 16:04:02
【问题描述】:
我使用 APNS 与 iOS 推送通知完美配合。所以对于一些客户,我需要一个本地或本地解决方案,我可以在没有 APNS 且不依赖互联网的情况下向设备发送通知。有人知道吗?你能帮帮我吗?
【问题讨论】:
标签: ios push-notification apple-push-notifications
我使用 APNS 与 iOS 推送通知完美配合。所以对于一些客户,我需要一个本地或本地解决方案,我可以在没有 APNS 且不依赖互联网的情况下向设备发送通知。有人知道吗?你能帮帮我吗?
【问题讨论】:
标签: ios push-notification apple-push-notifications
不可能。如果没有互联网,您将无法从 APNS 获得通知。
您可以做的是在应用程序处于后台模式时将消息从服务器发送到应用程序,并相应地生成本地通知。
【讨论】:
让我澄清你的问题。
“本地”是指:您要么没有互联网连接,要么没有连接到 APNS 的本地网络,要么用户根本没有注册推送通知。
1.带有本地推送通知的 iBeacon
所以,这里有一个替代方案,这不是它的基本用途,但您可能知道。 iBeacons 可用于传输小数据块,非常非常小的数据块。如果您的用户确实启用了位置服务,您可以为您的应用程序包含这些以触发某些事件(在这种情况下,用户进入兴趣点范围的非常小的通知)。 缺点:应用程序包需要静态“通知文本”来进行信标映射,或者您必须从 Web 源动态下载映射,以便更新通知文本。
2。带有本地推送通知的蓝牙
另一种选择是使用蓝牙。 设备可以自动连接到您的蓝牙站“外围设备” - 这些设备现在(在您的应用程序的帮助下)将注册到您的外围设备的广播特征。 外围设备可以向注册的设备发送消息。 如果现在设备确实收到了这样的广播消息,您可以执行本地推送。 - 无需任何网络连接,只需借助蓝牙,当然蓝牙本身也需要用户权限。
3.互联网连接/带有本地推送通知的静默推送
如果您的应用程序当然有一个有效的互联网连接,您可以避开 Apple 的 APNS,并将您自己的通知作为静默推送通知发送到设备。
【讨论】:
APNS 仅适用于互联网。如果您需要在没有互联网的情况下向用户推送消息,则一种解决方案(目前可能只有解决方案)正在使用 SMS api。但这需要用户手机号码。使用URL Schema,用户可以通过短信打开您的应用。
【讨论】:
从 iOS 14 开始,可通过 Local Push Connectivity 获得此功能,但您需要应用推送提供者权利,您必须申请该权利才能说明您无法使用 APNS 的原因。
Apple 示例代码可用here。
【讨论】: