ভবিষ্যদ্বাণীমূলক পিছনে অঙ্গভঙ্গি জন্য সমর্থন যোগ করুন

চিত্র 1. ফোনে ভবিষ্যদ্বাণীমূলক পিছনের অঙ্গভঙ্গির চেহারা এবং অনুভূতির মকআপ

অ্যান্ড্রয়েড 14 (এপিআই স্তর 34) কাস্টম অ্যানিমেশন তৈরি করতে অতিরিক্ত সিস্টেম অ্যানিমেশন এবং APIগুলির জন্য সমর্থন যোগ করে। আরও তথ্যের জন্য, অন্তর্নির্মিত এবং কাস্টম ভবিষ্যদ্বাণীমূলক ব্যাক অ্যানিমেশনের জন্য সমর্থন যোগ করুন দেখুন।

উদাহরণস্বরূপ, পিছনের অঙ্গভঙ্গি ব্যবহার করে আপনার অ্যাপের পিছনে হোম স্ক্রীনের একটি অ্যানিমেটেড প্রিভিউ দেখাতে পারে, যেমনটি চিত্র 1-এ মকআপে উপস্থাপিত হয়েছে। Android 13 দিয়ে শুরু করে, আপনি একটি বিকাশকারী বিকল্প সক্ষম করে এই ব্যাক-টু-হোম অ্যানিমেশনটি পরীক্ষা করতে পারেন ( এই পৃষ্ঠায় বর্ণিত হিসাবে)।

ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার সমর্থন করার জন্য আপনার অ্যাপ আপডেট করতে হবে, ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ OnBackPressedCallback AppCompat 1.6.0-alpha05 (AndroidX) বা উচ্চতর API ব্যবহার করে, অথবা নতুন OnBackInvokedCallback প্ল্যাটফর্ম API ব্যবহার করে। বেশিরভাগ অ্যাপই ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ AndroidX API ব্যবহার করবে।

এই আপডেটটি ব্যাক নেভিগেশনকে সঠিকভাবে ইন্টারসেপ্ট করার জন্য একটি মাইগ্রেশন পাথ প্রদান করে, যার মধ্যে KeyEvent.KEYCODE_BACK থেকে ব্যাক ইন্টারসেপশন প্রতিস্থাপন করা হয় এবং নতুন সিস্টেম ব্যাক এপিআই-এর সাথে Activity এবং Dialog মতো onBackPressed পদ্ধতি সহ যেকোনো ক্লাস প্রতিস্থাপন করা হয়।

কোডল্যাব এবং Google I/O ভিডিও

এই পৃষ্ঠায় এই ডকুমেন্টেশন ব্যবহার করার পাশাপাশি, আমাদের কোডল্যাব ব্যবহার করে দেখুন । এটি AndroidX কার্যকলাপ API ব্যবহার করে ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার পরিচালনা করে একটি WebView-এর একটি সাধারণ ব্যবহার-কেস বাস্তবায়ন প্রদান করে।

এছাড়াও আপনি আমাদের Google I/O ভিডিও দেখতে পারেন, যা AndroidX এবং প্ল্যাটফর্ম APIs বাস্তবায়নের অতিরিক্ত উদাহরণ কভার করে।

ডিফল্ট ব্যাক নেভিগেশন ব্যবহার করে এমন একটি অ্যাপ আপডেট করুন

এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য আপনার অ্যাপ আপডেট করা সহজ যদি আপনার অ্যাপটি কোনো কাস্টম ব্যাক আচরণ বাস্তবায়ন না করে (অন্য কথায়, এটি সিস্টেমের কাছে হ্যান্ডলিং ছেড়ে দেয়)। এই নির্দেশিকায় বর্ণিত এই বৈশিষ্ট্যটিতে অপ্ট-ইন করুন

যদি আপনার অ্যাপটি ফ্র্যাগমেন্টস বা নেভিগেশন কম্পোনেন্ট ব্যবহার করে, তাহলে AndroidX Activity 1.6.0-alpha05 বা উচ্চতর সংস্করণেও আপগ্রেড করুন।

কাস্টম ব্যাক নেভিগেশন ব্যবহার করে এমন একটি অ্যাপ আপডেট করুন

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

