如何从主屏幕通知用户 tvOS 应用程序中可用的新内容?

How do I notify users of new content available in tvOS apps from the home screen?

推送通知已被排除在 tvOS 之外(可以理解),但文档在提醒用户您的 tvOS 应用程序中有新功能这一事实似乎自相矛盾。

这里好像说可以添加应用徽章:https://developer.apple.com/library/prerelease/tvos/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/WhatAreRemoteNotif.html

这里说它们已从 UIKit 中删除:https://developer.apple.com/library/prerelease/tvos/releasenotes/General/tvOS90APIDiffs/Objective-C/UIKit.html

Removed UIApplication.applicationIconBadgeNumber

假设此版本不支持徽章方法,有没有人知道在用户不采取明确操作的情况下提醒用户您的应用中有新内容的最佳做法?即专注于应用程序并在 TopShelf 中向他们展示一些东西?

我遇到了同样的问题并深入研究了这个问题。也许你最好的方法是用最新的项目更新顶层,这是我现在解决这个问题的方法。您可以使用网络调用来使用来自后端的内容更新顶层。 这取决于应用程序的类型。例如。显示电影应用的最新热门电影。

您可以在网络调用完成后使用以下代码触发顶层更新:

NSNotificationCenter.defaultCenter().postNotificationName(TVTopShelfItemsDidChangeNotification, object: nil)

确保实施TVTopShelfProvider,使用以下文档应该清楚:

This protocol is adopted by the principal class of an app’s TV Services extension. Apps that implement this extension can provide dynamic content to the Top Shelf element rather than having the system use the static image submitted with the app. The topShelfStyle property specifies the interface style you want, and the topShelfItems property specifies the content items to display. Whenever you change the content provided by the extension, post a TVTopShelfItemsDidChangeNotification notification to prompt the system to reload your content.

删除了应用程序图标、推送通知(静默推送通知除外)的图标徽章。