2015-09-29 1 views
3

Les notifications push ont été omises de tvOS (ce qui est compréhensible), mais les docs semblent se contredire en alertant les utilisateurs sur le fait qu'il y a quelque chose de nouveau dans votre application tvOS.Comment informer les utilisateurs du nouveau contenu disponible dans les applications tvOS à partir de l'écran d'accueil?

Ici, il semble dire que vous pouvez ajouter un badge d'application: https://developer.apple.com/library/prerelease/tvos/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/WhatAreRemoteNotif.html

Ici, il dit qu'ils ont été retirés de UIKit: https://developer.apple.com/library/prerelease/tvos/releasenotes/General/tvOS90APIDiffs/Objective-C/UIKit.html

Retirées UIApplication.applicationIconBadgeNumber

En supposant que l'approche par badge n'est pas supportée dans cette version, est-ce que quelqu'un connaît la meilleure pratique pour alerter un utilisateur qu'il y a du nouveau contenu dans votre application sans que l'utilisateur prenne un expl action icit? en mettant l'accent sur l'application et en leur montrant quelque chose dans TopShelf?

+0

Le document "iOS 9.1 à tvOS 9 API Diffs" a été mis à jour plus récemment (9/22) que le document de notification (9/16), vous devriez donc probablement faire confiance à celui qui a été le plus récemment modifié. Malheureusement, vous devez rechercher le fichier pour voir ces dates; ils n'apparaissent que dans la liste des résultats. – BSMP

Répondre

2

J'ai rencontré le même problème et plongé dans ce. Probablement votre meilleur moyen est de mettre à jour le topshelf avec les derniers articles, ce qui est mon moyen de résoudre ce problème pour le moment. Vous pouvez utiliser les appels réseau pour mettre à jour le topshelf avec le contenu de votre backend. Cela dépend du type d'application. Par exemple. montrant les derniers films les plus récents pour une application de films.

Vous pouvez déclencher une mise à jour de la topshelf après votre appel réseau complété en utilisant le code suivant:

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

Assurez-vous de mettre en œuvre la TVTopShelfProvider qui devrait être clair à l'aide des documents suivants:

Ce protocole est adopté par la classe principale de l'extension TV Services d'une application. Les applications qui implémentent cette extension peuvent fournir un contenu dynamique à l'élément Top Shelf plutôt que d'utiliser le système avec l'image statique envoyée avec l'application. La propriété topShelfStyle spécifie le style d'interface souhaité et la propriété topShelfItems spécifie les éléments de contenu à afficher. Chaque fois que vous modifiez le contenu fourni par l'extension, publiez une notification TVTopShelfItemsDidChangeNotification pour inviter le système à recharger votre contenu.

Les badges d'icônes sont supprimés pour les icônes d'application, les notifications push également (à l'exception des notifications push silencieuses).

+0

Merci pour la réponse. Juste pour clarifier, cet appel réseau est seulement déclenché lorsque l'utilisateur se concentre explicitement sur votre application à partir de l'écran d'accueil, correct? – Brad

+0

Pas de problème. Oui c'est correct! Vous pouvez gérer la mise en cache vous-même bien sûr. – Antoine

+0

Savez-vous si 'TVTopShelfItemsDidChangeNotification' peut également être posté depuis l'application tvOS? (pas seulement l'extension) – bio