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ı kullanıcılarınız tarafından manuel olarak oluşturulabilir ancak uygulama içi promosyon SDK'sı, Asistan kısayollarını proaktif olarak önermenize ve uygulamanıza olanak tanır. 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ı müzik uygulamanızda "ağır metal antrenmanı" araması yaparsa gelecekte doğrudan bu arama sonuçlarına giden bir Asistan kısayolu önerebilirsiniz. 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 "Ok Google, heavy metal antrenmanımı başlat" diyerek kısayolu başlatabilir.

Uygulamanızın kitlesini büyütme yöntemleri hakkında daha fazla bilgi için Uygulama içi işlemlerle uygulamanızı büyütme başlıklı makaleyi inceleyin.

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

  • lookupShortcut: Önermek istediğiniz kısayolun mevcut olup olmadığını kontrol eder. 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ısayol ayarlarına erişmesine olanak tanır.

Ö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ı

Önerilerin kullanılabilmesi için geliştirme ortamınızın aşağıdaki ön koşulları karşılaması gerekir.

  • Android uygulamanızı Uygulama İşlemleri'ni kullanacak şekilde genişletin.

  • Manifest dosyanızdaki <queries> etiketine com.google.android.googlequicksearchbox 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ızda aşağıdakiler yüklü olmalıdır.

Bilinen sınırlamalar

Öneriler yalnızca İngilizce olarak desteklenir. Kullanıcıların önerilerinizi görebilmesi için cihazlarındaki Asistan dilini İngilizce olarak ayarlamaları gerekir.

Önerileri uygulama

Önerilerin uygulanabilmesi için build.gradle dosyanızı güncellemeniz, öneri istemcisini ayarlamanız ve ardından kullanıcılara sunmak istediğiniz önerileri tanımlamanız gerekir.

  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), kullanıcılara kısayollar önerirken oluşturulan her intent'in doğrulanıp doğrulanmayacağını belirler. 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ı), asenkron görevleri çalıştırmak için özel bir yürütücüdü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 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<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. 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ısayol intent'ini 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" demek, "start a run" ile PHRASE.

      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 listelenmiştir.

"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 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 olarak göndermezseniz aşağıdaki hata oluşabilir:

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ı, cihaza kısa süre önce bir hesap eklediyseniz ve yeni hesabın kısayol verileri henüz cihazda önbelleğe alınmadıysa gösterilebilir.

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

Uygulama İşlemleri Test Aracı'nı kullanarak bir önizleme oluşturmazsanız veya önizlemenin süresi dolarsa kısayol oluşturma etkinliği herhangi bir içerik göstermeden kapanabilir. Önizlemenizi güncelleyip tekrar deneyin.