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. Bir kısayol önerdiğinizde uygulamanızda, kısayol için önerilen ifadeyi gösteren ve kullanıcıya kısayolun oluşturulup oluşturulamayacağını soran bir istem gösterilir.

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.

Ön koşullar ve sınırlamalar

Bu bölümde, önerileri kullanmayla ilgili ön koşullar ve şartlar ile karşılaşabileceğiniz sınırlamalar açıklanmaktadı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 desteklenir. 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 AssistantShortcutSuggestionsClient tarafından oluşturulan intent'ler doğrulanır. 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, görev için tek iş parçacıklı bir yürütücü kullanır.

  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 bir egzersiz başlatmak için kısayol oluşturma amacı oluşturuyor.

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

      Bu örnekte PHRASE, kullanıcıya kısayol olarak önermek istediğiniz ifadedir. Örneğin, kullanıcının kısayol olarak "Ok Google, koşu başlat" demesini istiyorsanız PHRASE yerine "start a run" yazın.

      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:, 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"

Paket görünürlüğü filtrelemesi nedeniyle Android 11 ve sonraki sürümlerde "GoogleInstallationUnsupportedException: Hizmete bağlanamıyor" hatası oluşabilir. com.google.android.googlequicksearchbox etiketinin manifest dosyanızdaki <queries> etiketine dahil edildiğinden emin olun:

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

Uygulamanızı Android App Bundle olarak gönderdiğinizden emin olun.

"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 Asistan uygulamasının arayüzünü kullanarak bir Asistan kısayolu ekleyin veya silin.

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.