इन-ऐप्लिकेशन प्रोमो SDK टूल का इस्तेमाल करके, शॉर्टकट सुझाएं

अपने ऐप्लिकेशन की सुविधाओं का प्रमोशन करने और उसे इस्तेमाल करने में आसान बनाने के लिए, उपयोगकर्ताओं को Assistant के शॉर्टकट सुझाए जा सकते हैं. Assistant के शॉर्टकट, छोटे वाक्यांश होते हैं. इनका इस्तेमाल करके, उपयोगकर्ता आपके ऐप्लिकेशन में मौजूद सुविधाओं को ट्रिगर कर सकता है.

Assistant के शॉर्टकट, आपके उपयोगकर्ता मैन्युअल तरीके से बना सकते हैं. हालांकि, इन-ऐप्लिकेशन प्रोमो एसडीके की मदद से, Assistant के शॉर्टकट के सुझाव दिए जा सकते हैं और उन्हें लागू किया जा सकता है. शॉर्टकट के सुझाव देकर, उपयोगकर्ताओं को अपने ऐप्लिकेशन में उनकी पसंदीदा गतिविधियों पर वापस जाने के लिए साफ़ और आसान रास्ते दिए जा सकते हैं. इसके लिए, उन्हें शॉर्टकट सेट अप करने की ज़रूरत नहीं पड़ती.

उदाहरण के लिए, अगर कोई उपयोगकर्ता आपके संगीत ऐप्लिकेशन में "हैवी मेटल वर्कआउट" खोजता है, तो आने वाले समय में खोज के उन नतीजों के लिए, Assistant का शॉर्टकट सीधे तौर पर सुझाया जा सकता है. जब कोई शॉर्टकट सुझाया जाता है, तो आपके ऐप्लिकेशन में एक प्रॉम्प्ट दिखता है. इसमें शॉर्टकट के लिए सुझाया गया वाक्यांश दिखता है. साथ ही, उपयोगकर्ता से पूछा जाता है कि क्या शॉर्टकट बनाया जा सकता है.

इस उदाहरण में, आपने "मेरा हेवी मेटल वर्कआउट शुरू करो" वाक्यांश का सुझाव दिया है. उपयोगकर्ता सुझाव को स्वीकार करता है और फिर "Ok Google, मेरा हेवी मेटल वर्कआउट शुरू करो" कहकर शॉर्टकट लॉन्च कर सकता है.

अपने ऐप्लिकेशन की ऑडियंस बढ़ाने के तरीकों के बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन ऐक्शन की मदद से अपने ऐप्लिकेशन को बेहतर बनाना लेख पढ़ें.

In-App Promo SDK में ये तरीके उपलब्ध हैं:

  • lookupShortcut: यह जांच करता है कि आपको जिस शॉर्टकट का सुझाव देना है वह पहले से मौजूद है या नहीं. यह तरीका, उन समस्याओं की भी जांच करता है जिनकी वजह से शॉर्टकट नहीं बन पाता. अगर शॉर्टकट नहीं बनाया जा सकता, तो lookupShortcut इसकी वजहें बताता है.

  • createShortcutSuggestionIntent: यह एक इंटेंट दिखाता है. इसका इस्तेमाल करके, उपयोगकर्ता को सुझाया गया शॉर्टकट बनाने के लिए कहा जा सकता है.

  • createShortcutSettingsIntent: एक इंटेंट दिखाता है. इसका इस्तेमाल करके, उपयोगकर्ता को आपके ऐप्लिकेशन के लिए Assistant के शॉर्टकट की सेटिंग पर ले जाया जा सकता है.

ज़रूरी शर्तें और सीमाएं

इस सेक्शन में, सुझावों का इस्तेमाल करने के लिए ज़रूरी शर्तों और ज़रूरी चीज़ों के बारे में बताया गया है. साथ ही, इसमें उन सीमाओं के बारे में भी बताया गया है जिनका आपको सामना करना पड़ सकता है.

डेवलपमेंट के लिए ज़रूरी शर्तें

सुझावों का इस्तेमाल करने के लिए, आपके डेवलपमेंट एनवायरमेंट को ये ज़रूरी शर्तें पूरी करनी होंगी.

डिवाइस की ज़रूरी शर्तें

किसी डिवाइस पर अपने सुझावों को टेस्ट करने के लिए, आपके डिवाइस पर ये इंस्टॉल होने चाहिए.

सीमाएं

सुझाव सिर्फ़ अंग्रेज़ी में उपलब्ध हैं. उपयोगकर्ताओं को आपके सुझाव दिखें, इसके लिए उन्हें अपने डिवाइस पर Assistant की भाषा को अंग्रेज़ी पर सेट करना होगा.

सुझाव लागू करना

