Apple Watch-如何安排复杂的更新与推送通知同步



我正在编写一个会议应用程序,参与者可以在其中查看会谈时间表、时间和房间号。用户可以选择他们感兴趣的谈话。手表应用程序会将用户即将进行的下一次谈话显示为复杂内容。

如果演讲被推迟或有房间更改,我们将向该演讲的所有与会者发送推送通知。该应用程序还定期(每30分钟)更新复杂情况。如果用户在她的应用程序或手表上选择推送通知,复杂情况就会更新。

此设置有一个不摇摆的用例:如果在手机或应用程序上收到推送通知,并且用户在推送上看到房间时间变化,但没有选择推送,则推送上的消息将与复杂情况不同步。

例如:并发症显示:1:15一层房间并发症计划间隔30分钟更新。推送时间为下午1点15分,"您的下一次活动‘全球变暖’将推迟到下午1点45分",但用户没有选择。复杂情况将继续显示为下午1时15分,直到下午1点30分。

有什么办法可以避免这种情况吗?

您可以实现后台获取并强制复杂度更新,这样您就有了下一个方案:

iOS:在UIApplicationDelegate上实现application:didReceiveRemoteNotification:fetchCompletionHandler:,并在那里获取推送通知。在该传输之后,使用WatchConnectivity获取数据以监视并强制复杂度更新。

watchOS:在WKExtensionDelegate上实现didReceiveRemoteNotification:,取数成功后强制复杂度更新即可。