Uygulama İçi Tanıtım SDK'sını kullanarak kısayollar önerme

Uygulamanızın özelliklerini tanıtmak ve kullanımını kolaylaştırmak için Kullanıcılarınız için Asistan kısayolları. Asistan kısayolları, kısa ve öz ifadelerdir. uygulamanızda işlevleri tetiklemek için söyleyebilecekleri bir ifade.

Asistan kısayollarını kullanıcılarınız tarafından manuel olarak oluşturabilirsiniz ancak Uygulama İçi Tanıtım SDK'sı, Asistan'ı proaktif olarak önermenizi ve uygulamanızı sağlar. kısayollar. Kısayollar önererek kullanıcılarınıza net ve basit ek çaba gerekmeden uygulamanızda favori aktivitelerine giden yollar nasıl yapılacağını göstereceğim.

Örneğin, bir kullanıcı "heavy metal antrenmanı" araması yaparsa müziğinde doğrudan bu arama sonuçlarına yönlendiren bir Asistan kısayolu önerebilirsiniz daha avantajlı bir konumda olursunuz. Kısayol önerdiğinizde, uygulamanızda aşağıdakileri yapan bir istem görünür kısayol için önerilen ifadeyi görüntüler ve kullanıcıya kısayolun oluşturabilirsiniz.

Bu örnekte, "heavy metal'imi başlat" ifadesini öneriyorsunuz. anlamına gelir." Kullanıcı öneriyi kabul eder ve ardından şu komutu kullanarak kısayolu başlatabilir: "Ok Google, heavy metal antrenmanımı başlat" demek.

Uygulamanızın kitlesini büyütmenin yolları hakkında daha fazla bilgi için Uygulama işlemleriyle uygulamanızı büyütün.

Uygulama İçi Tanıtım SDK'sı aşağıdaki yöntemleri sağlar:

  • lookupShortcut: önermek istediğiniz kısayolun önceden olup olmadığını kontrol eder gerekir. Yöntem, kısayolu engelleyen sorunları da kontrol eder bu sorunun cevabını öğrenebilirsiniz. Kısayol oluşturulamıyorsa lookupShortcut nedenini döndürür.

  • createShortcutSuggestionIntent: Aşağıdaki işlemler için kullanabileceğiniz bir intent döndürür: kullanıcıdan önerilen kısayolu oluşturmasını isteyin.

  • createShortcutSettingsIntent:, taşımak için kullanabileceğiniz bir intent döndürür uygulamanızın Asistan Kısayolu ayarlarına yönlendirilir.

ziyaret edin.

Ön koşullar ve sınırlamalar

Bu bölümde, önerilerin ön koşulları ve koşulları açıklanmaktadır. ve karşılaşabileceğiniz sınırlamalardır.

Geliştirme ön koşulları

Önerileri kullanmak için geliştirme ortamınızın aşağıdaki koşulları karşılaması gerekir önkoşullarını tanımlamamız gerekir.

  • Android uygulamanızı genişletin Uygulama İşlemleri'ni kullanın.

  • com.google.android.googlequicksearchbox öğesini <queries> içine dahil et etiketinize ekleyin. Örnek:

    <manifest ...>
      <queries>
        <package android:name="com.google.android.googlequicksearchbox" />
      </queries>
      ...
    </manifest>
    
  • Uygulamalarınızı yayınlamak için Android App Bundle'ı kullanın.

Cihaz gereksinimleri

Önerilerinizi bir cihazda test etmek için cihazınızın aşağıdakilere sahip olması gerekir: yüklendi.

Bilinen sınırlamalar

Öneriler yalnızca İngilizce dilinde desteklenmektedir. Kullanıcıların önerilerinizi görmesi için cihazlarında Asistan dilini İngilizce olarak ayarlamalıdır.

Önerileri uygulama

