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

Aby promować funkcje aplikacji i ułatwić jej używanie, możesz sugerować użytkownikom skróty Asystenta. 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. Dzięki sugerowanym skrótom użytkownicy mogą wracać do ulubionych czynności w aplikacji w prosty i wygodny sposób bez konieczności konfigurowania 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 z propozycją frazy dla skrótu i zapytaniem, czy można go utworzyć.

W tym przykładzie sugerujesz frazę „Włącz mój metal trening”. Użytkownik akceptuje sugestię, a potem może uruchomić skrót, mówiąc „OK Google, uruchom trening heavy metal”.

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 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 ze sugestii, a także ograniczenia, z którymi możesz się spotkać.

Wymagania wstępne dotyczące programowania

Aby można było korzystać z sugestii, środowisko programistyczne musi spełniać te wymagania wstępne.

  • 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>
    
  • publikować aplikacje za pomocą pakietów Android App Bundles;

Wymagania dotyczące urządzeń

Aby przetestować swoje sugestie na urządzeniu, musisz mieć zainstalowane te aplikacje:

  • Najnowszą wersję aplikacji 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.

Wdrażanie sugestii

Aby wdrożyć sugestie, musisz zaktualizować plik build.gradle, skonfigurować klienta sugestii, a następnie zdefiniować sugestie, które chcesz wyświetlać 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 weryfikować każdy zamiar utworzony 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 sprawdzić, czy skrót, który chcesz zaproponować, jest prawidłowy i czy istnieje już taki skrót.

    1. Utwórz działanie skrótu aplikacji. Intencje skrótu reprezentują skróty, które chcesz zaproponować 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<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();
       
    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 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. Jeśli na przykład chcesz, aby użytkownik mówił „OK Google, uruchom bieg” jako skrót, zastąp PHRASE wartością "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);
          );
  5. Wywołaj startActivity, używając 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.

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

Z powodu filtrowania widoczności pakietów na Androidzie 11 i nowszych może wystąpić błąd „GoogleInstallationUnsupportedException: nie można powiązać z usługą”. Upewnij się, że w pliku manifestu tag <queries> zawiera tag <queries>:

<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”

Komunikat o błędzie „Nie udało się pobrać skrótów użytkownika” może się pojawić, jeśli niedawno dodano konto na urządzeniu, a dane skrótów nowego konta nie zostały jeszcze 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.

Aktywność tworzenia skrótu zamyka się natychmiast bez wyświetlania treści.

Aktywność tworzenia skrótu może zostać zamknięta bez wyświetlania żadnych treści, jeśli nie utworzysz podglądu za pomocą narzędzia do testowania działań w aplikacji lub jeśli ten podgląd wygaśnie. Zaktualizuj podgląd i spróbuj ponownie.