Créer des actions dans les applications

Les actions dans les applications permettent aux utilisateurs de faire fonctionner votre application Android en s'adressant à l'Assistant Google ou en utilisant les raccourcis Android suggérés par l'Assistant. Voici les principales étapes à suivre pour étendre l'utilisation de votre application Android grâce à des actions dans les applications :

  1. Identifiez la fonctionnalité dans l'application à déclencher et l'intent intégré correspondant.
  2. Fournissez des détails de traitement pour l'intent intégré.
  3. Transmettez des raccourcis pour votre action dans l'application à l'Assistant.
  4. Prévisualisez vos actions dans l'application sur un appareil de test.
  5. Créez une publication test de votre application.
  6. Demandez l'examen et le déploiement des actions dans l'application.

Vous pouvez éventuellement définir des raccourcis dynamiques à fournir à l'Assistant afin qu'il les suggère à vos utilisateurs. Créez une action dans l'application à l'aide d'une application exemple en suivant cet atelier de programmation.

Conditions requises

Avant de commencer à développer des actions dans les applications, assurez-vous que vous et votre application remplissez les conditions suivantes :

  • Vous devez disposer d'un compte Google ayant accès à la Google Play Console.
  • Votre application doit être publiée sur le Google Play Store, car les actions dans l'application ne sont disponibles que pour les applications qui y sont publiées. Assurez-vous également que votre application n'est pas destinée à être utilisée dans un profil professionnel, car les actions dans les applications ne sont pas compatibles avec Google Play d'entreprise.
  • Vous avez besoin d'un appareil physique ou virtuel sur lequel tester les actions dans les applications.
  • Vous devez utiliser la dernière version d'Android Studio.
  • Vous devez utiliser le même compte Google pour vous connecter à Android Studio, à l'appli Google sur votre appareil de test et à la Google Play Console.
  • Vous devez configurer l'Assistant sur votre appareil de test et le tester en appuyant de manière prolongée sur le bouton d'accueil.

Faire correspondre les intents intégrés au fonctionnement de l'application

Identifiez la fonctionnalité de votre application Android à laquelle les utilisateurs aimeraient pouvoir accéder directement via une requête vocale et consultez la documentation de référence sur les intents intégrés pour trouver ceux adaptés à vos cas d'utilisation. Les intents intégrés modélisent les requêtes des utilisateurs pour les tâches qu'ils souhaitent effectuer. Vous devez donc rechercher ceux qui correspondent aux fonctionnalités clés et aux parcours utilisateur de votre application.

Il existe des intents intégrés courants que presque toutes les applications Android peuvent utiliser, par exemple étendre votre recherche dans l'application à l'Assistant avec l'intent intégré actions.intent.GET_THING ou permettre aux utilisateurs de lancer des fonctionnalités d'application spécifiques par commande vocale en implémentant l'intent intégré actions.intent.OPEN_APP_FEATURE.

Un certain nombre d'intents intégrés permettent également des cas d'utilisation sectoriels ou spécifiques à une catégorie. Par exemple, une application de commande de repas peut utiliser l'intent intégré actions.intent.ORDER_MENU_ITEM.

Pour garantir une expérience utilisateur optimale et éviter les éventuels retards d'approbation, assurez-vous que chaque intent intégré que vous ajoutez est pertinent pour le fonctionnement de votre application.

Les actions dans l'application fonctionnent en démarrant les intents Android à partir de l'application Assistant pour rediriger les utilisateurs directement vers un contenu spécifique de votre application. Vous pouvez définir ces intents pour lancer explicitement une activité en spécifiant les champs targetClass et targetPackage. Si votre application implémente déjà des URL de liens profonds Android, vous pouvez configurer l'intent afin qu'il utilise un lien profond pour le traitement. Pour en savoir plus, consultez la section Tester les liens profonds pour votre activité.

Fournir des détails sur le traitement pour les intents intégrés

Créer une action dans l'application consiste principalement à déclarer une fonctionnalité dans le fichier de ressources shortcuts.xml de votre application Android, pour laquelle vous spécifiez l'intent intégré sélectionné et le traitement correspondant. Un intent intégré modélise la requête de l'utilisateur pour une tâche, tandis qu'un intent de traitement fournit à l'Assistant des informations sur la manière d'effectuer la tâche.

Dans votre fichier shortcuts.xml, les intents intégrés sont représentés par des éléments <capability>, tandis que chaque traitement est représenté par un élément <intent> :

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="menuItem.name"
                android:key="query">
            </parameter>
        </intent>
    </capability>

Pour la plupart des intents intégrés, vous devez extraire les paramètres d'intent de la requête de l'utilisateur en fonction des entités schema.org. Votre application se sert ensuite de ces paramètres d'intent intégré pour rediriger les utilisateurs vers la fonctionnalité sélectionnée. Par exemple, le code précédent mappe le paramètre d'intent intégré menuItem.name au paramètre query Android intent.

