Play Age Signals API (বিটা) ব্যবহার করুন

প্লে এজ সিগন্যালস এপিআই (বিটা) ব্যবহার করার মাধ্যমে, আপনি পরিষেবার শর্তাবলীতে সম্মত হচ্ছেন এবং গুগল প্লে-এর সমস্ত ডেভেলপার নীতি মেনে চলতে সম্মত হচ্ছেন। ব্যবহারকারীর স্ট্যাটাস এবং বয়সের পরিসীমা জানতে, আপনাকে রানটাইমে আপনার অ্যাপ থেকে এপিআই-টি কল করতে হবে। প্লে এজ সিগন্যালস এপিআই শুধুমাত্র সেইসব অঞ্চলের ব্যবহারকারীদের ডেটা ফেরত দেয়, যেখানে আইনত প্লে-কে বয়সের বিভাগ অনুযায়ী ডেটা সরবরাহ করতে হয়।

প্লে প্রযোজ্য এখতিয়ার এবং অঞ্চল দ্বারা সংজ্ঞায়িত বয়সের স্তর অনুসারে একটি বয়সের পরিসীমা প্রদান করে। প্রযোজ্য এখতিয়ার এবং অঞ্চলে এপিআই দ্বারা প্রদত্ত ডিফল্ট বয়সগুলো হলো ০-১২, ১৩-১৫, ১৬-১৭, এবং ১৮+, তবে নিজস্ব বয়সের পরিসীমাও পাওয়া যেতে পারে। ব্যবহারকারীর জন্মদিনের ২ থেকে ৮ সপ্তাহের মধ্যে গুগল প্লে স্বয়ংক্রিয়ভাবে ব্যবহারকারীর জন্য ক্যাশ করা বয়সের সংকেতগুলো আপডেট করে।

আপনার অ্যাপে প্লে এজ সিগন্যালস এপিআই (Play Age Signals API) একীভূত করুন।

প্লে এজ সিগন্যালস এপিআই অ্যান্ড্রয়েড ৬.০ (এপিআই লেভেল ২৩) এবং তার উচ্চতর সংস্করণে চালিত ফোন, ফোল্ডেবল ও ট্যাবলেটে সমর্থিত। আপনার অ্যাপে প্লে এজ সিগন্যালস এপিআই সংহত করতে, আপনার অ্যাপের build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সিটি যোগ করুন:

implementation 'com.google.android.play:age-signals:0.0.3'

বয়সের সংকেত অনুরোধ করুন

বয়স সংকেতের অনুরোধ করার একটি উদাহরণ নিচে দেওয়া হলো:

কোটলিন

// Create an instance of a manager
val ageSignalsManager =
    AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext())

// Request an age signals check
ageSignalsManager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { ageSignalsResult ->
        // Store the install ID for later...
        val installId = ageSignalsResult.installId()

        if (ageSignalsResult.userStatus() == AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED) {
          // Disallow access...
        } else {
           // Do something else if the user is VERIFIED, DECLARED, SUPERVISED, etc.
        }
    }

জাভা

// Create an instance of a manager
AgeSignalsManager ageSignalsManager =
    AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext());

// Request an age signals check
ageSignalsManager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(
        ageSignalsResult -> {
          // Store the install ID for later...
          String installId = ageSignalsResult.installId();

          if (ageSignalsResult
              .userStatus()
              .equals(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)) {
            // Disallow access ...
          } else {
            // Do something else if the user is SUPERVISED, VERIFIED, etc.
          }
        });

(ঐচ্ছিক) নিজস্ব বয়সসীমা গ্রহণ করুন

প্রযোজ্য এখতিয়ার এবং অঞ্চলগুলিতে এপিআই দ্বারা প্রদত্ত ডিফল্ট বয়সসীমাগুলি হলো ০-১২, ১৩-১৫, ১৬-১৭, এবং ১৮+।

বিকল্পভাবে, আপনার অ্যাপের ন্যূনতম বয়স অনুযায়ী ডিফল্ট বয়সের সীমা কাস্টমাইজ করতে, আপনি আপনার Google Play Console-এর Age signals পেজে আপনার অ্যাপের জন্য এই ন্যূনতম বয়সগুলো প্রদান করতে পারেন।

  1. আপনার প্লে কনসোলের Age signals পৃষ্ঠায় যান।
  2. কাস্টম বয়সসীমা ট্যাবে, আপনার অ্যাপের জন্য সর্বোচ্চ তিনটি সর্বনিম্ন বয়স লিখুন। সর্বনিম্ন বয়সগুলোর মধ্যে কমপক্ষে ২ বছরের ব্যবধান থাকতে হবে এবং বছরে একবার তা পরিবর্তন করা যাবে।
  3. সংরক্ষণ করুন- এ ক্লিক করুন।

