ডিভাইস টার্গেটিং (বিটা)

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

আপনি ডিভাইস বৈশিষ্ট্য লক্ষ্য করতে পারেন যেমন:

  • ডিভাইস মডেল
  • ডিভাইস RAM
  • সিস্টেম বৈশিষ্ট্য
  • সিস্টেম অন চিপ (অন্তত এপিআই লেভেল সহ ডিভাইসগুলির জন্য)

প্রয়োজনীয় পদক্ষেপের ওভারভিউ

ডিভাইস টার্গেটিং সক্ষম করতে নিম্নলিখিত পদক্ষেপগুলি প্রয়োজন:

  1. একটি XML ফাইলে আপনার ডিভাইস গ্রুপ সংজ্ঞায়িত করুন।
  2. আপনার বান্ডেলের কোন অংশগুলি কোন ডিভাইস গ্রুপে যেতে হবে তা নির্দিষ্ট করুন৷
  3. [ঐচ্ছিক] স্থানীয়ভাবে আপনার কনফিগারেশন পরীক্ষা করুন.
  4. Google Play-তে আপনার বান্ডেল (এক্সএমএল ফাইল ধারণকারী) আপলোড করুন।

অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ পরীক্ষা করুন

ডিভাইস টার্গেটিং ব্যবহার করতে, নিশ্চিত করুন যে আপনার Android Gradle Plugin (AGP) সংস্করণটি কমপক্ষে 8.10.0-alpha01। এটি অ্যান্ড্রয়েড স্টুডিও মিরকাট 2 এবং উচ্চতর প্যাকেজযুক্ত।

Android Gradle Plugin-এ ডিভাইস টার্গেটিং সক্ষম করুন

ডিভাইস টার্গেটিং আপনার gradle.properties ফাইলে স্পষ্টভাবে সক্রিয় করা আবশ্যক:

android.experimental.enableDeviceTargetingConfigApi=true

একটি ডিভাইস টার্গেটিং কনফিগারেশন XML ফাইল তৈরি করুন

ডিভাইস টার্গেটিং কনফিগারেশন ফাইল হল একটি XML ফাইল যেখানে আপনি আপনার কাস্টম ডিভাইস গ্রুপগুলিকে সংজ্ঞায়িত করেন। উদাহরণস্বরূপ, আপনি high_ram নামক একটি ডিভাইস গ্রুপকে সংজ্ঞায়িত করতে পারেন যাতে কমপক্ষে 8 গিগাবাইট RAM সহ সমস্ত ডিভাইস রয়েছে:

<config:device-targeting-config
    xmlns:config="http://schemas.android.com/apk/config">

    <config:device-group name="high_ram">
        <config:device-selector ram-min-bytes="8000000000"/>
    </config:device-group>

</config:device-targeting-config>

একটি ডিভাইস গ্রুপ 5টি পর্যন্ত ডিভাইস নির্বাচকের সমন্বয়ে গঠিত। একটি ডিভাইস একটি ডিভাইস গ্রুপে অন্তর্ভুক্ত করা হয় যদি এটি তার ডিভাইস নির্বাচকদের কোনোটিকে সন্তুষ্ট করে।

একটি ডিভাইস নির্বাচকের এক বা একাধিক ডিভাইস বৈশিষ্ট্য থাকতে পারে। একটি ডিভাইস নির্বাচন করা হয় যদি এটি নির্বাচকের ডিভাইস বৈশিষ্ট্যগুলির সাথে মেলে।

