Notifications watchOS dans Xamarin
Les applications espionne peuvent recevoir des notifications si l’application iOS contenant les prend en charge. Il existe une gestion intégrée des notifications afin que vous n’ayez pas besoin d’ajouter la prise en charge supplémentaire des notifications décrites ci-dessous. Toutefois, si vous souhaitez personnaliser le comportement de notification et l’apparence, lisez-la.
Pour plus d’informations sur l’ajout de la prise en charge des notifications à l’application iOS dans votre solution, reportez-vous à la documentation sur les notifications iOS.
Création de contrôleurs de notification
Sur les contrôleurs de notifications storyboard, vous disposez d’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, il aura automatiquement un segue attaché :
Lorsque la notification segue est sélectionnée, 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 :
Courte apparence : vue statique non défilement définie par le système.
Long-look - affichage défilant, personnalisable défini par vous ! Une version plus simple, statique et une version dynamique plus complexe peuvent être spécifiées.
Contrôleur de notification de courte apparence
L’interface utilisateur de courte apparence se compose uniquement de l’icône de l’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 de longue apparence qui fournit plus d’informations.
Contrôleur de notification de longue apparence
Le système d’exploitation détermine 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
La vue 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 des notifications iOS pour obtenir un exemple de génération de notifications locales.
Les notifications locales doivent avoir le AlertTitle
jeu à afficher sur Apple Watch : la AlertTitle
chaîne est affichée dans l’interface Short-Look. Les AlertTitle
AlertBody
deux sont affichés dans la liste des notifications ; et s’affichent AlertBody
dans l’interface Long-Look.
Cette capture d’écran montre l’affichage AlertTitle
dans la liste des notifications et l’affichage AlertBody
dans l’interface Long-Look :
Notifications de test
Les notifications (locales et distantes) peuvent uniquement être testées correctement 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 des notifications sur une Apple Watch, n’oubliez pas que la documentation d’Apple indique ce qui suit :
Quand 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 Apple Watch.
Cela fait allusion au fait que iOS décide si une notification s’affiche sur l’iPhone ou sur la montre. Si l’iPhone jumelé est actif lorsqu’une notification est reçue, la notification est susceptible d’être affichée sur l’iPhone et non routée vers la montre.
Pour vous assurer que la notification s’affiche sur la montre, désactivez l’écran de l’iPhone (appuyez une fois sur le bouton d’alimentation) ou laissez-la dormir. Si la montre jumelée est en gamme, a la puissance et est portée sur votre poignet, la notification sera acheminée là-bas et apparaît 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 d’accès dans la fenêtre Arguments d’exécution personnalisés dans Visual Studio pour Mac.
Visual Studio pour Mac affiche des options supplémentaires lorsqu’une extension espion est définie en tant que Projet de démarrage. Cliquez avec le bouton droit sur le projet d’extension espion et choisissez Exécuter avec des > paramètres personnalisés... :
Cette opération ouvre la fenêtre Arguments d’exécution qui contient un onglet WatchKit . Sélectionnez Notification et fournissez une charge utile JSON, puis appuyez sur Execute pour démarrer l’application espion 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
Un exemple de fichier JSON de charge utile NotificationPayload.json est illustré 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."
}