Aby promować funkcje aplikacji i ułatwić jej obsługę, możesz zaproponować Skróty do Asystenta dla użytkowników. Skróty Asystenta to zwięzłe wyrażenia, które użytkownik może wypowiedzieć wyrażenie, aby uruchomić funkcję w aplikacji.
Skróty Asystenta mogą być tworzone ręcznie przez użytkowników, ale pakiet In-App Promo SDK umożliwia Ci aktywne sugerowanie i wdrażanie skrótów Asystenta. Sugerując skróty, sprawiasz, że użytkownicy są przejrzyste i proste możliwość powrotu do ulubionych aktywności w aplikacji bez dodatkowego wysiłku konfiguracji skrótów.
Jeśli na przykład użytkownik wyszuka w Twojej aplikacji muzycznej hasło „trening heavy metal”, możesz zaproponować skrót Asystenta bezpośrednio do tych wyników wyszukiwania. Gdy zaproponujesz skrót, w aplikacji pojawi się komunikat, który wyświetla proponowaną frazę skrótu i pyta użytkownika, czy skrót .
W tym przykładzie sugerujesz frazę „rozpocznij trening heavy metal”. Użytkownik akceptuje sugestię i może uruchomić skrót przez mówiąc: „OK Google, rozpocznij trening metalowy”.
Więcej informacji o tym, jak zwiększyć liczbę odbiorców aplikacji, znajdziesz w artykule Rozwijaj aplikację dzięki działaniom w aplikacji
Pakiet SDK do promowania w aplikacji udostępnia te metody:
lookupShortcut
: sprawdza, czy skrót, który chcesz zaproponować, już istnieje. Metoda sprawdza też, czy nie występują problemy, które uniemożliwiają użycie skrótu. przed utworzeniem. Jeśli nie można utworzyć skrótu,lookupShortcut
zwraca przyczyny.createShortcutSuggestionIntent
: zwraca zamiar, którego możesz użyć, aby poprosić użytkownika o utworzenie sugerowanego skrótu.createShortcutSettingsIntent
: zwraca zamiar, którego możesz użyć, aby przenieść użytkownika do ustawień skrótu Asystenta w aplikacji.
Wymagania wstępne i ograniczenia
W tej sekcji opisano wymagania wstępne i wymagania dotyczące korzystania z sugestii oraz ograniczenia, które możesz napotkać.
Wymagania wstępne dla programistów
Aby można było korzystać z sugestii, Twoje środowisko programistyczne musi spełniać te wymagania wymagań wstępnych.
Rozszerz aplikację na Androida o korzystać z akcji w aplikacji.
Uwzględnij
com.google.android.googlequicksearchbox
w<queries>
w pliku manifestu. Na przykład:<manifest ...> <queries> <package android:name="com.google.android.googlequicksearchbox" /> </queries> ... </manifest>
Publikuj aplikacje za pomocą pakietów Android App Bundle.
Wymagania dotyczące urządzeń
Aby przetestować swoje sugestie na urządzeniu, musisz mieć zainstalowane te aplikacje:
Najnowsza wersja Aplikacja Google
Android 6.0 (poziom interfejsu API 23) lub nowszy
Znane ograniczenia
Sugestie są obsługiwane tylko w języku angielskim. Aby użytkownicy mogli zobaczyć Twoje sugestie, musi ustawić język Asystenta na swoim urządzeniu na angielski.
Sugestie dotyczące implementacji
Aby zastosować sugestie, musisz zaktualizować build.gradle
klienta sugestii, a następnie zdefiniować sugestie, które
użytkownikom.
Dodaj zależność biblioteki do pliku
build.gradle
.dependencies { ... implementation "com.google.assistant.appactions:suggestions:1.0.0" }
Zdefiniuj instancję typu
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();
W tym przykładzie:
CONTEXT
(wymagany) to kontekst aplikacji.VERIFY_INTENTS
(wymagany) określa, czy należy weryfikować każdy zamiar utworzony podczas sugerowania skrótów użytkownikom. Gdytrue
, intencje utworzone przez:AssistantShortcutSuggestionsClient
są zweryfikowane. Jeśli intencja jest nieprawidłowa, zwracany jest wyjątek.CUSTOM_EXECUTOR
(opcjonalny) to niestandardowy wykonawca do uruchamiania asynchronicznych zadań. Jeśli nie zostanie podany, pakiet SDK użyje do wykonania zadania jednowątkowego wykonawcy.
Użyj metody
lookupShortcut
, aby określić, czy dany skrót jest prawidłowe i opcjonalnie możesz sprawdzić, czy skrót już istnieje.Utwórz działanie skrótu aplikacji. Intencja skrótu reprezentuje który chcesz zasugerować użytkownikowi. Przykład poniżej tworzy intencję skrótu do rozpoczęcia ćwiczenia.
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
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(); Przekaż intencję skrótu do metody
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));
Utwórz sugestię za pomocą intencji skrótu. Są 2 metody, których może użyć do utworzenia sugestii:
createShortcutSuggestionIntent
: zwraca intencję Androida, możesz go użyć do rozpoczęcia aktywności związanej z sugerowaniem skrótów w kontekście .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); );
W tym przykładzie PHRASE to wypowiedź, którą chcesz zaproponować użytkownikowi jako skrót. Na przykład – jeśli chcesz, żeby użytkownik powiedzieć „OK Google, rozpocznij bieg”, PHRASE z:
"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
: zwraca intencję Androida, która się porusza do interfejsu ustawień skrótów w aplikacji Asystent.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); );
Zadzwoń pod numer
startActivity
za pomocą intencji Androida zwróconej w poprzednim kroku.
Sugestie dotyczące rozwiązywania problemów
W tej sekcji znajdziesz listę problemów i wyjątków, które mogą wystąpić podczas sugerowania skrótów.
„GoogleInstallationUnsupportedException: Cannot bind to service”
Z powodu
filtrowanie widoczności pakietów,
„GoogleInstallationUnsupportedException
: nie można powiązać z usługą” może wystąpić w dniu
Android 11 i nowsze. Upewnij się, że com.google.android.googlequicksearchbox
znajduje się w tagu <queries>
w pliku manifestu:
<manifest ...>
<queries>
<package android:name="com.google.android.googlequicksearchbox" />
</queries>
...
</manifest>
„Nie udało się zweryfikować podpisu pliku APK”
Jeśli nie prześlesz produkcyjnej wersji aplikacji jako pakiet aplikacji:
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.
Upewnij się, że przesłać aplikację jako pakiet Android App Bundle.
„Nie udało się pobrać skrótów użytkownika”
Błąd „Nie udało się pobrać skrótów użytkownika” może pojawić się, jeśli niedawno dodano konto na urządzeniu, ale dane skrótów do nowego konta nie są zapisane w pamięci podręcznej urządzenia.
Aby zsynchronizować dane skrótu na urządzeniu, dodaj lub usuń skrót Asystenta, korzystając z interfejsu aplikacji Asystent.
Tworzenie skrótu zostaje natychmiast zakończone i nie widać w nim żadnej treści
Działanie tworzenia skrótu może zostać zakończone bez wyświetlania żadnej treści, jeśli nie twórz podglądu za pomocą narzędzia App Actions Test Tool ani wygasa. Zaktualizuj podgląd i spróbuj ponownie.