Si vous traitez des actions à l'aide de liens profonds, vous pouvez utiliser le champ urlTemplate pour définir l'URL du lien profond générée par l'Assistant :

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myfoodapp://browse{?query}" />
            <parameter android:name="menuItem.name"
                android:key="query"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

Pour savoir comment ajouter des actions dans les applications au fichier shortcuts.xml, consultez Créer shortcuts.xml. Cette page explique également comment spécifier les valeurs de paramètre attendues par votre application.

Implémenter l'intent intégré GET_THING

Si votre application dispose d'une fonction de recherche, vous devez implémenter l'intent intégré actions.intent.GET_THING pour cette fonction. L'Assistant peut ensuite rediriger les utilisateurs vers la fonction de recherche de votre application pour obtenir des résultats dans l'application lorsqu'ils effectuent des requêtes telles que "Hey Google, recherche Exemple d'objet dans l'application XXX".

Dans votre fichier shortcuts.xml, implémentez une <capability> pour l'intent intégré actions.intent.GET_THING comme vous le feriez pour implémenter tout autre intent intégré. Vous pouvez utiliser plusieurs traitements pour GET_THING tant que vous fournissez au moins un traitement qui permet de transmettre la requête de l'utilisateur à la fonction de recherche de votre application.

Voici un exemple d'ajout de l'intent intégré actions.intent.GET_THING dans shortcuts.xml :

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

Dans votre Activity de recherche, extrayez la requête de recherche à partir des données supplémentaires de l'intent et transmettez-la à la fonction de recherche de votre application. Dans le code précédent, la requête de recherche (transmise en tant que clé query) renvoie au paramètre d'intent intégré "thing.name". Effectuez ensuite une recherche avec la requête et affichez les résultats dans l'interface utilisateur.

Facultatif : transmettre des raccourcis pour votre action dans l'application à l'Assistant

Une fois que vous avez défini une fonctionnalité pour votre action, les utilisateurs peuvent lancer votre action en disant, par exemple, "Hey Google, commande une pizza dans l'application XXX". L'Assistant peut suggérer aux utilisateurs des raccourcis Android pour vos actions au moment opportun, ce qui leur permet de découvrir et de revoir facilement vos actions. L'Assistant peut suggérer des raccourcis dynamiques et statiques.

Pour envoyer des raccourcis dynamiques à l'Assistant, utilisez la bibliothèque d'intégration de raccourcis Google. Cette bibliothèque Jetpack permet à l'Assistant de prendre vos raccourcis et de les suggérer aux utilisateurs au bon moment.

Pour en savoir plus, consultez Envoyer des raccourcis dynamiques à l'Assistant.

Prévisualiser les actions dans votre application

Pendant le développement et les tests, utilisez le plug-in Assistant Google pour Android Studio afin de tester le fonctionnement des actions dans l'application pour votre application. Le plug-in crée un aperçu des actions dans l'application dans l'Assistant pour votre compte Google. À l'aide de l'outil de test, vous pouvez tester vos traitements sur un appareil de test physique ou un émulateur en ajoutant aux intents intégrés les paramètres d'entrée que vous attendez des utilisateurs.

Lorsque vous prévisualisez vos actions dans l'application, vous pouvez déclencher des requêtes par commande vocale sur l'appareil. Cette fonctionnalité n'est disponible que pour les requêtes indiquées dans la documentation de référence sur les intents intégrés pour les actions dans les applications. N'utilisez le déclenchement vocal qu'à des fins de démonstration plutôt que pour des tests standards.

Testez votre application en mode brouillon à l'aide des outils pour les développeurs de la Google Play Console avant de l'envoyer pour examen. Pour en savoir plus sur l'utilisation de la Google Play Console pour déployer un brouillon de votre application, consultez Préparer et lancer une version.

Créer une version de test

Lorsque vous êtes prêt à tester vos actions dans l'application avec des testeurs supplémentaires, créez une version de test interne ou fermée de votre application. Par défaut, vos testeurs de version interne ou fermée peuvent accéder aux actions dans l'application qui ont déjà été examinées et approuvées.

Pour accorder aux testeurs l'accès à toutes les actions dans l'application, y compris aux actions non approuvées, demandez à vos testeurs de rejoindre le groupe Google Programme de développement d'actions dans les applications. Les membres de ce groupe ont accès à toutes les actions dans les versions de test internes et fermées sans avoir à créer d'aperçus à l'aide de l'outil de test des actions dans les applications. Une fois que vous êtes membre du groupe, un délai de trois heures peut être nécessaire pour que vous y ayez accès.

Demander l'examen et le déploiement des actions dans l'application

