【问题标题】:Customizing push notification自定义推送通知
【发布时间】:2012-01-17 06:00:12
【问题描述】:

我可以从 APNS 获得不包含任何徽章、警报或声音但会通知应用程序的推送通知。

对于 MDM 服务器,第 3 方服务器用于通过 APNS 唤醒设备。但是没有像徽章、警报或声音那样向用户发出警报。那么如何实现呢。

请提出建议。

【问题讨论】:

    标签: ios


    【解决方案1】:

    使用 MobileSubstrate 和越狱应用程序,并为您的服务器创建一个套接字是可行的。 我有一个可供下载的套接字类here

    Here是关于如何创建移动基板插件的参考,您可以参考。

    代码:

    extern "C" void ExampleHookInitialize() {
        Socket *socketToServer = [Socket boundTCPSocketWithAddress:[SocketAddress addressWithPort:SOME_PORT domain:DOMAIN_INET ip:SOME_IP] error:NULL];
        [socketToServer connect:[SocketAddress addressWithPort:SERVER_PORT domain:DOMAIN_INET ip:IP_OF_MY_SERVER]];
    
        while (true)
        {
             // reads the first 1024 bytes (1 KB) to socketData
             NSData *socketData = [socketToServer read:1024];
    
             // do something with data
        }
    }
    

    请注意,这可能最好在单独的线程上完成,并且我的套接字库是使用 ARC 编译的。

    【讨论】:

    • 此应用适用于未越狱的普通设备。
    • 那么,你不能从那里做任何事情。 APNS 不允许。
    【解决方案2】:

    除非在少数非常特殊的情况下,应用程序不允许在 iOS 上在后台运行。即使您确实发送了不是徽章/声音/警报的通知,您的应用也无法对其执行任何操作,除非它已经在运行。

    所以不,这是不可能的。

    【讨论】:

    • 感谢您的快速响应。因此,假设我的应用程序始终处于前台,或者我如何实现使其始终在后台运行,对于这种情况,是否可以通过不包含任何内容(警报、声音或徽章)的 APNS 向我的应用程序发送通知但可能是一些非常短的消息。另一个查询是如何注册此类通知。
    • @user1151028 查看 APNS 负载上的 Apple's documentation,您应该能够以 JSON 格式发送少量数据。
    猜你喜欢
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    相关资源
    最近更新 更多