ফোরগ্রাউন্ড অ্যাপ আহ্বান

অ্যাপ অ্যাকশন ব্যবহারকারীদের Google অ্যাসিস্ট্যান্টের সাথে কথা বলতে এবং নির্দিষ্ট অ্যাপের গন্তব্যে সরাসরি যেতে দেয় যখন তারা কিছু বলে, "Hey Google, আমাকে উদাহরণ অ্যাপে একটি রাইড অর্ডার করুন।" ফোরগ্রাউন্ড অ্যাপ্লিকেশান আহ্বানের মাধ্যমে, যখন কোনও ব্যবহারকারী ইতিমধ্যে আপনার অ্যাপ খোলা থাকে তখন আপনি অভিজ্ঞতা আরও উন্নত করতে পারেন।

ফোরগ্রাউন্ড অ্যাপ ইনভোকেশন ডিভাইসের ফোরগ্রাউন্ডে একটি নির্দিষ্ট অ্যাক্টিভিটি থাকার সময় অ্যাপের নাম উল্লেখ না করেই বিল্ট-ইন ইনটেন্ট (BII) মেলে।

উদাহরণস্বরূপ, একজন ব্যবহারকারী আপনার রাইডশেয়ার অ্যাপটি ফোরগ্রাউন্ডে আছে এবং Google অ্যাসিস্ট্যান্টের কাছে "আমাকে মাউন্টেন ভিউতে রাইডের অর্ডার দিন" বলে বা টাইপ করে। আপনার অ্যাপটি মাউন্টেন ভিউতে গন্তব্য ক্ষেত্র সেট করতে এই ইনপুট ব্যবহার করে। তারপরে, ব্যবহারকারী যখন বলে বা টাইপ করে, "আমাকে এসএফও থেকে একটি রাইড অর্ডার করুন", আপনার অ্যাপটি আপনার অ্যাপের অবস্থা সংরক্ষণ করার সময় পিকআপের অবস্থান সেট করতে পারে।

সীমাবদ্ধতা

ফোরগ্রাউন্ড অ্যাপ আহ্বান শুধুমাত্র নিম্নলিখিত BII-এর জন্য উপলব্ধ:

একটি নির্দিষ্ট BII-এর জন্য ফোরগ্রাউন্ড অ্যাপ আহ্বান সম্পর্কিত লোকেল সমর্থন এবং উদাহরণ প্রশ্নগুলি পেতে, অন্তর্নির্মিত অভিপ্রায় রেফারেন্স দেখুন।

ফোরগ্রাউন্ড অ্যাপ আহ্বান সমর্থন করুন

ফোরগ্রাউন্ড অ্যাপ্লিকেশান আহ্বানের জন্য সমর্থন যোগ করার সাথে একটি পছন্দসই অগ্রভাগের কার্যকলাপের উপর ভিত্তি করে পরিপূর্ণ আচরণ যোগ করা জড়িত। যখন সেই অ্যাক্টিভিটি ফোরগ্রাউন্ডে থাকে এবং অ্যাপ অ্যাকশন চালু করা হয়, তখন অ্যাসিস্ট্যান্ট সেই অ্যাক্টিভিটিটিতে অতিরিক্ত ফ্ল্যাগ সহ গভীর লিঙ্কের উদ্দেশ্য পাস করে যাতে আপনার অ্যাপ তার অবস্থা আপডেট করতে পারে।

একটি BII-এর জন্য ফোরগ্রাউন্ড অ্যাপ আহ্বান বাস্তবায়ন করতে, নিম্নলিখিতগুলি করুন:

  1. আপনার shortcuts.xml ফাইলে, BII <capability> -এ একটি <intent> ট্যাগ যোগ করুন যা আপনি ফোরগ্রাউন্ড অ্যাপ আহ্বানকে সমর্থন করতে চান।
  2. <intent> ট্যাগের মধ্যে, একটি <extra> ট্যাগ যোগ করুন।
  3. <extra> ট্যাগে, android:key "requiredForegroundActivity" এ সেট করুন এবং android:value সেট করুন যে কার্যকলাপটি আপনি অগ্রভাগে থাকতে চান। আপনার অ্যাপ্লিকেশান প্যাকেজের নাম ব্যবহার করে, একটি ফরোয়ার্ড স্ল্যাশ (/), তারপরে অ্যাক্টিভিটির নাম ব্যবহার করে কোনো ক্লাস সংক্ষেপণ ছাড়াই কার্যকলাপটি নির্দিষ্ট করুন: APP_PACKAGE_NAME/ACTIVITY_NAME
  4. আপনি "requiredForegroundActivity" এর জন্য যে ফোরগ্রাউন্ড অ্যাক্টিভিটি নির্দিষ্ট করেছেন তাতে, SINGLE_TOP পতাকা সেটের সাথে একটি গভীর লিঙ্কের উদ্দেশ্য পরিচালনা করতে onNewIntent() পদ্ধতিটি প্রয়োগ করুন৷ নির্দিষ্ট অ্যাক্টিভিটি ফোরগ্রাউন্ডে থাকলে অ্যাসিস্ট্যান্ট এই ফ্ল্যাগের সাথে ডিপ লিঙ্কের উদ্দেশ্য পূরণ করে।
  5. onNewIntent() এর কলগুলিকে আপনার ফোরগ্রাউন্ড অ্যাক্টিভিটির আপডেট হিসাবে বিবেচনা করুন এবং ডিপ লিঙ্ক থেকে এক্সট্র্যাক্ট করা প্যারামিটার ব্যবহার করে সেই কার্যকলাপের অবস্থা পরিচালনা করুন।