Les utilisateurs de vos applications publiées ou de vos versions de test ouvert ne pourront pas accéder aux actions dans les applications tant qu'elles n'auront pas été examinées et approuvées. L'examen des actions dans l'application n'a aucune incidence sur l'état de l'examen et du déploiement de votre application Android dans Google Play. Même si l'application que vous avez envoyée est approuvée et publiée sur le Play Store, il est possible que votre shortcuts.xml soit en cours d'examen par Google. Les actions dans l'application ne fonctionnent pas pour vos utilisateurs finaux tant que l'examen n'a pas été approuvé.

Lorsque vous déploierez votre application, les actions dans l'application resteront activées. Toutefois, les versions redéployées seront soumises à un examen de la part de Google. Si la nouvelle version ne fonctionne pas correctement ou qu'elle ne respecte pas les règles, Google se réserve le droit de désactiver les actions dans votre application.

Pour demander l'examen des actions dans votre application, procédez comme suit :

  1. Acceptez les conditions d'utilisation des actions dans les applications dans la Google Play Console (Paramètres avancés > Actions dans les applications):

    Conditions d&#39;utilisation des actions dans l&#39;application dans la Google Play Console

  2. Importez votre application (contenant shortcuts.xml) dans la Google Play Console comme vous le feriez d'habitude pour la publier.

  3. Une fois votre application importée dans la Play Console, Google vous contactera à l'adresse e-mail associée à votre compte Play Console pour vous fournir des informations supplémentaires sur l'état de l'examen des actions dans votre application. Vous pouvez également contacter l'assistance aux développeurs Assistant pour toute question concernant l'état de l'examen des actions dans l'application. Dans le formulaire de contact, indiquez votre ID de package d'application et choisissez Examen des actions dans l'application dans la zone de sélection Comment pouvons-nous vous aider

Si vous voulez utiliser un lien profond pour lancer une Activity à l'aide d'une action dans l'application, l'Activity doit être configurée avec des URL de liens profonds et inclure un filtre d'intent correspondant dans le fichier manifeste de l'application Android.

Pour vérifier que vos activités sont accessibles et qu'elles peuvent être déclenchées par des actions dans l'application à l'aide de liens profonds, exécutez la commande adb suivante :

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

Par exemple :

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

Si votre activité ne se lance pas correctement avec la commande adb, vérifiez les points suivants :

  • Dans le fichier manifeste de votre application, l'activité contient android:exported=true afin que vous puissiez la lancer à l'aide d'intents de l'Assistant Google.
  • Si vous utilisez des URL de liens vers une application, suivez toutes les étapes de la section Gérer Android App Links.

Règles relatives aux actions dans les applications

Les actions dans les applications doivent respecter des règles spécifiques pour que les utilisateurs qui les déclenchent bénéficient de l'expérience souhaitée. Consultez ces règles avant d'envoyer vos applications pour offrir la meilleure expérience utilisateur possible et éviter tout retard ou refus de publication sur le Play Store.

  • Rediriger les utilisateurs vers des contenus qui leur sont destinés

    Les intents intégrés et/ou les paramètres des actions dans les applications doivent uniquement rediriger les utilisateurs vers l'action correspondante voulue par les utilisateurs. Cela peut inclure les contenus intégrés à l'application, le contenu d'un site Web ou les informations affichées dans des segments d'application ou des widgets à condition que cette expérience ait été voulue par l'utilisateur.

    Par exemple, les implémentations de l'intent intégré ORDER_MENU_ITEM aident les utilisateurs à commander le plat ou le type de cuisine spécifiés. Rediriger les utilisateurs vers l'écran d'accueil de votre application avec l'intent intégré OPEN_APP_FEATURE est la seule exception à cette règle.

  • Rediriger les utilisateurs vers des contenus Web pertinents

    Si les utilisateurs sont redirigés vers le contenu d'un site Web, celui-ci doit être pertinent pour l'action souhaitée et détenu par la marque.

    Un exemple d'infraction est la redirection des utilisateurs qui déclenchent l'intent intégré GET_RESERVATION vers google.com/travel, qui n'appartient pas à la marque exampledomain.com de votre application. Autre exemple de non-respect de la règle : rediriger les utilisateurs qui déclenchent l'intent intégré GET_CALL_HISTORY vers exampledomain.com/payment et les obliger à effectuer un achat.

  • Implémenter des intents intégrés pertinents pour les actions dans les applications

    Les intents intégrés implémentés doivent être directement liés au contenu et aux fonctionnalités de l'application.

    Par exemple, si votre application se trouve dans la catégorie "Communications" du Play Store, n'implémentez pas l'intent intégré ORDER_MENU_ITEM, qui est recommandé pour les applications de la catégorie "Alimentation et boissons".

  • Implémenter des intents personnalisés pertinents

    Les requêtes définies pour les intents personnalisés sont liées au contenu et au fonctionnement de l'application. Exemple de non-respect potentiel de cette règle : créer l'intent custom.action.intent.GET_RECIPE avec le schéma de requête associé "Montre-moi des recettes de burritos" pour une application dans la catégorie "Transports" du Play Store.