由于HomeKit配件中的事件而推送通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于HomeKit配件中的事件而推送通知相关的知识,希望对你有一定的参考价值。

我希望我的应用程序能够了解HomeKit配件(HMAccessory)触发的事件。这样,当我的HomeKit动力运动探测器检测到运动时,我的应用程序会以某种方式了解这一点(最好是通过推送通知)。预装的Home应用程序似乎具有此功能。有没有办法可以使用HomeKit框架完成这项工作?

我发现的最近的是HMCharacteristic

func enableNotification(Bool, completionHandler: (Error?) -> Void)

但这不会导致推送通知并通过委托回调提供更新(并且仅在应用程序具有预防性时才起作用)。

答案

不幸的是,我不得不同意Jeff Z.不可能直接做。

从我的调查中作为推送通知“发布”的附件事件,当它在iPad,AppleTV上设置为“Home Hub”模式并且很快将成为HomePods时,似乎是Apple的Home应用程序的一项功能。它只适用于附件类型的简短列表,如门,锁和其他一些。 (我仍在搜索Apple Docs中的最终列表)这些通知被定向到主应用程序,不会被其他应用程序使用。

如果这是供您个人使用,您可以将自定义附件设置为在家庭自动化触发时发送推送通知的服务。

有一个javascript / Node.js项目homebridge,它实现了家庭附件协议(HAP),并允许您在家庭网络中建立可自定义的HAP服务。

一般方法是:

  1. 在家庭网络上安装homebridge服务器。无论是在总是打开的计算机上,还是获得专门用于此目的的Raspberry Pi。
  2. 安装homebridge-pushed-notification插件并将其配置为使用GetPushed应用程序。
  3. 在您的家庭应用程序中建立自动化,当您从现成的附件收到事件时,启动您在2中设置的推送通知。

这会向GetPushed应用程序发送通知。但总体大纲可以用于其他推送服务,例如Firebase云消息传递。

另一答案

我也想这样做,但我认为没有办法做到这一点。

以上是关于由于HomeKit配件中的事件而推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何判断应用程序是由于 Titanium 中的推送通知而打开还是恢复?

Swift中HomeKist发现和管理支持HomeKit的配件

由于推送通知点击而启动的应用程序

向我的 iPhone PHP 发送事件推送通知

如何从 WatchOs 中的推送通知中获取数据并处理推送通知操作按钮单击事件

如何在通知选项卡中单击推送通知消息打开特定片段?