আপনার অ্যাপ AndroidX ব্যবহার করে কীভাবে আপনার অ্যাপ ব্যাক নেভিগেশন পরিচালনা করে প্রস্তাবিত মাইগ্রেশন পথ (এই পৃষ্ঠার লিঙ্ক)
হ্যাঁ AndroidX APIs একটি বিদ্যমান AndroidX ব্যাক বাস্তবায়ন স্থানান্তর করুন
অসমর্থিত প্ল্যাটফর্ম API AndroidX API-এ অসমর্থিত ব্যাক নেভিগেশন API সমন্বিত একটি AndroidX অ্যাপ স্থানান্তর করুন
না অসমর্থিত প্ল্যাটফর্ম API, স্থানান্তর করতে সক্ষম প্ল্যাটফর্ম API-এ অসমর্থিত ব্যাক নেভিগেশন API ব্যবহার করে এমন একটি অ্যাপ স্থানান্তর করুন
অসমর্থিত প্ল্যাটফর্ম API, কিন্তু স্থানান্তর করতে অক্ষম এটি একটি প্রয়োজনীয় বৈশিষ্ট্য না হওয়া পর্যন্ত অপ্ট-ইন স্থগিত করুন

একটি AndroidX ব্যাক নেভিগেশন বাস্তবায়ন স্থানান্তর করুন

এই ব্যবহারের ক্ষেত্রে সবচেয়ে সাধারণ (এবং সবচেয়ে প্রস্তাবিত)। এটি নতুন বা বিদ্যমান অ্যাপগুলির ক্ষেত্রে প্রযোজ্য যেগুলি OnBackPressedDispatcher এর সাথে কাস্টম অঙ্গভঙ্গি নেভিগেশন হ্যান্ডলিং প্রয়োগ করে, যেমনটি কাস্টম ব্যাক নেভিগেশন প্রদানে বর্ণিত হয়েছে৷