ফেরত আসা বয়সের পরিসরগুলো ডিফল্ট API প্রতিক্রিয়াকে বাতিল করবে। উদাহরণস্বরূপ:

  • যদি আপনি Google Play Console-এ একটি সর্বনিম্ন বয়স (15) সেট করেন:

    • ০ থেকে ১৪ বছর বয়সীদের ক্ষেত্রে ageLower = 0 এবং ageUpper = 14 রিটার্ন করা হবে।
    • ১৫+ বছর বয়সীদের ক্ষেত্রে ageLower = 15 রিটার্ন করা হবে।
  • যদি আপনি দুটি সর্বনিম্ন বয়স (১৩ এবং ১৭) নির্ধারণ করেন:

    • ০ থেকে ১২ বছর বয়সীদের ক্ষেত্রে ageLower = 0 এবং ageUpper = 12 রিটার্ন করা হবে।
    • ১৩ থেকে ১৬ বছর বয়সীদের ক্ষেত্রে ageLower = 13 এবং ageUpper = 16 রিটার্ন করা হবে।
    • ১৭+ বছর বয়সীদের ক্ষেত্রে ageLower = 17 রিটার্ন করা হবে।
  • যদি আপনি তিনটি সর্বনিম্ন বয়স (১১, ১৩ এবং ১৫) নির্ধারণ করেন:

    • ০ থেকে ১০ বছর বয়সীদের ক্ষেত্রে ageLower = 0 এবং ageUpper = 10 রিটার্ন করা হবে।
    • ১১ বা ১২ বছর বয়সী হলে ageLower = 11 এবং ageUpper = 12 রিটার্ন করবে।
    • একজন ১৩ বা ১৪ বছর বয়সী হলে, ageLower = 13 এবং ageUpper = 14 রিটার্ন করবে।
    • ১৫+ বছর বয়সীদের ক্ষেত্রে ageLower = 15 রিটার্ন করা হবে।

বয়সের সংকেত প্রতিক্রিয়া

প্লে এজ সিগন্যালস এপিআই (বিটা) রেসপন্সে নিম্নলিখিত ফিল্ড এবং ভ্যালুগুলো অন্তর্ভুক্ত থাকে। এই ভ্যালুগুলো পরিবর্তন সাপেক্ষ। আপনি যদি সবচেয়ে সাম্প্রতিক ভ্যালুগুলো পেতে চান, তাহলে আপনার অ্যাপ খোলার সময় একটি এপিআই রেসপন্সের জন্য অনুরোধ করুন। এই সিগন্যালগুলো ব্যবহার করে বয়স-উপযোগী অভিজ্ঞতা প্রদানের দায়িত্ব আপনার।

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

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।
ঘোষিত ব্যবহারকারীর বয়স ব্যবহারকারী নিজে, তার পিতা-মাতা বা আইনসম্মত অভিভাবক কর্তৃক ঘোষিত হয়েছে।

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।
তত্ত্বাবধানে ব্যবহারকারীর একটি তত্ত্বাবধানাধীন গুগল অ্যাকাউন্ট আছে, যা একজন অভিভাবক দ্বারা পরিচালিত হয় এবং তিনিই ব্যবহারকারীর বয়স নির্ধারণ করেন।

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।

সর্বশেষ অনুমোদিত গুরুত্বপূর্ণ পরিবর্তনটি নির্ধারণ করতে mostRecentApprovalDate ব্যবহার করুন।
তত্ত্বাবধানাধীন_অনুমোদন_অপেক্ষাধীন ব্যবহারকারীর একটি তত্ত্বাবধানাধীন গুগল অ্যাকাউন্ট রয়েছে এবং তার তত্ত্বাবধায়ক অভিভাবক এখনো এক বা একাধিক মুলতুবি থাকা গুরুত্বপূর্ণ পরিবর্তন অনুমোদন করেননি।

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।

সর্বশেষ অনুমোদিত গুরুত্বপূর্ণ পরিবর্তনটি নির্ধারণ করতে mostRecentApprovalDate ব্যবহার করুন।
তত্ত্বাবধানাধীন_অনুমোদন_প্রত্যাখ্যাত ব্যবহারকারীর একটি তত্ত্বাবধানাধীন গুগল অ্যাকাউন্ট রয়েছে এবং তার তত্ত্বাবধায়ক অভিভাবক এক বা একাধিক গুরুত্বপূর্ণ পরিবর্তনের অনুমোদন দেননি।

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।

