Sugerowanie skrótów za pomocą pakietu SDK do promocji w aplikacji

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.

Choć skróty Asystenta mogą być tworzone ręcznie przez użytkowników, In-App Promo SDK umożliwia proaktywne sugerowanie i wdrażanie Asystenta skrótów. 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 hasło „heavy metal trening” w Twojej muzyce aplikacji, możesz zaproponować skrót do Asystenta bezpośrednio do tych wyników wyszukiwania w przyszłości. 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ę „Włącz mój metal trening”. 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 In-App Promo SDK udostępnia te metody:

  • lookupShortcut: sprawdza, czy skrót, który chcesz zasugerować, jest już sugerowany. 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 intencję, której można użyć do: poproś użytkownika o utworzenie sugerowanego skrótu.

  • createShortcutSettingsIntent: zwraca intencję, której można użyć do przeniesienia. do ustawień skrótów Asystenta w Twojej 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 można było przetestować sugestie na urządzeniu, musi ono mieć: Zainstalowano.

  • 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.

  1. Dodaj zależność biblioteki do pliku build.gradle.

    dependencies {
      ...
      implementation "com.google.assistant.appactions:suggestions:1.0.0"
    }
    
  2. Zdefiniuj instancję instancji 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 zweryfikować każdą intencję utworzona podczas sugerowania skrótów użytkownikom. Gdy true, 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żywa tagu jednowątkowym wykonawcą zadania.

  3. Użyj metody lookupShortcut, aby określić, czy dany skrót jest prawidłowe i opcjonalnie możesz sprawdzić, czy skrót już istnieje.

    1. Utwórz intencję skrótu do aplikacji. Intencja skrótu reprezentuje który chcesz zasugerować użytkownikowi. Przykład poniżej tworzy intencję skrótu do zamówienia napoju.

      Kotlin

      val menuItem = mapOf(
          "@type" to "MenuItem",
          "@context" to "http://schema.googleapis.com",
          "name" to "Fresh Lemon Honey Jasmine Green Tea",
      )
      
      val appShortcutIntent = AppShortcutIntent.builder()
          .setIntentName("actions.intent.ORDER_MENU_ITEM")
          .setPackageName("my.app.package")
          .setIntentParamName("menuItem")
          .setIntentParamValue(menuItem)
          .build()
       

      Java

        Map<String, Object> menuItem = new HashMap<>();
        menuItem.put("@type", "MenuItem");
        menuItem.put("@context", "http://schema.googleapis.com");
        menuItem.put("name", "Fresh Lemon Honey Jasmine Green Tea");
      
        AppShortcutIntent appShortcutIntent =
            AppShortcutIntent.builder()
                .setIntentName("actions.intent.ORDER_MENU_ITEM")
                .setPackageName("my.app.package")
                .setIntentParamName("menuItem")
                .setIntentParamValue(menuItem)
                .build();
       
    2. 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));
      
  4. 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 orderShortcut = AppShortcutSuggestion.builder()
          .setAppShortcutIntent(appShortcutIntent)
          .setCommand(PHRASE: String)
          .build()
      
      val intent = shortcutsClient.createShortcutSuggestionIntent(orderShortcut).await()
      application.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
      

      Java

        AppShortcutSuggestion orderShortcut =
            AppShortcutSuggestion.builder()
                .setAppShortcutIntent(appShortcutIntent)
                .setCommand(PHRASE: String)
                .build();
      
        shortcutsClient.createShortcutSuggestionIntent(orderShortcut)
            .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 jako skrótu. Na przykład – jeśli chcesz, żeby użytkownik by powiedzieć „OK Google, zamów moją herbatę bąbelkową”, zastąp PHRASE z: "order my bubble tea".

      Kotlin

      val orderShortcut = AppShortcutSuggestion.builder()
          .setAppShortcutIntent(appShortcutIntent)
          .setCommand("order my bubble tea")
          .build()
      

      Java

      AppShortcutSuggestion orderShortcut =
          AppShortcutSuggestion.builder()
              .setAppShortcutIntent(appShortcutIntent)
              .setCommand("order my bubble tea")
              .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);
          );
      
  5. Zadzwoń pod numer startActivity za pomocą intencji Androida zwróconej w poprzednim kroku.

Sugestie dotyczące rozwiązywania problemów

W tej sekcji znajdziesz problemy i wyjątki, które mogą wystąpić podczas sugerowania skrótów.

„GoogleinstallNieobsługiwanyWyjątek: nie można powiązać z usługą”

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.

Żeby zsynchronizować dane skrótów na urządzeniu, dodaj lub usuń skrót Asystenta za pomocą 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.