যদি আপনার অ্যাপ এই বিভাগে ফিট করে, তাহলে ভবিষ্যদ্বাণীমূলক ব্যাক জেসচারের জন্য সমর্থন যোগ করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. যে APIগুলি ইতিমধ্যেই OnBackPressedDispatcher API ব্যবহার করছে (যেমন ফ্র্যাগমেন্টস এবং নেভিগেশন কম্পোনেন্ট) ভবিষ্যদ্বাণীমূলক ব্যাক জেসচারের সাথে নির্বিঘ্নে কাজ করে তা নিশ্চিত করতে, AndroidX Activity 1.6.0-alpha05- এ আপগ্রেড করুন।

    // In your build.gradle file:
    dependencies {
    
    // Add this in addition to your other dependencies
    implementation "androidx.activity:activity:1.6.0-alpha05"
    
  2. এই পৃষ্ঠায় বর্ণিত ভবিষ্যদ্বাণীমূলক ব্যাক জেসচারে অপ্ট-ইন করুন

AndroidX API-এ অসমর্থিত ব্যাক নেভিগেশন API সমন্বিত একটি AndroidX অ্যাপ স্থানান্তর করুন

যদি আপনার অ্যাপটি AndroidX লাইব্রেরি ব্যবহার করে কিন্তু অসমর্থিত ব্যাক নেভিগেশন APIগুলিকে প্রয়োগ করে বা রেফারেন্স করে, তাহলে নতুন আচরণ সমর্থন করার জন্য আপনাকে AndroidX API ব্যবহার করে মাইগ্রেট করতে হবে।

অসমর্থিত APIগুলিকে AndroidX APIগুলিতে স্থানান্তর করতে:

  1. OnBackPressedCallback এর একটি বাস্তবায়নের সাথে AndroidX-এর OnBackPressedDispatcher এ আপনার সিস্টেম ব্যাক হ্যান্ডলিং লজিক মাইগ্রেট করুন। বিস্তারিত নির্দেশনার জন্য, কাস্টম ব্যাক নেভিগেশন প্রদান দেখুন।

  2. পিছনের অঙ্গভঙ্গি বাধা দেওয়া বন্ধ করার জন্য প্রস্তুত হলে OnBackPressedCallback অক্ষম করুন৷

  3. OnBackPressed বা KeyEvent.KEYCODE_BACK এর মাধ্যমে ব্যাক ইভেন্টে বাধা দেওয়া বন্ধ করুন।

  4. AndroidX Activity 1.6.0-alpha05- এ আপগ্রেড করা নিশ্চিত করুন।

    // In your build.gradle file:
    dependencies {
    
    // Add this in addition to your other dependencies
    implementation "androidx.activity:activity:1.6.0-alpha05"
    
  5. আপনি যখন সফলভাবে আপনার অ্যাপ স্থানান্তরিত করেছেন, ব্যাক-টু-হোম সিস্টেম অ্যানিমেশন দেখতে ভবিষ্যদ্বাণীমূলক ব্যাক জেসচারে অপ্ট-ইন করুন (এই পৃষ্ঠায় বর্ণিত)।

প্ল্যাটফর্ম API-এ অসমর্থিত ব্যাক নেভিগেশন API ব্যবহার করে এমন একটি অ্যাপ স্থানান্তর করুন

যদি আপনার অ্যাপ AndroidX লাইব্রেরি ব্যবহার করতে না পারে এবং পরিবর্তে অসমর্থিত API ব্যবহার করে কাস্টম ব্যাক নেভিগেশন প্রয়োগ করে বা রেফারেন্স করে, তাহলে আপনাকে অবশ্যই OnBackInvokedCallback প্ল্যাটফর্ম API-এ স্থানান্তর করতে হবে।

প্ল্যাটফর্ম API-এ অসমর্থিত APIগুলি স্থানান্তর করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. অ্যান্ড্রয়েড 13 বা উচ্চতর সংস্করণে চলমান ডিভাইসগুলিতে নতুন OnBackInvokedCallback API ব্যবহার করুন এবং Android 12 বা তার পরবর্তী সংস্করণে চলমান ডিভাইসগুলিতে অসমর্থিত APIগুলির উপর নির্ভর করুন৷

  2. OnBackInvokedCallbackonBackInvokedDispatcher এর সাথে আপনার কাস্টম ব্যাক লজিক নিবন্ধন করুন। এটি বর্তমান কার্যকলাপকে সমাপ্ত হতে বাধা দেয় এবং ব্যবহারকারী সিস্টেম ব্যাক নেভিগেশন সম্পূর্ণ করলে আপনার কলব্যাক ব্যাক অ্যাকশনে প্রতিক্রিয়া জানানোর সুযোগ পায়।

  3. পিছনের অঙ্গভঙ্গি বাধা দেওয়া বন্ধ করার জন্য প্রস্তুত হলে OnBackInvokedCallback এর নিবন্ধনমুক্ত করুন৷ অন্যথায়, ব্যবহারকারীরা একটি সিস্টেম ব্যাক নেভিগেশন ব্যবহার করার সময় অবাঞ্ছিত আচরণ দেখতে পারে—উদাহরণস্বরূপ, ভিউগুলির মধ্যে "আটকে যাওয়া" এবং তাদের আপনার অ্যাপটি ছেড়ে দিতে বাধ্য করা।

    onBackPressed থেকে যুক্তিকে কীভাবে স্থানান্তর করা যায় তার একটি উদাহরণ এখানে রয়েছে:

    কোটলিন

    @Override
    fun onCreate() {
        if (BuildCompat.isAtLeastT()) {
            onBackInvokedDispatcher.registerOnBackInvokedCallback(
                OnBackInvokedDispatcher.PRIORITY_DEFAULT
            ) {
                /**
                 * onBackPressed logic goes here. For instance:
                 * Prevents closing the app to go home screen when in the
                 * middle of entering data to a form
                 * or from accidentally leaving a fragment with a WebView in it
                 *
                 * Unregistering the callback to stop intercepting the back gesture:
                 * When the user transitions to the topmost screen (activity, fragment)
                 * in the BackStack, unregister the callback by using
                 * OnBackInvokeDispatcher.unregisterOnBackInvokedCallback
                 * (https://developer.android.com/reference/kotlin/android/window/OnBackInvokedDispatcher#unregisteronbackinvokedcallback)
                 */
            }
        }
    }
    

    জাভা

    @Override
    void onCreate() {
      if (BuildCompat.isAtLeastT()) {
        getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
            OnBackInvokedDispatcher.PRIORITY_DEFAULT,
            () -> {
              /**
               * onBackPressed logic goes here - For instance:
               * Prevents closing the app to go home screen when in the
               * middle of entering data to a form
               * or from accidentally leaving a fragment with a WebView in it
               *
               * Unregistering the callback to stop intercepting the back gesture:
               * When the user transitions to the topmost screen (activity, fragment)
               * in the BackStack, unregister the callback by using
               * OnBackInvokeDispatcher.unregisterOnBackInvokedCallback
               * (https://developer.android.com/reference/kotlin/android/view/OnBackInvokedDispatcher#unregisteronbackinvokedcallback)
               */
            }
        );
      }
    }
    
  4. OnBackPressed বা KeyEvent.KEYCODE_BACK Android 13 এবং তার বেশির জন্য ইভেন্ট ব্যাক করা বন্ধ করুন।

  5. আপনি যখন আপনার অ্যাপ সফলভাবে স্থানান্তরিত করেছেন, তখন পূর্বাভাসমূলক ব্যাক জেসচারে অপ্ট-ইন করুন (যেমন এই পৃষ্ঠায় বর্ণনা করা হয়েছে) যাতে OnBackInvokedCallback কার্যকর হয়৷

আপনি PRIORITY_DEFAULT বা PRIORITY_OVERLAY এর সাথে একটি OnBackInvokedCallback নিবন্ধন করতে পারেন, যা অনুরূপ AndroidX OnBackPressedCallback এ উপলব্ধ নয়৷ PRIORITY_OVERLAY এর সাথে একটি কলব্যাক নিবন্ধন করা কিছু ক্ষেত্রে সহায়ক৷ একটি ক্ষেত্রে যেখানে এটি প্রযোজ্য হতে পারে যখন আপনি onKeyPreIme() থেকে স্থানান্তরিত হন এবং আপনার কলব্যাকে একটি খোলা IME এর পরিবর্তে পিছনের অঙ্গভঙ্গি গ্রহণ করতে হবে। IME গুলি খোলার সময় PRIORITY_DEFAULT দিয়ে কলব্যাক নিবন্ধন করে৷ OnBackInvokedDispatcher ওপেন IME-এর পরিবর্তে আপনার কলব্যাকে পিছনের অঙ্গভঙ্গি প্রেরণ করে তা নিশ্চিত করতে PRIORITY_OVERLAY এর সাথে আপনার কলব্যাক নিবন্ধন করুন৷

ভবিষ্যদ্বাণীমূলক ব্যাক জেসচারে অপ্ট-ইন করুন

একবার আপনি আপনার ক্ষেত্রের উপর ভিত্তি করে কীভাবে আপনার অ্যাপ আপডেট করবেন তা নির্ধারণ করলে, পূর্বাভাসমূলক ব্যাক জেসচার সমর্থন করার জন্য অপ্ট-ইন করুন।

অপ্ট-ইন করতে, AndroidManifest.xml এ, <application> ট্যাগে, android:enableOnBackInvokedCallback পতাকাটিকে true সেট করুন।

<application
    ...
    android:enableOnBackInvokedCallback="true"
    ... >
...
</application>

যদি আপনি একটি মান প্রদান না করেন, এটি ডিফল্ট হিসাবে false হয় এবং নিম্নলিখিতগুলি করে:

  • ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার সিস্টেম অ্যানিমেশন অক্ষম করে৷
  • OnBackInvokedCallback উপেক্ষা করে, কিন্তু OnBackPressedCallback কলগুলি কাজ করতে থাকে৷

একটি কার্যকলাপ স্তরে অপ্ট-ইন করুন

Android 14 দিয়ে শুরু করে, android:enableOnBackInvokedCallback পতাকা আপনাকে কার্যকলাপ স্তরে ভবিষ্যদ্বাণীমূলক সিস্টেম অ্যানিমেশন বেছে নিতে দেয়। এই আচরণটি বৃহৎ মাল্টি-অ্যাক্টিভিটি অ্যাপগুলিকে ভবিষ্যদ্বাণীমূলক ব্যাক জেসচারে স্থানান্তর করা আরও পরিচালনাযোগ্য করে তোলে।

নিম্নলিখিত কোডটি MainActivity থেকে ব্যাক-টু-হোম সিস্টেম অ্যানিমেশন সক্ষম করতে enableOnBackInvokedCallback ব্যবহার করার একটি উদাহরণ দেখায়:

<manifest ...>
    <application . . .

        android:enableOnBackInvokedCallback="false">

        <activity
            android:name=".MainActivity"
            android:enableOnBackInvokedCallback="true"
            ...
        </activity>
        <activity
            android:name=".SecondActivity"
            android:enableOnBackInvokedCallback="false"
            ...
        </activity>
    </application>
</manifest>

পূর্ববর্তী উদাহরণে, ".SecondActivity" এর জন্য android:enableOnBackInvokedCallback=true সেট করা ক্রস-অ্যাক্টিভিটি সিস্টেম অ্যানিমেশনকে সক্ষম করে।

android:enableOnBackInvokedCallback পতাকা ব্যবহার করার সময় নিম্নলিখিত বিবেচনাগুলি মনে রাখবেন:

  • android:enableOnBackInvokedCallback=false সেট করা হল অ্যাক্টিভিটি লেভেলে বা অ্যাপ লেভেলে ভবিষ্যদ্বাণীমূলক ব্যাক অ্যানিমেশন বন্ধ করে, যেখানে আপনি ট্যাগ সেট করেছেন তার উপর নির্ভর করে, এবং সিস্টেমকে OnBackInvokedCallback প্ল্যাটফর্ম API-এ কলগুলি উপেক্ষা করার নির্দেশ দেয়৷ যাইহোক, OnBackPressedCallback এ কলগুলি চলতে থাকে কারণ OnBackPressedCallback ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ এবং onBackPressed API-কে কল করে, যা Android 13-এর আগে অসমর্থিত।
  • অ্যাপ স্তরে enableOnBackInvokedCallback পতাকা সেট করা অ্যাপের সমস্ত কার্যকলাপের জন্য ডিফল্ট মান স্থাপন করে। পূর্ববর্তী কোড উদাহরণে দেখানো হিসাবে, কার্যকলাপ স্তরে পতাকা সেট করে আপনি প্রতি কার্যকলাপ ডিফল্ট ওভাররাইড করতে পারেন।

কলব্যাক সেরা অনুশীলন

সমর্থিত সিস্টেম ব্যাক কলব্যাক ব্যবহার করার জন্য এখানে সেরা অনুশীলনগুলি রয়েছে; BackHandler (কম্পোজের জন্য), OnBackPressedCallback , বা OnBackInvokedCallback

UI অবস্থা নির্ধারণ করুন যা প্রতিটি কলব্যাককে সক্ষম এবং নিষ্ক্রিয় করে

UI স্টেট হল একটি সম্পত্তি যা UI বর্ণনা করে। আমরা এই উচ্চ-স্তরের পদক্ষেপগুলি অনুসরণ করার পরামর্শ দিই।

  1. UI অবস্থা নির্ধারণ করুন যা প্রতিটি কলব্যাককে সক্ষম এবং নিষ্ক্রিয় করে।

  2. StateFlow বা কম্পোজ স্টেটের মতো একটি পর্যবেক্ষণযোগ্য ডেটা হোল্ডার টাইপ ব্যবহার করে সেই স্টেটটিকে সংজ্ঞায়িত করুন এবং স্টেট পরিবর্তনের সাথে সাথে কলব্যাক সক্রিয় বা অক্ষম করুন।

যদি আপনার অ্যাপটি পূর্বে শর্তসাপেক্ষ বিবৃতিগুলির সাথে ব্যাক লজিক যুক্ত করে থাকে, তাহলে এটি ইঙ্গিত করতে পারে যে আপনি পিছনের ইভেন্টটি ইতিমধ্যে ঘটার পরে প্রতিক্রিয়া জানাচ্ছেন—একটি প্যাটার্ন যা আপনাকে নতুন কলব্যাকের সাথে এড়াতে হবে। যদি সম্ভব হয়, কলব্যাকটিকে শর্তসাপেক্ষ বিবৃতির বাইরে নিয়ে যান এবং পরিবর্তে একটি পর্যবেক্ষণযোগ্য ডেটা হোল্ডার টাইপের সাথে কলব্যাকটিকে সংযুক্ত করুন৷

UI লজিকের জন্য সিস্টেম ব্যাক কলব্যাক ব্যবহার করুন

UI যুক্তি নির্দেশ করে কিভাবে UI প্রদর্শন করতে হয়। UI লজিক চালানোর জন্য সিস্টেম ব্যাক কলব্যাক ব্যবহার করুন, যেমন একটি পপ-আপ প্রদর্শন করা বা একটি অ্যানিমেশন চালানো।

যদি আপনার অ্যাপ একটি সিস্টেম ব্যাক কলব্যাক সক্ষম করে, তাহলে ভবিষ্যদ্বাণীমূলক অ্যানিমেশন চলবে না এবং আপনাকে অবশ্যই ব্যাক ইভেন্টটি পরিচালনা করতে হবে। শুধুমাত্র নন-ইউআই লজিক চালানোর জন্য কলব্যাক তৈরি করবেন না।

উদাহরণস্বরূপ, আপনি যদি শুধুমাত্র লগ করার জন্য ইভেন্টগুলিকে ব্যাক করে থাকেন তবে পরিবর্তে কার্যকলাপ বা ফ্র্যাগমেন্ট লাইফসাইকেলের মধ্যে লগ করুন৷

  • অ্যাক্টিভিটি-টু-অ্যাক্টিভিটি কেস বা ফ্র্যাগমেন্ট-টু-অ্যাক্টিভিটি ক্ষেত্রে, লগ ইন করুন যদি onDestroy মধ্যে isFinishing অ্যাক্টিভিটি জীবনচক্রের মধ্যে true হয়।
  • ফ্র্যাগমেন্ট-টু-ফ্র্যাগমেন্ট ক্ষেত্রে, লগ করুন যদি onDestroy মধ্যে isRemoving হয় ফ্র্যাগমেন্টের ভিউ লাইফসাইকেলের মধ্যে সত্য; অথবা, FragmentManager.OnBackStackChangedListener এর মধ্যে onBackStackChangeStarted বা onBackStackChangeCommitted পদ্ধতি ব্যবহার করে লগ করুন।

রচনার ক্ষেত্রে, রচনা গন্তব্যের সাথে যুক্ত একটি ViewModel onCleared() কলব্যাকের মধ্যে লগ করুন৷ কখন একটি রচনা গন্তব্য ব্যাক স্ট্যাকের থেকে পপ করা হয়েছে এবং ধ্বংস করা হয়েছে তা জানার জন্য এটি সর্বোত্তম সংকেত।

একক দায়িত্ব কলব্যাক তৈরি করুন

এটি সম্ভব কারণ আপনি প্রেরণকারীতে একাধিক কলব্যাক যোগ করতে পারেন। কলব্যাকগুলি একটি স্ট্যাকে যোগ করা হয় যেখানে শেষ যোগ করা কলব্যাকটি পরবর্তী ব্যাক জেসচার প্রতি ব্যাক জেসচারে একটি কলব্যাক দিয়ে পরিচালনা করে।

ভবিষ্যদ্বাণীমূলক ব্যাক জেসচার অ্যানিমেশন পরীক্ষা করুন

অ্যান্ড্রয়েড 13 চূড়ান্ত প্রকাশের সাথে শুরু করে, চিত্র 1-এ দেখানো ব্যাক-টু-হোম অ্যানিমেশন পরীক্ষা করার জন্য আপনি একটি বিকাশকারী বিকল্প সক্ষম করতে সক্ষম হবেন।

এই অ্যানিমেশন পরীক্ষা করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. আপনার ডিভাইসে, সেটিংস > সিস্টেম > বিকাশকারী বিকল্পগুলিতে যান।

  2. ভবিষ্যদ্বাণীমূলক ব্যাক অ্যানিমেশন নির্বাচন করুন।

  3. আপনার আপডেট করা অ্যাপটি চালু করুন এবং এটিকে কার্যকর দেখতে পিছনের অঙ্গভঙ্গিটি ব্যবহার করুন৷