Önerileri uygulamak için build.gradle güncellemeniz gerekir dosyasını seçin, öneri istemcisini kurun ve ardından, önerilen önerileri istediğiniz bir şeydir.

  1. Kitaplık bağımlılığını build.gradle dosyanıza ekleyin.

    dependencies {
      ...
      implementation "com.google.assistant.appactions:suggestions:1.0.0"
    }
    
  2. Bir AssistantShortcutSuggestionsClient örneğini tanımlayın.

    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();
    

    Bu örnekte:

    • CONTEXT (zorunlu), uygulama bağlamıdır.

    • VERIFY_INTENTS (zorunlu), her amacın doğrulanıp doğrulanmayacağını belirler otomatik olarak oluşturulur. true olduğunda amaçlar AssistantShortcutSuggestionsClient tarafından oluşturulmuştur. Eğer intent geçersiz, bir istisna döndürüldü.

    • CUSTOM_EXECUTOR (isteğe bağlı), çalıştırma işlemi için özel bir yürütücüdür eş zamanlı olarak yürütülür. Sağlanmazsa SDK, tek iş parçacıklı yürütücüsü bulunur.

  3. Hangi kısayolu kullanmak istediğinizi belirlemek için lookupShortcut yöntemini kullanın önerinin geçerli olup olmadığını ve isteğe bağlı olarak kısayolun zaten mevcut olup olmadığını kontrol etmenizi öneririz.

    1. Uygulama kısayolu oluşturun. Kısayol amacı, bir kısayol kullanabilirsiniz. Aşağıdaki örnek içecek siparişi verme kısayolu isteği oluşturuyor.

      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. Kısayol amacını lookupShortcut yöntemine iletin.

      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. Kısayolu kullanarak öneriyi oluşturun. iki yöntemden birini kullanabilirsiniz: kullanabileceğiniz üç şey olduğunu unutmayın:

    • createShortcutSuggestionIntent: istediğiniz bir Android niyetini kısayol önerisi etkinliğini kullanmak için kullanabileceğiniz uygulamasını indirin.

      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);
            );
      

      Bu örnekte PHRASE, kullanıcıya kısayol olarak önerin. Örneğin, kullanıcının Kısayol olarak "Ok Google, inci çayı sipariş et" demek için "order my bubble tea" ile PHRASE.

      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:, hareket eden bir Android niyeti döndürür. kullanıcıyı Asistan uygulamasındaki kısayol ayarları arayüzüne yönlendirebilirsiniz.

      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. startActivity numaralı telefonu arayın kullanarak erişebilirsiniz.

Sorun giderme önerileri

Bu bölümde, kısayol önerirken karşılaşabileceğiniz sorunlar ve istisnalar listelenmektedir.

"GoogleKurulumDesteklenmeyenİstisna: Hizmete bağlanılamıyor"

Kaynak: paket görünürlüğü filtreleme "GoogleInstallationUnsupportedException: Hizmete bağlanılamıyor" şu tarihte gerçekleşebilir: Android 11 ve sonraki sürümler. com.google.android.googlequicksearchbox manifest dosyanızdaki <queries> etiketi içinde yer alır:

<manifest ...>
  <queries>
    <package android:name="com.google.android.googlequicksearchbox" />
  </queries>
  ...
</manifest>

"APK imzası doğrulanamadı"

Üretim uygulamanızı uygulama paketi:

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.

Araç açılış sayfalarınızla ilgili Uygulamanızı Android App Bundle olarak gönderin.

"Kullanıcı kısayolları alınamadı"

"Kullanıcı kısayolları alınamadı" hata mesajı görebilirsiniz. ve yeni hesabın kısayol verilerinin silinmemesi henüz cihazda önbelleğe alınmış verileri de içerir.

Cihazdaki kısayol verilerini senkronize etmek için bir Asistan kısayolu ekleyin veya silin kullanarak erişebilirsiniz.

Kısayol oluşturma etkinliği, içerik gösterilmeden hemen kapanır

Aşağıdaki işlemleri yaparsanız kısayol oluşturma etkinliği herhangi bir içerik görüntülenmeden kapatılabilir. Uygulama İşlemleri Test Aracı'nı kullanarak veya önizleme sona erecektir. Önizlemenizi güncelleyip tekrar deneyin.