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

时间:2015-09-29 18:30:56

标签: objective-c tvos

推送通知已被排除在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

  

删除了UIApplication.applicationIconBadgeNumber

假设此版本不支持徽章方法,是否有人知道在没有用户采取明确行动的情况下警告用户应用中有新内容的最佳做法?即专注于应用程序并在TopShelf中显示它们?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,并潜入其中。可能你最好的方法是用最新的项目更新topshelf,这是我现在解决这个问题的方法。您可以使用网络呼叫通过后端的内容更新topshelf。 这取决于应用程序的类型。例如。显示电影应用的最新热门电影。

使用以下代码完成网络呼叫后,您可以触发topshelf的更新:

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

确保使用以下文档实现TVTopShelfProvider,这应该是明确的:

  

该协议由应用程序的TV Services扩展的主要类采用。实现此扩展的应用程序可以向Top Shelf元素提供动态内容,而不是让系统使用随应用程序提交的静态图像。 topShelfStyle属性指定所需的界面样式,topShelfItems属性指定要显示的内容项。每当您更改扩展程序提供的内容时,请发布TVTopShelfItemsDidChangeNotification通知以提示系统重新加载您的内容。

图标徽章也会移除应用图标,推送通知(静音推送通知除外)。