Per promuovere le funzionalità della tua app e semplificarne l'utilizzo, puoi suggerire scorciatoie per l'assistente ai tuoi utenti. Le scorciatoie per l'assistente sono frasi concise che un utente può pronunciare per attivare funzionalità all'interno della tua app.
Sebbene le scorciatoie per l'assistente possano essere create manualmente dagli utenti, l'SDK In-App Promo ti consente di suggerire e implementare in modo proattivo le scorciatoie per l'assistente. Suggerendo scorciatoie, offri agli utenti percorsi chiari e semplici per tornare alle loro attività preferite nella tua app senza lo sforzo aggiuntivo di configurare le scorciatoie.
Ad esempio, se un utente esegue una ricerca di "heavy metal workout" nella tua app di musica, in futuro potresti suggerire una scorciatoia per l'assistente direttamente per questi risultati di ricerca. Quando suggerisci una scorciatoia, nella tua app viene visualizzato un messaggio che mostra la frase proposta per la scorciatoia e chiede all'utente se è possibile crearla.
In questo esempio, suggerisci la frase "Avvia il mio allenamento heavy metal". L'utente accetta il suggerimento e può quindi avviare la scorciatoia dicendo: "Hey Google, avvia il mio allenamento heavy metal".
Per ulteriori informazioni su come far crescere il pubblico della tua app, consulta Fai crescere la tua app con le azioni app.
L'SDK In-App Promo fornisce i seguenti metodi:
lookupShortcut: controlla se la scorciatoia che vuoi suggerire esiste già. Il metodo verifica anche la presenza di eventuali problemi che impediscono la creazione della scorciatoia. Se non è possibile creare la scorciatoia,lookupShortcutrestituisce i motivi.createShortcutSuggestionIntent: restituisce un intent che puoi utilizzare per chiedere all'utente di creare la scorciatoia suggerita.createShortcutSettingsIntent: restituisce un intent che puoi utilizzare per indirizzare l'utente alle impostazioni delle scorciatoie per l'assistente della tua app.
Prerequisiti e limitazioni
Questa sezione descrive i prerequisiti e i requisiti per l'utilizzo dei suggerimenti, nonché le limitazioni che potresti riscontrare.
Prerequisiti per lo sviluppo
Per utilizzare i suggerimenti, il tuo ambiente di sviluppo deve soddisfare i seguenti prerequisiti.
Estendi la tua app per Android per utilizzare Azioni app.
Includi
com.google.android.googlequicksearchboxall'interno del tag<queries>nel manifest. Ad esempio:<manifest ...> <queries> <package android:name="com.google.android.googlequicksearchbox" /> </queries> ... </manifest>Utilizza gli Android App Bundle per pubblicare le tue app.
Requisiti del dispositivo
Per testare i suggerimenti su un dispositivo, devi installare quanto segue.
L'ultima versione dell'app Google
Android 6.0 (livello API 23) o versioni successive
Limitazioni note
I suggerimenti sono supportati solo in inglese. Affinché gli utenti possano visualizzare i tuoi suggerimenti, devono impostare la lingua dell'assistente sul proprio dispositivo su inglese.
Implementa i suggerimenti
Per implementare i suggerimenti, devi aggiornare il file build.gradle, configurare il client dei suggerimenti e poi definire i suggerimenti che vuoi fornire agli utenti.
Aggiungi la dipendenza della libreria al file
build.gradle.dependencies { ... implementation "com.google.assistant.appactions:suggestions:1.0.0" }Definisci un'istanza di
AssistantShortcutSuggestionsClient.Kotlin
val shortcutsClient = AssistantShortcutSuggestionsClient.builder() .setContext(CONTEXT: Context) .setVerifyIntents(VERIFY_INTENTS: Boolean) .setCustomExecutor(CUSTOM_EXECUTOR: Object) .build()
Java
AssistantShortcutSuggestionsClient shortcutsClient = AssistantShortcutSuggestionsClient.builder() .setContext(CONTEXT: Context) .setVerifyIntents(VERIFY_INTENTS: Boolean) .setCustomExecutor(CUSTOM_EXECUTOR: Object) .build();
In questo esempio:
CONTEXT(obbligatorio) è il contesto dell'applicazione.VERIFY_INTENTS(obbligatorio) determina se verificare ogni intent creato quando vengono suggerite scorciatoie agli utenti. Quandotrue, gli intent creati daAssistantShortcutSuggestionsClientvengono verificati. Se un intent non è valido, viene restituita un'eccezione.CUSTOM_EXECUTOR(facoltativo) è un executor personalizzato per l'esecuzione di attività asincrone. Se non viene fornito, l'SDK utilizza un esecutore single-thread per l'attività.
Utilizza il metodo
lookupShortcutper determinare se la scorciatoia che vuoi suggerire è valida e, facoltativamente, se esiste già.Crea un intent di scorciatoia per l'app. L'intent della scorciatoia rappresenta la scorciatoia che vuoi suggerire a un utente. L'esempio seguente crea un intent per una scorciatoia per iniziare un allenamento.
Kotlin
val exercise = mapOf( "@type" to "Exercise", "@context" to "http://schema.googleapis.com", "name" to "Running", ) val appShortcutIntent = AppShortcutIntent.builder() .setIntentName("actions.intent.START_EXERCISE") .setPackageName("my.app.package") .setIntentParamName("exercise") .setIntentParamValue(exercise) .build()
Java
Map<String, Object> exercise = new HashMap<>(); exercise.put("@type", "Exercise"); menuItem.put("@context", "http://schema.googleapis.com"); menuItem.put("name", "Running"); AppShortcutIntent appShortcutIntent = AppShortcutIntent.builder() .setIntentName("actions.intent.START_EXERCISE") .setPackageName("my.app.package") .setIntentParamName("exercise") .setIntentParamValue(exercise) .build();
Passa l'intent della scorciatoia al metodo
lookupShortcut.Kotlin
val result = shortcutsClient.lookupShortcut(appShortcutIntent).await() if (!result.isShortcutPresent) { // App can suggest creating a shortcut } else { // App can remind the user that they have a shortcut for this app action }
Java
shortcutsClient.lookupShortcut(appShortcutIntent) .addOnSuccessListener(shortcutLookupResult -> { if (!shortcutLookupResult.isShortcutPresent()) { // App can suggest creating a shortcut } else { // App can remind the user that they have a shortcut for this app action } }) .addOnFailureListener(e -> Log.e(TAG, "Shortcut lookup failed", e));
Crea il suggerimento utilizzando l'intent di scorciatoia. Esistono due metodi che puoi utilizzare per creare un suggerimento:
createShortcutSuggestionIntent: restituisce un intent Android che utilizzi per avviare l'attività di suggerimento delle scorciatoie nel contesto della tua app.Kotlin
val exerciseShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand(PHRASE: String) .build() val intent = shortcutsClient.createShortcutSuggestionIntent(exerciseShortcut).await() application.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
Java
AppShortcutSuggestion exerciseShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand(PHRASE: String) .build(); shortcutsClient.createShortcutSuggestionIntent(exerciseShortcut) .addOnSuccessListener(intent -> getApplication().startActivity( intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); ) .addOnFailureListener(e -> Log.e(TAG, "Failed to get shortcut suggestion intent", e); );
In questo esempio, PHRASE è l'enunciato che vuoi suggerire all'utente come scorciatoia. Ad esempio, se vuoi che l'utente dica "Hey Google, avvia una corsa" come scorciatoia, sostituisci PHRASE con
"start a run".Kotlin
val exerciseShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand("start a run") .build()
Java
AppShortcutSuggestion exerciseShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand("start a run") .build();
createShortcutSettingsIntent: restituisce un intent Android che indirizza l'utente all'interfaccia delle impostazioni delle scorciatoie nell'app di assistenza.Kotlin
val intent = shortcutsClient.createShortcutSettingsIntent().await() application.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
Java
shortcutsClient.createShortcutSettingsIntent() .addOnSuccessListener(intent -> getApplication().startActivity( intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); ) .addOnFailureListener(e -> Log.e(TAG, "Failed to get shortcut settings intent", e); );
Chiama
startActivityutilizzando l'intent Android restituito nel passaggio precedente.
Suggerimenti per la risoluzione dei problemi
Questa sezione elenca i problemi e le eccezioni che potresti riscontrare quando suggerisci scorciatoie.
"GoogleInstallationUnsupportedException: Cannot bind to service"
A causa del
filtraggio della visibilità dei pacchetti,
l'errore "GoogleInstallationUnsupportedException: impossibile eseguire il binding al servizio" potrebbe verificarsi su
Android 11 e versioni successive. Assicurati che com.google.android.googlequicksearchbox
sia incluso nel tag <queries> nel manifest:
<manifest ...>
<queries>
<package android:name="com.google.android.googlequicksearchbox" />
</queries>
...
</manifest>
"Impossibile verificare la firma dell'APK"
Se non invii l'app di produzione come app bundle, può verificarsi il seguente errore:
Failed to verify the APK signature. If this is a development build, please
make sure to update the preview of your app in App Actions Test Tool.
Assicurati di inviare la tua app come Android App Bundle.
"Impossibile recuperare le scorciatoie dell'utente"
Il messaggio di errore "Impossibile recuperare le scorciatoie dell'utente" può essere visualizzato se di recente hai aggiunto un account al dispositivo e i dati delle scorciatoie del nuovo account non sono ancora memorizzati nella cache del dispositivo.
Per sincronizzare i dati delle scorciatoie sul dispositivo, aggiungi o elimina una scorciatoia per l'assistente utilizzando l'interfaccia dell'app di assistenza.
L'attività di creazione della scorciatoia si chiude immediatamente senza mostrare alcun contenuto
L'attività di creazione delle scorciatoie può chiudersi senza mostrare contenuti se non crei un'anteprima utilizzando lo strumento di test delle Azioni app o se l'anteprima scade. Aggiorna l'anteprima e riprova.