【问题标题】:Replace push/local notification like WhatsApp替换 WhatsApp 等推送/本地通知
【发布时间】:2015-11-02 10:35:12
【问题描述】:

我想实现像 WhatsApp 这样的功能,当有人打电话给他们时,用户会收到推送通知,通知说 “来自 X 的电话”,如果您在 30 秒内没有接到电话或点击通知。收到另一个推送通知,上面写着 “whatsapp 的未接来电..”。但是最后一个通知从堆栈中删除或替换或不再可见。我们如何实现它?

【问题讨论】:

    标签: ios ios8 push-notification apple-push-notifications whatsapp


    【解决方案1】:

    您需要为此使用 UILocalNotification。在我开发的信使应用程序中,我们使用以下工作流程来实现完全相同的功能:

    • 当 User1(U1) 调用 User2(U2) 时,服务器向 U1 发送一个空的推送通知。这样通知中心就不会显示任何内容了。
    • U1 启动套接字连接(即使应用在后台也可用,但如果被杀死则不可用)
    • U1 注册套接字事件,收集有关调用者的信息并用 30 秒计时器炫耀UILocalNotification
    • 30 秒后,U1 通过套接字发出消息以通知服务器它错过了一个呼叫,U2 接收到该事件并显示相应的消息
    • U1 removes UILocalNotification 来自通知中心

    【讨论】:

    • 如何从通知中心删除通知?他们有任何 API 吗?您引用的链接取消了计划的通知,而不是通知中心已经存在的通知。
    • 使用API​​取消,它会工作。 Docs 说明如下:“如果通知当前正在显示警报,则调用此方法还会以编程方式关闭通知。”。
    • @Taseen,见this question,它描述了如何实现它......也看看PushKit,它旨在用于VoIP推送通知......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多