49: SiriKit, part 2

Les liens

Le sujet

Rappel

La semaine dernière, nous avions vu que Siri pouvait gérer, pour le moment, 6 domaines d'actions, avec des intentions spécifiques à chacun de ces domaines. Deux autres domaines, un pour Carplay et l'autre pour Apple Maps sont également disponible mais moins publicité par Apple.

Nous avions également vu que pour utiliser Siri, c'était finalement principalemet de la configuration (permissions et vocabulaire) pour que notre code, contenu dans une extension Siri, soit finalement appelé par l'utilisateur.

Et qu'au final, ce code devait avant tout se charger de valider les paramètres de la requête de l'utilisatrice avant de pouvoir, enfin, exécuter le "vrai" code.

Cette semaine, je vous propose la suite et fin de SiriKit, à savoir l'interface que l'on peut afficher à l'utilisatrice lorsqu'elle souhaite interagir avec notre application via Siri.

Intents UI

  • créer une extension Intents UI
    • configureWithInteraction:context:completion: passe l'Intention résolu par l'extension «Intent»
    • While onscreen, your view controller can run animations and update itself using timers and other programmatic means, but it does not receive touch events or responder-chain events.
  • Apple n'autorise pas l'affichage de pub

C'est du simple affichage de l'intention résolu par le code de l'extension

Speech.framework

Si cette utilisation de Siri ne vous suffit pas (ou ne vous convient pas), Apple propose une autre nouveauté liée à la voix dans iOS 10: le framework «Speech».

Comme pour SiriKit ou la géoloc, ou les photos, ou les contacts, il faut demander la permission à l'utilisatrice de pouvoir utiliser la reconnaissance vocale. Apple explique que cela est lié au fait que les paroles enregistrées sont envoyées sur leurs serveurs pour améliorer la performance de la reconnaissance.

L'API est simplissime et permet aussi bien la reconnaissance de parole en temps réel ou via un enregistrement. Le traitement du texte retranscrit est traité dans un block passé en paramètre de la requête. Ce bloc est appelé au fur et à mesure du traitement et parce que c'est de la reconnaissance vocale, le texte retranscrit peut changer durant le traitement. Litte bits of Cocoa explique cela très bien

A vot' bon cœur m'sieur-dame

Le lien du podcast sur iTunes