【问题标题】:Apple push notification without Apple Server没有 Apple 服务器的 Apple 推送通知
【发布时间】:2013-12-13 12:52:53
【问题描述】:

是否有可能在不使用 Apple 服务器的情况下向 iOS 客户端发送推送通知?!

另一方面,是否可以推送整个文件?!比如 XML 文件,或者你可以只推送文本消息吗?!

另一个问题,有什么方法可以将 xml 文件远程推送到 iOS 客户端?!

【问题讨论】:

  • 不可能,不可能。
  • 你读过推送通知文档吗?!
  • 如果应用程序在后台运行,则可以通过 VOIP 使用套接字编程来完成。但如果应用程序没有运行(前台或后台),你将一无所获。
  • @Bhumeshwerkatre 你回答了哪个问题?
  • @chrizstone 他回答了关于推送通知的问题,如果没有 Apple 的服务器,你肯定无法发送推送通知。

标签: ios objective-c ios7 push-notification apple-push-notifications


【解决方案1】:

抱歉,这是不可能的。使用推送通知,提供者需要将通知发送到 APNS(Apple 推送通知服务),后者会将其发送到正确的设备。

这就像:

您也无法仅发送文本、声音等通知中的文件。因此抱歉,无法通过推送通知发送 XML 文件。

但是,您可以通过推送通知通知用户有可用文件,然后在应用打开时下载它。

查看here 了解更多关于推送通知的信息

【讨论】:

    【解决方案2】:

    您可以只推送短信、声音(实际上是告诉系统在推送时播放特定的声音,而不是实际的声音文件)。所有这些信息都以 json 格式(推送通知有效负载)传输,最大大小为 256 字节,不,如果不使用 Apple 推送通知系统 (apns),就无法做到这一点。

    关于您的第二个问题,您可以使用 http 请求/响应将 xml 文件推送到您的应用程序(当您的应用程序正在运行时,而不是使用推送通知)。

    【讨论】:

    • 所以我只有在启动我的应用程序时才能获得 xml 文件?!
    • 没错。或者当您的应用进入前台时。
    • 很抱歉,但由于 ios7 这不是真的。在 ios7 中,您可以在后台执行网络请求,即使应用程序根本没有运行。您可以使用 apns 唤醒应用程序,然后执行 bgQueues 从服务器获取数据,而无需任何用户端操作。
    • @visualication 当应用程序处于后台时,您的时间非常有限,并且不是通过推送通知完成的。您正在谈论后台获取,但问题是关于通过推送传输 xml 文件。后台获取仅在应用程序在后台运行时有效,即使应用程序被完全杀死,推送也有效。这是完全不同的情况。
    • Nikos 是对的!如果应用程序被完全杀死,您将无法在后台获取任何内容!但是是否可以将 Safari 作为后台获取启动?!例如,我的应用程序在后台运行,我可以在收到推送时启动 Safari 吗?!
    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多