যদি আপনার অ্যাপ্লিকেশান একটি রাউটার কার্যকলাপ ব্যবহার করে সমস্ত বহিরাগত গভীর লিঙ্কগুলিকে একটি একক গেটকিপিং রাউটার কার্যকলাপকে ট্রিগার করতে দেয়, তাহলে রাউটার কার্যক্রম পরিচালনা করুন দেখুন।

উদাহরণ

একটি উদাহরণ shortcuts.xml ফাইল থেকে নিম্নলিখিত স্নিপেট দেখায় কিভাবে requiredForegroundActivity ForegroundActivity অ্যাট্রিবিউট যোগ করতে হয়:

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

ব্যবহারকারীর অনুমতি

ডিভাইস সেটিংসে, ব্যবহারকারীদের অবশ্যই 'স্ক্রিন থেকে পাঠ্য ব্যবহার করুন' সক্ষম করতে হবে যাতে ফোরগ্রাউন্ড অ্যাপ আহ্বান কাজ করে।

একজন ব্যবহারকারীর জন্য ফোরগ্রাউন্ড অ্যাপ আহ্বানের জন্য, ব্যবহারকারীকে অবশ্যই স্ক্রীন ডিভাইস থেকে ব্যবহার টেক্সট সক্ষম করতে হবে। এই সেটিং এর অবস্থান এবং সঠিক নাম OEM বা ডিভাইস প্রস্তুতকারকের দ্বারা পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, ডিভাইস সেটিংটিকে ব্যবহারকারীর ডিভাইসে ব্যবহার স্ক্রীন প্রসঙ্গ বলা যেতে পারে।

একটি Pixel ফোনে এই Android সেটিংসে পৌঁছানোর জন্য প্রথমে সেটিংস > অ্যাপ ও বিজ্ঞপ্তি > ডিফল্ট অ্যাপস > অ্যাসিস্ট অ্যাপে যান। তারপর, সহায়তা এবং ভয়েস ইনপুট স্ক্রিনে, স্ক্রীন থেকে পাঠ্য ব্যবহার করুন সক্ষম করুন৷

আপনার আহ্বান পরীক্ষা করুন

আপনার ফোরগ্রাউন্ড অ্যাপ ইনভোকেশন চেষ্টা করতে, এই ধাপগুলি অনুসরণ করুন:

  1. স্ক্রীন ডিভাইস সেটিং থেকে পাঠ্য ব্যবহার করুন সক্ষম করতে ব্যবহারকারীর অনুমতি বিভাগে নির্দেশাবলী অনুসরণ করুন।
  2. প্রয়োজনীয় অগ্রভাগের কার্যকলাপ হিসাবে আপনি তালিকাভুক্ত কার্যকলাপে আপনার অ্যাপ খুলুন।
  3. বর্তমান অ্যাপে ওভারলে হিসেবে অ্যাসিস্ট্যান্ট খুলতে হোম বোতাম টিপুন এবং ধরে রাখুন। অ্যাপের নাম উল্লেখ না করেই আপনি যে BII প্রয়োগ করেছেন তার সাথে সামঞ্জস্যপূর্ণ একটি প্রশ্ন প্রদান করুন। সফল হলে, স্থিতি বজায় রাখার সময় এবং কার্যকলাপ পুনরায় আরম্ভ না করেই আপনার অ্যাপটি আপনার প্রশ্নের উপর ভিত্তি করে আপডেট হয়।

রাউটার কার্যক্রম পরিচালনা করুন

কিছু অ্যাপ একক গেটকিপিং রাউটার কার্যকলাপ ব্যবহার করে সমস্ত বাহ্যিক গভীর লিঙ্ক পরিচালনা করে। রাউটার অ্যাক্টিভিটি তারপর উপযুক্ত ব্যবসায়িক লজিক অ্যাক্টিভিটি শুরু করে (যেকোনো চেক এবং যাচাইকরণের পরে) এবং ব্যবসায়িক লজিক অ্যাক্টিভিটি অগ্রভাগে ফিরিয়ে দেয়।

একটি গভীর লিঙ্ক ট্রিগার করার ফলে রাউটার অ্যাক্টিভিটি ফোরগ্রাউন্ড অ্যাক্টিভিটির উপরে টাস্ক স্ট্যাকের শীর্ষে যুক্ত হতে পারে। যে অ্যাপগুলি রাউটার অ্যাক্টিভিটি ব্যবহার করে, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে রাউটার অ্যাক্টিভিটি বর্তমান ফোরগ্রাউন্ড অ্যাক্টিভিটি ইনস্ট্যান্সে Google অ্যাসিস্ট্যান্টের পাঠানো অভিপ্রায়কে ডেলিভার করে। আপনার রাউটারের কার্যকলাপ কোথায় শুরু হয় তার উপর নির্ভর করে আপনি কীভাবে এই প্রয়োজনীয়তা অর্জন করেন তা পরিবর্তিত হয়।

যদি আপনার রাউটারটি আপনার ব্যবসায়িক লজিক অ্যাক্টিভিটির মতো একই টাস্ক স্ট্যাকে শুরু হয়, তাহলে SINGLE_TOP , CLEAR_TOP , এবং NEW_TASK এর বিটওয়াইজ বা ব্যবহার করে উদ্দেশ্যটি ফরোয়ার্ড করুন :

কোটলিন

Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK

জাভা

Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

যদি আপনার রাউটারটি আপনার ব্যবসায়িক লজিক কার্যকলাপ থেকে একটি পৃথক টাস্ক স্ট্যাকে শুরু হয়, তবে পরিবর্তে ব্যবসায়িক লজিক কার্যকলাপে SINGLE_TOP পতাকা সহ অভিপ্রায়টি ফরোয়ার্ড করুন৷