সর্বশেষ অনুমোদিত গুরুত্বপূর্ণ পরিবর্তনটি নির্ধারণ করতে mostRecentApprovalDate ব্যবহার করুন।
অজানা ব্যবহারকারীর বয়স অজানা এবং ব্যবহারকারী একটি প্রযোজ্য এখতিয়ার বা অঞ্চলে অবস্থান করছেন।

শুধুমাত্র মার্কিন যুক্তরাষ্ট্রের অঙ্গরাজ্যগুলির জন্য প্রযোজ্য: গুগল প্লে থেকে বয়সের সংকেত পেতে, ব্যবহারকারীকে তাদের স্ট্যাটাস নিশ্চিত করার জন্য প্লে স্টোরে যেতে অনুরোধ করা হচ্ছে।
null হয় ব্যবহারকারী প্রযোজ্য এখতিয়ার এবং অঞ্চলে নেই।

অথবা ব্যবহারকারী অ্যাপগুলোর সাথে তার বয়স শেয়ার করেন না।
ageLower ০ থেকে ১৮ একজন তত্ত্বাবধানাধীন ব্যবহারকারীর বয়সসীমার (অন্তর্ভুক্ত) সর্বনিম্ন সীমা।

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।
null
userStatus অজানা বা null
ageUpper ২ থেকে ১৮ একজন তত্ত্বাবধানাধীন ব্যবহারকারীর বয়সসীমার (অন্তর্ভুক্ত) ঊর্ধ্বসীমা।

ব্যবহারকারীর বয়সের সীমা নির্ধারণ করতে ageLower এবং ageUpper ব্যবহার করুন।
null হয় userStatus সুপারভাইজড' এবং ব্যবহারকারীর অভিভাবক কর্তৃক সত্যায়িত বয়স ১৮ বছরের বেশি।

অথবা userStatus অজানা বা null
mostRecentApprovalDate তারিখের ছাপ অনুমোদিত সর্বশেষ গুরুত্বপূর্ণ পরিবর্তনের effective from তারিখ। যখন কোনো অ্যাপ ইনস্টল করা হয়, তখন ইনস্টলের পূর্বে হওয়া সর্বশেষ গুরুত্বপূর্ণ পরিবর্তনের তারিখটি ব্যবহার করা হয়।
null হয় userStatus তত্ত্বাবধানাধীন এবং কোনো উল্লেখযোগ্য পরিবর্তন জমা দেওয়া হয়নি।

অথবা userStatus যাচাইকৃত, অজানা, বা null
installID খেলার মাধ্যমে তৈরি আলফানিউমেরিক আইডি। গুগল প্লে দ্বারা তত্ত্বাবধানাধীন ব্যবহারকারীর ইনস্টলগুলোকে বরাদ্দ করা একটি আইডি, যা অ্যাপ অনুমোদন প্রত্যাহারের বিষয়ে আপনাকে অবহিত করার উদ্দেশ্যে ব্যবহৃত হয়। অ্যাপ অনুমোদন প্রত্যাহার সংক্রান্ত তথ্যের জন্য ডকুমেন্টেশন পর্যালোচনা করুন।
null userStatus যাচাইকৃত, অজানা, বা null

ব্রাজিলের ব্যবহারকারীদের জন্য নমুনা প্রতিক্রিয়া

ব্রাজিলে, userStatus শুধুমাত্র DECLARED , UNKNOWN বা null হতে পারে।

যে ব্যবহারকারী তার বয়স ঘোষণা করেছেন এবং অ্যাপের সাথে তা শেয়ার করেন, তার জন্য আপনি নিম্নলিখিত তথ্য পাবেন:

  • userStatus হবে AgeSignalsVerificationStatus.DECLARED
  • ageLower একটি সংখ্যা হবে (যেমন, ১৩)।
  • ageUpper একটি সংখ্যা বা null হবে (উদাহরণস্বরূপ, 15)।
  • অন্যান্য প্রতিক্রিয়া ক্ষেত্রগুলি null হবে।

যে ব্যবহারকারীর বয়স অজানা, তার জন্য আপনি নিম্নলিখিত বিষয়গুলো পাবেন:

  • userStatus হবে AgeSignalsVerificationStatus.UNKNOWN
  • অন্যান্য প্রতিক্রিয়া ক্ষেত্রগুলি null হবে।

