फ़ोरग्राउंड ऐप्लिकेशन का न्योता

ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों की सुविधा की मदद से, उपयोगकर्ता Google Assistant से बात कर सकते हैं और सीधे किसी खास विषय पर जा सकते हैं ऐप्लिकेशन डेस्टिनेशन पर, जब वे कुछ ऐसा कहें, "Ok Google, मेरे लिए राइड ऑर्डर करो ऐप्लिकेशन का उदाहरण" फ़ोरग्राउंड में चलने वाले ऐप्लिकेशन को शुरू करने की सुविधा की मदद से, जब किसी उपयोगकर्ता ने आपका ऐप्लिकेशन पहले से खोला हुआ हो.

फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने की सुविधा से, बिल्ट-इन इंटेंट (बीआईआई) का मिलान बिना जब कोई विशिष्ट गतिविधि डिवाइस के फ़ोरग्राउंड में जाएं.

उदाहरण के लिए, किसी उपयोगकर्ता के फ़ोरग्राउंड में आपका राइडशेयर ऐप्लिकेशन दिख रहा है और वह कहता है या टाइप करता है, Google Assistant को "मेरे लिए माउंटेन व्यू की राइड बुक करो". आपका ऐप्लिकेशन इसका इस्तेमाल करता है डेस्टिनेशन फ़ील्ड को माउंटेन व्यू पर सेट करने के लिए इनपुट. इसके बाद, जब उपयोगकर्ता कहता है या टाइप किया है, "SFO से मेरी राइड ऑर्डर करो", तो आपका ऐप्लिकेशन आपके ऐप्लिकेशन की स्थिति को बनाए रखते हुए जगह की जानकारी.

सीमाएं

फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने की सुविधा, सिर्फ़ इन बीआईआई के लिए उपलब्ध है:

फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने से जुड़ी क्वेरी के उदाहरण और स्थानीय सहायता पाने के लिए किसी खास बीआईआई के लिए, बिल्ट-इन इंटेंट रेफ़रंस देखें.

फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने की सुविधा दें

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

बीआईआई के लिए फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने की सुविधा लागू करने के लिए, यह तरीका अपनाएं:

  1. अपनी shortcuts.xml फ़ाइल में, बीआईआई में <intent> टैग जोड़ें <capability> को चुनने के लिए, फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने की सुविधा चालू करनी है.
  2. <intent> टैग में, <extra> टैग जोड़ें.
  3. <extra> टैग में, android:key को "requiredForegroundActivity" पर सेट करें. और android:value को उस गतिविधि पर सेट करें जिसे आपको शामिल करें. बिना किसी क्लास के गतिविधि बताएं अब्रिविएशन, आपके ऐप्लिकेशन पैकेज के नाम का इस्तेमाल करके, इसके बाद फ़ॉरवर्ड स्लैश (/), इसके बाद गतिविधि का नाम: APP_PACKAGE_NAME/ACTIVITY_NAME
  4. "requiredForegroundActivity" के लिए बताई गई फ़ोरग्राउंड गतिविधि में, डीप लिंक इंटेंट को हैंडल करने के लिए, onNewIntent() तरीका लागू करें SINGLE_TOP फ़्लैग सेट हो जाएगा. Assistant, डीप लिंक इंटेंट को दी गई गतिविधि के फ़ोरग्राउंड में होने पर, इस फ़्लैग को फ़ुलफ़िलमेंट के तौर पर दिखाया जाएगा.
  5. onNewIntent() पर किए गए कॉल को फ़ोरग्राउंड गतिविधि के अपडेट के तौर पर इस्तेमाल करें और डीप लिंक से निकाले गए पैरामीटर का इस्तेमाल करके, उस गतिविधि की स्थिति को मैनेज किया जा सकता है.

अगर आपका ऐप्लिकेशन, राऊटर की गतिविधि का इस्तेमाल करता है, ताकि सभी एक्सटर्नल डीप लिंक सिंगल गेटकीपिंग राऊटर की गतिविधि, देखें रूटर से जुड़ी गतिविधियां मैनेज करें.

उदाहरण