सुझाव लागू करने के लिए, आपको अपनी build.gradle फ़ाइल को अपडेट करना होगा. साथ ही, सुझाव क्लाइंट को सेट अप करना होगा. इसके बाद, वे सुझाव तय करने होंगे जो आपको उपयोगकर्ताओं को देने हैं.

  1. अपनी build.gradle फ़ाइल में लाइब्रेरी डिपेंडेंसी जोड़ें.

    dependencies {
      ...
      implementation "com.google.assistant.appactions:suggestions:1.0.0"
    }
    
  2. 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();

    इस उदाहरण में:

    • CONTEXT (ज़रूरी है) ऐप्लिकेशन का कॉन्टेक्स्ट है.

    • VERIFY_INTENTS (ज़रूरी है) से यह तय होता है कि उपयोगकर्ताओं को शॉर्टकट का सुझाव देते समय, बनाए गए हर इंटेंट की पुष्टि करनी है या नहीं. true होने पर, AssistantShortcutSuggestionsClient के बनाए गए इंटेंट की पुष्टि की जाती है. अगर कोई इंटेंट अमान्य है, तो गड़बड़ी का मैसेज दिखता है.

    • CUSTOM_EXECUTOR (ज़रूरी नहीं) एक कस्टम एक्ज़ीक्यूटर है. इसका इस्तेमाल, एसिंक्रोनस टास्क चलाने के लिए किया जाता है. अगर यह पैरामीटर नहीं दिया जाता है, तो एसडीके इस टास्क के लिए सिंगल-थ्रेडेड एक्ज़ीक्यूटर का इस्तेमाल करता है.

  3. lookupShortcut तरीके का इस्तेमाल करके, यह पता लगाएं कि आपको जो शॉर्टकट सुझाना है वह मान्य है या नहीं. इसके अलावा, यह भी पता लगाया जा सकता है कि वह शॉर्टकट पहले से मौजूद है या नहीं.

    1. ऐप्लिकेशन के शॉर्टकट के लिए इंटेंट बनाएं. शॉर्टकट इंटेंट, उस शॉर्टकट को दिखाता है जिसका सुझाव आपको किसी उपयोगकर्ता को देना है. नीचे दिए गए उदाहरण में, कसरत शुरू करने के लिए शॉर्टकट का इंटेंट बनाया गया है.

      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. शॉर्टकट इंटेंट को 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. शॉर्टकट इंटेंट का इस्तेमाल करके सुझाव बनाएं. सुझाव देने के लिए, दो तरीके इस्तेमाल किए जा सकते हैं:

    • createShortcutSuggestionIntent: यह एक Android इंटेंट दिखाता है. इसका इस्तेमाल, अपने ऐप्लिकेशन के संदर्भ में शॉर्टकट के सुझाव की गतिविधि शुरू करने के लिए किया जाता है.

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

      इस उदाहरण में, PHRASE वह वाक्यांश है जिसे आपको उपयोगकर्ता को शॉर्टकट के तौर पर सुझाना है. उदाहरण के लिए, अगर आपको उपयोगकर्ता से शॉर्टकट के तौर पर "Ok Google, दौड़ना शुरू करो" कहलवाना है, तो PHRASE को "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: यह एक Android इंटेंट दिखाता है, जो उपयोगकर्ता को Assistant ऐप्लिकेशन में शॉर्टकट सेटिंग इंटरफ़ेस पर ले जाता है.

      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. पिछले चरण में मिले Android इंटेंट का इस्तेमाल करके, startActivity को कॉल करें.

सुझावों से जुड़ी समस्या हल करना

इस सेक्शन में, उन समस्याओं और अपवादों की सूची दी गई है जो शॉर्टकट का सुझाव देते समय आ सकते हैं.

"GoogleInstallationUnsupportedException: Cannot bind to service"

पैकेज दिखने की सुविधा को फ़िल्टर करने की वजह से, Android 11 और इसके बाद के वर्शन पर "GoogleInstallationUnsupportedException: सेवा से बाइंड नहीं किया जा सकता" गड़बड़ी दिख सकती है. पक्का करें कि आपके मेनिफ़ेस्ट में, com.google.android.googlequicksearchbox को <queries> टैग में शामिल किया गया हो:

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

"APK के हस्ताक्षर की पुष्टि नहीं की जा सकी"

अगर आपने प्रोडक्शन ऐप्लिकेशन को ऐप्लिकेशन बंडल के तौर पर सबमिट नहीं किया है, तो यह गड़बड़ी हो सकती है:

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.

पक्का करें कि आपने अपने ऐप्लिकेशन को Android ऐप्लिकेशन बंडल के तौर पर सबमिट किया हो.

"उपयोगकर्ता के शॉर्टकट नहीं मिल सके"

"उपयोगकर्ता के शॉर्टकट नहीं मिल सके" गड़बड़ी का मैसेज तब दिख सकता है, जब आपने हाल ही में डिवाइस में कोई खाता जोड़ा हो और नए खाते के शॉर्टकट का डेटा अब तक डिवाइस में कैश मेमोरी में सेव न किया गया हो.

डिवाइस पर शॉर्टकट का डेटा सिंक करने के लिए, Assistant ऐप्लिकेशन के इंटरफ़ेस का इस्तेमाल करके, Assistant का कोई शॉर्टकट जोड़ें या मिटाएँ.

शॉर्टकट बनाने की गतिविधि, बिना कोई कॉन्टेंट दिखाए तुरंत बंद हो जाती है

अगर आपने ऐप्लिकेशन ऐक्शन टेस्ट टूल का इस्तेमाल करके झलक नहीं बनाई है या झलक की समयसीमा खत्म हो गई है, तो शॉर्टकट बनाने की गतिविधि बिना कोई कॉन्टेंट दिखाए बंद हो सकती है. झलक को अपडेट करें और फिर से कोशिश करें.