যে ব্যবহারকারীর বয়স অ্যাপগুলোর সাথে শেয়ার করা হয় না, তার ক্ষেত্রে আপনি নিম্নলিখিত তথ্যগুলো পাবেন:

  • userStatus null হবে।
  • অন্যান্য প্রতিক্রিয়া ক্ষেত্রগুলি null হবে।

ব্যবহারকারীর বয়স জানানোর জন্য উপলব্ধ হলে, ব্যবহারকারীর স্ট্যাটাস ' DECLARED তে পরিবর্তিত হতে পারে।

মার্কিন যুক্তরাষ্ট্রের রাজ্যগুলিতে ব্যবহারকারীদের জন্য উদাহরণমূলক প্রতিক্রিয়া

মার্কিন যুক্তরাষ্ট্রের প্রযোজ্য রাজ্যগুলিতে, userStatus হতে পারে VERIFIED , SUPERVISED , SUPERVISED_APPROVAL_PENDING , SUPERVISED_APPROVAL_DENIED , UNKNOWN , অথবা null

একজন যাচাইকৃত ব্যবহারকারী হিসেবে আপনি নিম্নলিখিত সুবিধাগুলো পাবেন:

  • userStatus হবে AgeSignalsVerificationStatus.VERIFIED
  • ageLower একটি সংখ্যা হবে (যেমন, ১৮)।
  • ageUpper একটি সংখ্যা বা null হবে (উদাহরণস্বরূপ, null )।
  • অন্যান্য প্রতিক্রিয়া ক্ষেত্রগুলি null হবে।

একজন তত্ত্বাবধানাধীন ব্যবহারকারীর জন্য, আপনি নিম্নলিখিতগুলি পাবেন:

  • userStatus হবে AgeSignalsVerificationStatus.SUPERVISED
  • ageLower একটি সংখ্যা হবে (যেমন, ১৩)।
  • ageUpper একটি সংখ্যা বা null হবে (উদাহরণস্বরূপ, 15)।
  • mostRecentApprovalDate একটি জাভা ডেট অবজেক্ট হবে (উদাহরণস্বরূপ, 2026-01-01 ) অথবা null (যদি কোনো উল্লেখযোগ্য পরিবর্তন অনুমোদিত না হয়ে থাকে)।
  • installID হবে Play দ্বারা তৈরি একটি আলফানিউমেরিক আইডি (উদাহরণস্বরূপ, 550e8400-e29b-41d4-a716-446655441111 )।

কোনো তত্ত্বাবধানাধীন ব্যবহারকারীর গুরুত্বপূর্ণ পরিবর্তনের অনুমোদন প্রক্রিয়াধীন থাকলে, আপনি নিম্নলিখিত বিষয়গুলো পাবেন:

  • userStatus হবে AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING
  • ageLower একটি সংখ্যা হবে (যেমন, ১৩)।
  • ageUpper একটি সংখ্যা বা null হবে (উদাহরণস্বরূপ, 15)।
  • mostRecentApprovalDate একটি জাভা ডেট অবজেক্ট হবে (উদাহরণস্বরূপ, 2026-01-01 ) অথবা null (যদি কোনো উল্লেখযোগ্য পরিবর্তন অনুমোদিত না হয়ে থাকে)।
  • installID হবে Play দ্বারা তৈরি একটি আলফানিউমেরিক আইডি (উদাহরণস্বরূপ, 550e8400-e29b-41d4-a716-446655441111 )।

এপিআই ত্রুটি কোডগুলি পরিচালনা করুন

আপনার অ্যাপ যদি প্লে এজ সিগন্যালস এপিআই (Play Age Signals API)-এর কাছে কোনো অনুরোধ পাঠায় এবং সেই কলটি ব্যর্থ হয়, তাহলে আপনার অ্যাপ একটি এরর কোড পায়। এই এররগুলো বিভিন্ন কারণে ঘটতে পারে, যেমন প্লে স্টোর অ্যাপটি পুরোনো হয়ে যাওয়া।

পুনরায় চেষ্টা করার কৌশল

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

ত্রুটি কোডের সাংখ্যিক মান ত্রুটি কোড বর্ণনা পুনরায় চেষ্টাযোগ্য
-১ এপিআই উপলব্ধ নয় প্লে এজ সিগন্যালস এপিআই উপলব্ধ নেই। ডিভাইসে ইনস্টল করা প্লে স্টোর অ্যাপ সংস্করণটি পুরোনো হতে পারে।