উপলব্ধ ডিভাইস বৈশিষ্ট্য

  • device_ram : ডিভাইস RAM এর প্রয়োজনীয়তা
    • min_bytes ( অন্তর্ভুক্ত) : ন্যূনতম প্রয়োজনীয় RAM (বাইটে)
    • max_bytes ( একচেটিয়া) : সর্বাধিক প্রয়োজনীয় RAM (বাইটে)
  • include_device_ids : ডিভাইস মডেল এই নির্বাচকে অন্তর্ভুক্ত করতে হবে (প্রতি গ্রুপে সর্বাধিক 10000টি ডিভাইস_আইডি) । ডিভাইসটি তালিকার যেকোনো ডিভাইস_আইডির সাথে মেলে তাহলে এই সম্পত্তিটি সন্তুষ্ট।
    • build_brand : ডিভাইস প্রস্তুতকারক
    • build_device : ডিভাইস মডেল কোড
  • excluded_device_ids : ডিভাইস মডেলগুলিকে এই নির্বাচকে বাদ দিতে হবে (প্রতি গ্রুপে সর্বাধিক 10000টি ডিভাইস_আইডি) । এই বৈশিষ্ট্যটি সন্তুষ্ট যদি ডিভাইসটি তালিকার কোনো device_id-এর সাথে মেলে না।
    • build_brand : ডিভাইস প্রস্তুতকারক
    • build_device : ডিভাইস মডেল কোড
  • প্রয়োজনীয়_সিস্টেম_বিশিষ্ট : একটি ডিভাইসের যে বৈশিষ্ট্যগুলিকে এই নির্বাচক দ্বারা অন্তর্ভুক্ত করতে হবে (প্রতি গ্রুপে সর্বাধিক 100টি বৈশিষ্ট্য) । এই বৈশিষ্ট্যটি পূরণ করতে একটি ডিভাইসের এই তালিকায় সমস্ত সিস্টেম বৈশিষ্ট্য থাকা প্রয়োজন৷

    সিস্টেম বৈশিষ্ট্য উল্লেখ

    • নাম : একটি সিস্টেম বৈশিষ্ট্য
  • forbidden_system_features : বৈশিষ্ট্যগুলি যা একটি ডিভাইসকে এই নির্বাচক দ্বারা অন্তর্ভুক্ত করতে হবে না (প্রতি গ্রুপে সর্বাধিক 100টি বৈশিষ্ট্য) । যদি একটি ডিভাইসে এই তালিকায় সিস্টেম বৈশিষ্ট্যগুলির কোনোটি থাকে তবে এটি এই সম্পত্তিকে সন্তুষ্ট করে না।

    সিস্টেম বৈশিষ্ট্য উল্লেখ

    • নাম : একটি সিস্টেম বৈশিষ্ট্য
  • সিস্টেম-অন-চিপ : সিস্টেম অন চিপ এই নির্বাচকের মধ্যে অন্তর্ভুক্ত করা হবে। এই বৈশিষ্ট্যটি পূরণ করতে একটি ডিভাইসের এই তালিকায় যেকোনো চিপ থাকা প্রয়োজন। চিপগুলিতে সিস্টেমটি কেবলমাত্র কমপক্ষে 31 API স্তর সহ ডিভাইসগুলিতে লক্ষ্য করা যেতে পারে।

একটি একক নির্বাচকে একাধিক বৈশিষ্ট্য অন্তর্ভুক্ত করা একটি যৌক্তিক AND তৈরি করে, উদাহরণস্বরূপ:

  <config:device-selector ram-min-bytes="7000000000">
      <config:included-device-id brand="google" device="flame"/>
  </config:device-selector>

> 7GB RAM সহ সমস্ত ডিভাইসের জন্য শর্ত তৈরি করবে এবং এটি একটি Pixel 4, এছাড়াও নিম্নরূপ লেখা:

আপনি যদি একটি OR শর্ত চান, একটি একক ডিভাইস গ্রুপে পৃথক নির্বাচক তৈরি করুন, উদাহরণস্বরূপ:

  <config:device-selector ram-min-bytes="7000000000"/>
  <config:device-selector>
        <config:included-device-id brand="google" device="flame"/>
  </config:device-selector>

> 7GB RAM সহ সমস্ত ডিভাইসের জন্য শর্ত তৈরি করবে অথবা এটি একটি Pixel 4, এছাড়াও নিম্নরূপ লেখা:

এখানে সমস্ত সম্ভাব্য ডিভাইস বৈশিষ্ট্য দেখানো একটি উদাহরণ:

<config:device-targeting-config
    xmlns:config="http://schemas.android.com/apk/config">

    <config:device-group name="myCustomGroup1">
      <config:device-selector ram-min-bytes="8000000000">
        <config:included-device-id brand="google" device="redfin"/>
        <config:included-device-id brand="google" device="sailfish"/>
        <config:included-device-id brand="good-brand"/>
        <config:excluded-device-id brand="google" device="caiman"/>
        <config:system-on-chip manufacturer="Sinclair" model="ZX80"/>
        <config:system-on-chip manufacturer="Commodore" model="C64"/>
      </config:device-selector>
      <config:device-selector ram-min-bytes="16000000000"/>
    </config:device-group>

    <config:device-group name="myCustomGroup2">
      <config:device-selector ram-min-bytes="4000000000" ram-max-bytes="8000000000">
        <config:required-system-feature name="android.hardware.bluetooth"/>
        <config:required-system-feature name="android.hardware.location"/>
        <config:forbidden-system-feature name="android.hardware.camera"/>
        <config:forbidden-system-feature name="mindcontrol.laser"/>
      </config:device-selector>
    </config:device-group>

</config:device-targeting-config>

অফিসিয়াল ডিভাইস প্রস্তুতকারক এবং ডিভাইস মডেল কোড

আপনি Google Play Console-এ ডিভাইস ক্যাটালগ ব্যবহার করে ডিভাইস প্রস্তুতকারক এবং মডেল কোডের জন্য সঠিক ফর্ম্যাটিং খুঁজে পেতে পারেন:

  • ডিভাইস ক্যাটালগ ব্যবহার করে পৃথক ডিভাইসগুলি পরিদর্শন করা, এবং নীচের উদাহরণে দেখানো জায়গায় প্রস্তুতকারক এবং মডেল কোড খুঁজে বের করা (Google Pixel 4a-এর জন্য, প্রস্তুতকারক হল "Google" এবং মডেল কোড হল "সানফিশ"):

    ডিভাইস ক্যাটালগে pixel 4a পৃষ্ঠা

    ডিভাইস ক্যাটালগে pixel 4a পৃষ্ঠা

  • সমর্থিত ডিভাইসগুলির একটি CSV ডাউনলোড করা এবং বিল্ড_ব্র্যান্ড এবং বিল্ড_ডিভাইস ক্ষেত্রের জন্য যথাক্রমে প্রস্তুতকারক এবং মডেল কোড ব্যবহার করা।

আপনার অ্যাপ বান্ডেলে আপনার ডিভাইস টার্গেটিং কনফিগারেশন ফাইল অন্তর্ভুক্ত করুন

আপনার প্রধান মডিউল এর build.gradle ফাইলে নিম্নলিখিত যোগ করুন:

android {
  ...
  bundle {
    deviceTargetingConfig = file('device_targeting_config.xml')
    deviceGroup {
      enableSplit = true   // split bundle by #group
      defaultGroup = "other"  // group used for standalone APKs
    }
  }
  ...
}

device_targeting_config.xml হল আপনার কনফিগারেশন ফাইলের পাথ প্রধান মডিউলের সাপেক্ষে। এটি নিশ্চিত করে যে আপনার কনফিগারেশন ফাইলটি আপনার অ্যাপ বান্ডেলের সাথে প্যাকেজ করা আছে।

deviceGroup ক্লজ নিশ্চিত করে যে আপনার বান্ডেল থেকে জেনারেট করা APKগুলি ডিভাইস গ্রুপ দ্বারা বিভক্ত করা হয়েছে।

প্লে ফিচার ডেলিভারির জন্য ডিভাইস টার্গেটিং

প্লে ফিচার ডেলিভারির সাথে ডিভাইস টার্গেটিং ব্যবহার করতে, শর্তসাপেক্ষ ডেলিভারির ডকুমেন্টেশন দেখুন।