उदाहरण के तौर पर दी गई shortcuts.xml फ़ाइल में दिया गया यह स्निपेट, requiredForegroundActivity एट्रिब्यूट:

  <capability name="actions.intent.CREATE_TAXI_RESERVATION">
      <!-- Trigger with foreground app invocation if MainActivity is in the foreground. -->
      <intent
          android:targetClass="com.example.app.MainActivity"
          android:targetPackage="com.example.app">
          <parameter
              android:name="taxiReservation.dropoffLocation.name"
              android:key="dropoff" />
          <extra
              android:key="requiredForegroundActivity"
              android:value="com.example.app/com.example.app.MainActivity" />
      </intent>
      <!-- This won't trigger if MainActivity is in the foreground. -->
      <intent
          android:targetClass="com.example.app.MainActivity"
          android:targetPackage="com.example.app">
          <parameter
              android:name="taxiReservation.dropoffLocation.name"
              android:key="dropoff" />
      </intent>
  </capability>

उपयोगकर्ता की अनुमतियां

डिवाइस की सेटिंग में, उपयोगकर्ताओं को &#39;स्क्रीन पर मौजूद टेक्स्ट का इस्तेमाल करें&#39; सुविधा को चालू करना होगा
            इस्तेमाल करने में मदद मिलेगी.

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

Pixel फ़ोन पर इस Android सेटिंग तक पहुंचने के लिए, पहले सेटिंग > ऐप्लिकेशन और सूचनाएं > डिफ़ॉल्ट ऐप्लिकेशन > सहायक ऐप्लिकेशन. इसके बाद, Assist और Voice पर इनपुट स्क्रीन पर, स्क्रीन पर मौजूद टेक्स्ट का इस्तेमाल करें को चालू करें.

शुरू करने की प्रक्रिया की जांच करना

फ़ोरग्राउंड में चलने वाले ऐप्लिकेशन को शुरू करने की सुविधा आज़माने के लिए, यह तरीका अपनाएं:

  1. चालू करने के लिए, उपयोगकर्ता की अनुमतियां सेक्शन में दिए गए निर्देशों का पालन करें डिवाइस की सेटिंग में, स्क्रीन पर मौजूद टेक्स्ट का इस्तेमाल करना.
  2. अपना ऐप्लिकेशन उस गतिविधि पर खोलें जिसे आपने फ़ोरग्राउंड गतिविधि के तौर पर जोड़ा है.
  3. & दबाएं मौजूदा होम बटन पर ओवरले के रूप में Assistant को खोलने के लिए होम बटन को दबाकर रखें है. आपने जो बीआईआई लागू किया है उससे जुड़ी क्वेरी सबमिट करें और ऐप्लिकेशन का नाम बताए बिना. सफल होने पर, आपका ऐप्लिकेशन अपडेट हो जाता है यह स्थिति बनाए रखते हुए और बिना रीस्टार्ट किए आपकी क्वेरी पर आधारित अपने-आप होती है गतिविधि.

राऊटर से जुड़ी गतिविधियां मैनेज करना

कुछ ऐप्लिकेशन एक ही गेटकीपिंग राउटर का इस्तेमाल करके, सभी बाहरी डीप लिंक मैनेज कर सकते हैं गतिविधि. इसके बाद राऊटर गतिविधि सही कारोबारी लॉजिक शुरू करती है ऐक्टिविटी (किसी भी जांच और पुष्टि के बाद) और कारोबार का लॉजिक लौटाता है गतिविधि को फ़ोरग्राउंड में बदला जा सकता है.

डीप लिंक को ट्रिगर करने से राऊटर की गतिविधि, वेब ब्राउज़र पर सबसे ऊपर जुड़ सकती है टास्क स्टैक को फ़ोरग्राउंड गतिविधि के ऊपर रखें. राऊटर का इस्तेमाल करने वाले ऐप्लिकेशन के लिए गतिविधि है, तो आपको यह सुनिश्चित करना होगा कि राउटर गतिविधि भेजे गए इंटेंट को डिलीवर करती है Google Assistant से, फ़ोरग्राउंड गतिविधि के मौजूदा इंस्टेंस पर भेजा जा सकता है. हासिल करने का तरीका यह ज़रूरी शर्त, इस बात पर निर्भर करती है कि राऊटर की गतिविधि कहां से शुरू होती है.

अगर आपका राऊटर उसी टास्क स्टैक में शुरू होता है जिसमें आपका बिज़नेस लॉजिक है, तो SINGLE_TOP, CLEAR_TOP के बिट के अनुसार OR का इस्तेमाल करके इंटेंट को फ़ॉरवर्ड करें, और NEW_TASK:

Kotlin

Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK

Java

Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

अगर आपका राऊटर आपके कारोबार के नियम से अलग टास्क स्टैक में शुरू होता है, तो गतिविधि के लिए, SINGLE_TOP फ़्लैग के साथ इंटेंट को कारोबार को फ़ॉरवर्ड करें लॉजिक ऐक्टिविटी का इस्तेमाल करें.