Notifications watchOS dans Xamarin
Les applications d’observation peuvent recevoir des notifications si l’application iOS contenant les prend en charge. Il existe une gestion intégrée des notifications, de sorte que vous n’avez pas besoin d’ajouter la prise en charge de notification supplémentaire décrite ci-dessous, mais si vous souhaitez personnaliser le comportement et l’apparence des notifications, poursuivez la lecture.
Reportez-vous au document Notifications iOS pour plus d’informations sur l’ajout de la prise en charge des notifications à l’application iOS dans votre solution.
Création de contrôleurs de notification
Sur le storyboard notifications, les contrôleurs ont un type spécial de segue qui les déclenche. Lorsque vous faites glisser un nouveau contrôleur d’interface de notification sur un storyboard, un segue est automatiquement attaché :
Lorsque le segue de notification est sélectionné, vous pouvez modifier ses propriétés :
Une fois que vous avez personnalisé le contrôleur, il peut ressembler à cet exemple à partir de WatchKitCatalog :
Il existe deux types de notification :
Short-look : affichage statique non scrollable défini par le système.
Long-look - vue défilante et personnalisable définie par vous! Une version statique plus simple et une version dynamique plus complexe peuvent être spécifiées.
contrôleur de notification Short-Look
L’interface utilisateur d’apparence courte se compose uniquement de l’icône d’application, du nom de l’application et de la chaîne de titre de notification.
Si l’utilisateur n’ignore pas la notification, le système bascule automatiquement vers une notification d’apparence longue qui fournit plus d’informations.
contrôleur de notification Long-Look
Le système d’exploitation décide s’il faut afficher la vue statique ou dynamique en fonction d’un certain nombre de facteurs. Vous devez fournir une interface statique et éventuellement inclure une interface dynamique pour les notifications.
statique
L’affichage statique doit être simple et rapide à afficher.
Dynamique
La vue dynamique peut afficher plus de données et fournir plus d’interactivité.
Génération de notifications
Les notifications peuvent provenir d’un serveur distant ou être générées localement dans l’application iOS.
Reportez-vous à la procédure pas à pas notifications iOS pour obtenir un exemple de génération de notifications locales.
Les notifications locales doivent être AlertTitle
définies pour être affichées sur l’Apple Watch . La AlertTitle
chaîne s’affiche dans l’interface Short-Look. AlertTitle
Les et AlertBody
sont affichés dans la liste des notifications; et le AlertBody
est affiché dans l’interface Long-Look.
Cette capture d’écran montre le AlertTitle
qui s’affiche dans la liste des notifications et le AlertBody
affiché dans l’interface Long-Look :
Notifications de test
Les notifications (locales et distantes) ne peuvent être correctement testées que sur un appareil, mais elles peuvent être simulées à l’aide d’un fichier .json dans le simulateur iOS.
Test sur Apple Watch
Lorsque vous testez les notifications sur une Apple Watch, n’oubliez pas que la documentation d’Apple indique ce qui suit :
Lorsque l’une des notifications locales ou distantes de votre application arrive sur l’iPhone de l’utilisateur, iOS décide s’il faut afficher cette notification sur l’iPhone ou sur l’Apple Watch.
Cela fait allusion au fait qu’iOS décide si une notification apparaîtra sur l’iPhone ou sur la Watch. Si l’iPhone jumelé est actif lors de la réception d’une notification, la notification est susceptible d’être affichée sur l’iPhone et non acheminée vers la montre.
Pour vous assurer que la notification s’affiche sur le watch, éteignez l’écran de l’iPhone (appuyez une fois sur le bouton d’alimentation) ou laissez-le en veille. Si la montre jumelée est à portée, a de la puissance et est portée sur votre poignet, la notification y sera acheminée et apparaîtra sur la montre (accompagnée d’un subtil ).
Test sur le simulateur iOS
Vous devez fournir une charge utile JSON de test lors du test du mode de notification dans le simulateur iOS. Définissez le chemin dans la fenêtre Arguments d’exécution personnalisée dans Visual Studio pour Mac.
Visual Studio pour Mac affiche des options supplémentaires lorsqu’une extension watch est définie comme projet de démarrage. Cliquez avec le bouton droit sur le projet d’extension watch et choisissez Exécuter avec > des paramètres personnalisés... :
La fenêtre Arguments d’exécution qui contient un onglet WatchKit s’ouvre. Sélectionnez Notification et fournissez une charge utile JSON, puis appuyez sur Exécuter pour démarrer l’application watch dans le simulateur :
Le contrôleur de notification par défaut ressemble à ceci lors du test sur le simulateur avec le fichier JSON de charge utile par défaut :
Il est également possible d’utiliser la ligne de commande pour démarrer le simulateur iOS.
Exemple de charge utile de notification
Dans l’exemple Watch Kit Catalog , il existe un exemple de fichier JSON de charge utile NotificationPayload.json (répertorié ci-dessous).
{
"aps": {
"alert": "Test message content",
"title": "Optional title",
"category": "myCategory"
},
"WatchKit Simulator Actions": [
{
"title": "First Button",
"identifier": "firstButtonAction"
}
],
"customKey": "Use this file to define a testing payload for your notifications. The aps dictionary specifies the category, alert text and title. The WatchKit Simulator Actions array can provide info for one or more action buttons in addition to the standard Dismiss button. Any other top level keys are custom payload. If you have multiple such JSON files in your project, you'll be able to choose between them in when selecting to debug the notification interface of your Watch App."
}