সম্ভাব্য সমাধান
  • ব্যবহারকারীকে প্লে স্টোর আপডেট করতে বলুন।
হ্যাঁ
-২ প্লে_স্টোর_খুঁজে_পাওয়া_যায়নি ডিভাইসটিতে কোনো প্লে স্টোর অ্যাপ খুঁজে পাওয়া যায়নি। ব্যবহারকারীকে প্লে স্টোর ইনস্টল বা সক্রিয় করতে বলুন। হ্যাঁ
-৩ নেটওয়ার্ক ত্রুটি কোনো উপলব্ধ নেটওয়ার্ক খুঁজে পাওয়া যায়নি। ব্যবহারকারীকে সংযোগ পরীক্ষা করতে বলুন। হ্যাঁ
-৪ প্লে_সার্ভিসেস_নট_ফাউন্ড প্লে সার্ভিস উপলব্ধ নেই অথবা এর সংস্করণটি অনেক পুরোনো। ব্যবহারকারীকে প্লে সার্ভিস ইনস্টল, আপডেট বা সক্রিয় করতে বলুন। হ্যাঁ
-৫ পরিষেবার সাথে সংযুক্ত করা যাবে না প্লে স্টোরে পরিষেবাটির সাথে সংযোগ স্থাপন ব্যর্থ হয়েছে। এর কারণ হতে পারে ডিভাইসে প্লে স্টোরের পুরোনো সংস্করণ ইনস্টল থাকা অথবা ডিভাইসের মেমরি অতিরিক্ত ভারাক্রান্ত হওয়া। ব্যবহারকারীকে প্লে স্টোর অ্যাপটি আপডেট করতে বলুন। এক্সপোনেনশিয়াল ব্যাকঅফ সহ পুনরায় চেষ্টা করুন। হ্যাঁ
-৬ প্লে_স্টোর_সংস্করণ_পুরানো প্লে স্টোর অ্যাপটি আপডেট করা প্রয়োজন। ব্যবহারকারীকে প্লে স্টোর অ্যাপটি আপডেট করতে বলুন। হ্যাঁ
-৭ প্লে_সার্ভিসেস_ভার্সন_আউটডেটেড প্লে সার্ভিসেস আপডেট করা প্রয়োজন। ব্যবহারকারীকে প্লে সার্ভিসেস আপডেট করতে বলুন। হ্যাঁ
-৮ ক্লায়েন্ট_ক্ষণস্থায়ী_ত্রুটি ক্লায়েন্ট ডিভাইসে একটি সাময়িক ত্রুটি দেখা দিয়েছে। প্রস্থান শর্ত হিসাবে সর্বোচ্চ সংখ্যক প্রচেষ্টার একটি পুনঃপ্রচেষ্টা কৌশল প্রয়োগ করুন। এরপরও যদি সমস্যার সমাধান না হয়, তবে ব্যবহারকারীকে পরে আবার চেষ্টা করতে বলুন। হ্যাঁ
-৯ অ্যাপটি নিজের মালিকানাধীন নয় অ্যাপটি গুগল প্লে থেকে ইনস্টল করা হয়নি। ব্যবহারকারীকে গুগল প্লে থেকে আপনার অ্যাপটি ডাউনলোড করতে বলুন। না
-১০ SDK_VERSION_OUTDATED Play Age Signals SDK-এর এই সংস্করণটি আর সমর্থিত নয়। ব্যবহারকারীকে আপনার অ্যাপটি এমন একটি পরবর্তী সংস্করণে আপডেট করতে বলুন যা Play Age Signals SDK-এর সাম্প্রতিক সংস্করণ ব্যবহার করে। না
-১০০ অভ্যন্তরীণ ত্রুটি অজানা অভ্যন্তরীণ ত্রুটি। প্রস্থান শর্ত হিসাবে সর্বাধিক সংখ্যক প্রচেষ্টার একটি পুনঃপ্রচেষ্টা কৌশল প্রয়োগ করুন। যদি সমস্যাটি তারপরেও সমাধান না হয়, তবে ব্যবহারকারীকে পরে আবার চেষ্টা করতে বলুন। যদি এটি ক্রমাগত ব্যর্থ হয়, তবে Google Play ডেভেলপার সাপোর্টের সাথে যোগাযোগ করুন , বিষয় হিসাবে Play Age Signals API উল্লেখ করুন এবং যতটা সম্ভব প্রযুক্তিগত বিবরণ (যেমন একটি বাগ রিপোর্ট) অন্তর্ভুক্ত করুন। না