সেটআপ

এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে কীভাবে আপনার অ্যাপ, গেম বা SDK-কে প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) ব্যবহার করার জন্য সেট আপ করতে হয়। এপিআই ইন্টিগ্রেট করার জন্য, আপনার একটি গুগল ক্লাউড প্রজেক্ট থাকতে হবে, যা রিকোয়েস্ট পাঠানো শুরু করার জন্য আবশ্যক। এরপর আপনি আপনার গুগল ক্লাউড প্রজেক্টটি গুগল প্লে কনসোলে (অ্যাপের জন্য) অথবা গুগল প্লে এসডিকে কনসোলে (এসডিকে-এর জন্য) লিঙ্ক করতে পারবেন। অতিরিক্ত কনফিগারেশন অপশন, টেস্টিং ফিচার, এপিআই রিপোর্টিং অ্যাক্সেস করতে এবং আপনার দৈনিক রিকোয়েস্ট কোটা বাড়ানোর জন্য অনুরোধ করতে আপনার প্রজেক্ট লিঙ্ক করা আবশ্যক।

প্লে ইন্টিগ্রিটি এপিআই সক্রিয় করুন

প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) ব্যবহার ও এর ব্যবহার নিরীক্ষণের জন্য, এপিআই কলকারী প্রতিটি অ্যাপ বা এসডিকে-র একটি গুগল ক্লাউড প্রজেক্ট থাকা আবশ্যক। সকল ইন্টিগ্রেশনের জন্য এটি বাধ্যতামূলক প্রথম ধাপ। আপনি গুগল ক্লাউড কনসোলে প্লে ইন্টিগ্রিটি এপিআই সক্রিয় করতে পারেন অথবা সরাসরি আপনার ক্লাউড প্রজেক্টকে গুগল প্লে-র সাথে লিঙ্ক করার ধাপে যেতে পারেন এবং সেক্ষেত্রে প্লে ইন্টিগ্রিটি এপিআই আপনার জন্য সক্রিয় হয়ে যাবে।

আপনার গুগল ক্লাউড কনসোলে , একটি নতুন ক্লাউড প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো ক্লাউড প্রজেক্ট বেছে নিন যা আপনি প্লে ইন্টিগ্রিটি এপিআই-এর সাথে ব্যবহার করতে চান।

  1. এপিআই এবং পরিষেবাগুলিতে যান।
  2. এপিআই এবং পরিষেবাগুলি সক্ষম করুন নির্বাচন করুন।
  3. প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) অনুসন্ধান করুন।
  4. সক্ষম করুন -এ ক্লিক করুন।

আপনি এখন আপনার অ্যাপে প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) ইন্টিগ্রেট করতে পারেন। উন্নত ফিচার এবং কোটা বৃদ্ধি অ্যাক্সেস করতে, আপনাকে অবশ্যই লিঙ্কিং ধাপে যেতে হবে।

গুগল প্লে-এর লিঙ্ক (প্রস্তাবিত)

এই নির্দেশাবলী ব্যবহার করে আপনার অ্যাপ বা SDK-কে Google Play-এর সাথে লিঙ্ক করুন।

গুগল প্লে-তে অ্যাপ এবং গেমের জন্য

গুগল প্লে-তে উপলব্ধ অ্যাপগুলোকে অতিরিক্ত ফিচার চালু করতে এবং দৈনিক এপিআই কোটা বাড়ানোর জন্য অনুরোধ করতে গুগল প্লে কনসোলে তাদের গুগল ক্লাউড প্রজেক্ট লিঙ্ক করতে হবে।

  1. গুগল প্লে কনসোল খুলুন এবং আপনার অ্যাপটি নির্বাচন করুন।
  2. টেস্ট এবং রিলিজ > অ্যাপ ইন্টিগ্রিটি- তে যান।
  3. Play Integrity API-এর অধীনে Link a Cloud project-এ ক্লিক করুন।
  4. যে গুগল ক্লাউড প্রজেক্টটি আপনি প্লে ইন্টিগ্রিটি এপিআই-এর সাথে ব্যবহার করতে চান, সেটি বেছে নিন; যদি প্রজেক্টটির জন্য প্লে ইন্টিগ্রিটি এপিআই আগে থেকে সক্রিয় করা না থাকে, তাহলে লিঙ্ক করার সাথে সাথে এটি স্বয়ংক্রিয়ভাবে সক্রিয় হয়ে যাবে।

প্লে এসডিকে কনসোলে এসডিকে প্রদানকারীদের জন্য

Google Play SDK কনসোল ব্যবহারকারী SDK প্রোভাইডাররা তাদের Google Cloud প্রজেক্ট লিঙ্ক করতে পারেন, যাতে API ব্যবহারের কৃতিত্ব স্বতন্ত্র অ্যাপগুলোর পরিবর্তে SDK-কে দেওয়া যায়, অতিরিক্ত ফিচার চালু করা যায় এবং দৈনিক API কোটা বাড়ানোর জন্য অনুরোধ করা যায়। উল্লেখ্য যে, Google Play SDK কনসোলে অ্যাক্সেস পাওয়ার জন্য যোগ্যতার মানদণ্ড পূরণ করতে হয়।

  1. Google Play SDK কনসোল খুলুন এবং আপনার SDK নির্বাচন করুন।
  2. SDK ইন্টিগ্রিটিতে যান
  3. Play Integrity API-এর অধীনে Link a Cloud project-এ ক্লিক করুন।
  4. যে গুগল ক্লাউড প্রজেক্টটি আপনি প্লে ইন্টিগ্রিটি এপিআই-এর সাথে ব্যবহার করতে চান, সেটি বেছে নিন; যদি প্রজেক্টটির জন্য প্লে ইন্টিগ্রিটি এপিআই আগে থেকে সক্রিয় করা না থাকে, তাহলে লিঙ্ক করার সাথে সাথে এটি স্বয়ংক্রিয়ভাবে সক্রিয় হয়ে যাবে।

প্লে ইন্টিগ্রিটি এপিআই ব্যবহারের সীমাবদ্ধতা বুঝুন

আপনার অ্যাপ বা SDK-এর জন্য ডিফল্ট দৈনিক সীমা হলো মোট ১০,০০০ অনুরোধ, যা সংশ্লিষ্ট ক্লাউড প্রজেক্ট নম্বরের সাথে সংযুক্ত। যদি আপনি এর চেয়ে বেশি অনুরোধের আশঙ্কা করেন, তবে কোটা বৃদ্ধির জন্য অনুরোধ করতে পারেন।

পদক্ষেপ দৈনিক কোটা নোট
টোকেন অনুরোধ ১০,০০০ ক্লাসিক অনুরোধ এবং স্ট্যান্ডার্ড টোকেন প্রস্তুতির মধ্যে ভাগ করা হয়েছে
গুগলের সার্ভারে টোকেন ডিক্রিপশন ১০,০০০ ক্লাসিক এবং স্ট্যান্ডার্ড অনুরোধের মধ্যে ভাগ করা হয়েছে

আপনার দৈনিক সর্বোচ্চ অনুরোধের সংখ্যা বাড়ান

কোটা বৃদ্ধি যোগ্যতার মানদণ্ডের উপর নির্ভরশীল। কোটা বৃদ্ধি ক্লায়েন্ট-সাইড টোকেন তৈরি এবং সার্ভার-সাইড ডিক্রিপশন উভয় কলের ক্ষেত্রেই প্রযোজ্য। অনুরোধ প্রক্রিয়া করতে এক সপ্তাহ পর্যন্ত সময় লাগতে পারে। আপনার পরিষেবাতে যাতে কোনো বাধা না আসে, সেজন্য আমরা আপনার গুগল ক্লাউড কনসোলে প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) ব্যবহার পর্যবেক্ষণ করতে এবং কোটা অ্যালার্ট সেট করার পরামর্শ দিই।

কোটা বাড়লেও, ব্যবহারকারীর ব্যাটারি ও ডেটা সাশ্রয়ের জন্য ক্লাসিক অনুরোধগুলোকে মাঝে মাঝে করা হয় এমন গুরুত্বপূর্ণ কাজের মধ্যে সীমাবদ্ধ রাখুন।

গুগল প্লে-তে অ্যাপ এবং গেমের জন্য

কোটা বৃদ্ধির জন্য যোগ্য হতে হলে, আপনার অ্যাপটি অন্য যেকোনো ডিস্ট্রিবিউশন চ্যানেলের পাশাপাশি গুগল প্লে-তেও উপলব্ধ থাকতে হবে। আপনাকে প্লে কনসোলে আপনার অ্যাপের সাথে আপনার গুগল ক্লাউড প্রজেক্টটি লিঙ্ক করতে হবে। লিঙ্কবিহীন প্রজেক্ট থেকে করা কোটার অনুরোধ প্রত্যাখ্যান করা হবে।

বৃদ্ধির অনুরোধ করতে:

  1. প্লে কনসোলে প্রাসঙ্গিক গুগল ক্লাউড প্রজেক্টটি লিঙ্ক করুন।
  2. যথাযথ রিট্রাই স্ট্র্যাটেজি সহ আপনি এপিআই লজিক সঠিকভাবে প্রয়োগ করেছেন কিনা তা যাচাই করুন।
  3. কোটার আবেদনপত্রটি জমা দিন।

প্লে এসডিকে কনসোলে এসডিকে প্রদানকারীদের জন্য

কোটা বৃদ্ধির জন্য যোগ্য হতে হলে, আপনার SDK-টি অবশ্যই Google Play SDK Console-এ ক্লেইম করা থাকতে হবে এবং আপনার ক্লাউড প্রজেক্টটি সেখানে আপনার SDK-এর সাথে লিঙ্ক করা থাকতে হবে। Google Play SDK Console-এ অ্যাক্সেস যোগ্যতার মানদণ্ডের অধীন।

বৃদ্ধির অনুরোধ করতে:

  1. Google Play SDK কনসোলে আপনার Google Cloud প্রজেক্টটি লিঙ্ক করুন।
  2. ডেভেলপার সাপোর্ট ফর্মটি পূরণ করুন।

উন্মুক্ত মন্তব্য অংশে আপনার SDK-এর বিবরণ, আপনার ব্যবহারের ক্ষেত্র (use case), আপনি কী ধরনের API অনুরোধ করছেন (স্ট্যান্ডার্ড, ক্লাসিক, বা উভয়ই), কত ঘন ঘন অনুরোধ করছেন, এবং দৈনিক সর্বোচ্চ কতগুলো অনুরোধ করতে চান, তা বর্ণনা করুন।

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

আপনার অ্যাপ বা SDK-তে প্লে ইন্টিগ্রিটি এপিআই (Play Integrity API) যুক্ত করতে, আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট অনুযায়ী নিম্নলিখিতগুলির মধ্যে একটি করুন:

কোটলিন বা জাভা

প্লে ইন্টিগ্রিটি এপিআই-এর সর্বশেষ অ্যান্ড্রয়েড লাইব্রেরিটি গুগলের ম্যাভেন রিপোজিটরি থেকে পাওয়া যাচ্ছে। আপনার অ্যাপের build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সিটি যোগ করুন:

implementation 'com.google.android.play:integrity:1.6.0'

ঐক্য

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

সমর্থিত ইউনিটি সংস্করণ

  • 2019.x, 2020.x এবং এর পরবর্তী সকল সংস্করণ সমর্থিত।
  • আপনি যদি ইউনিটি 2018.x ব্যবহার করেন, তাহলে 2018.4 বা তার পরবর্তী সংস্করণগুলো সমর্থিত।
  • ইউনিটি ২০১৭.x এবং এর পূর্ববর্তী সংস্করণগুলো সমর্থিত নয়।

আপনার উন্নয়ন পরিবেশ সেট আপ করুন

ওপেনইউপিএম-সিএলআই

আপনার যদি OpenUPM CLI ইনস্টল করা থাকে, তাহলে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে OpenUPM রেজিস্ট্রি ইনস্টল করতে পারেন:

openupm add com.google.play.integrity

ওপেনইউপিএম

  1. ইউনিটি মেনু অপশন Edit > Project Settings > Package Manager নির্বাচন করে প্যাকেজ ম্যানেজার সেটিংস খুলুন।

  2. প্যাকেজ ম্যানেজার উইন্ডোতে OpenUPM-কে একটি স্কোপড রেজিস্ট্রি হিসেবে যুক্ত করুন:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.integrity
    
  3. ইউনিটি মেনু অপশন Window > Package Manager নির্বাচন করে প্যাকেজ ম্যানেজার মেনুটি খুলুন।

  4. ম্যানেজার স্কোপ ড্রপ-ডাউন থেকে 'আমার রেজিস্ট্রি' নির্বাচন করুন।

  5. প্যাকেজ তালিকা থেকে ইউনিটির জন্য গুগল প্লে ইন্টিগ্রিটি প্লাগইন প্যাকেজটি নির্বাচন করুন এবং ইনস্টল চাপুন।

গিটহাব থেকে আমদানি করুন

  1. গিটহাব থেকে সর্বশেষ .unitypackage রিলিজটি ডাউনলোড করুন।

  2. ইউনিটি মেনু অপশন Assets > Import package > Custom Package নির্বাচন করে সমস্ত আইটেম ইম্পোর্ট করার মাধ্যমে .unitypackage ফাইলটি ইম্পোর্ট করুন।

আনরিয়েল ইঞ্জিন

নিম্নলিখিত বিভাগগুলিতে আনরিয়েল ইঞ্জিন প্রোজেক্টের জন্য গুগল প্লে ইন্টিগ্রিটি এপিআই কীভাবে একীভূত ও সেট আপ করতে হয় তা বর্ণনা করা হয়েছে।

সমর্থিত আনরিয়েল ইঞ্জিন সংস্করণ

প্লাগইনটি আনরিয়েল ইঞ্জিন ৫.০ এবং এর পরবর্তী সকল সংস্করণ সমর্থন করে।

আপনার উন্নয়ন পরিবেশ সেট আপ করুন

  1. গিটহাব রিপোজিটরি থেকে প্লে আনরিয়েল ইঞ্জিন প্লাগইনটি ডাউনলোড করুন।

  2. আপনার আনরিয়েল ইঞ্জিন প্রজেক্টের Plugins ফোল্ডারের ভিতরে GooglePlay ফোল্ডারটি কপি করুন।

  3. আপনার আনরিয়েল ইঞ্জিন প্রজেক্টটি খুলুন এবং Edit → Plugins-এ ক্লিক করুন।

  4. Google Play খুঁজে বের করুন এবং Enabled চেকবক্সটি চেক করুন।

  5. গেম প্রজেক্টটি পুনরায় চালু করুন এবং বিল্ডটি শুরু করুন।

  6. আপনার প্রোজেক্টের Build.cs ফাইলটি খুলুন এবং PublicDependencyModuleNamesPlayIntegrity মডিউলটি যোগ করুন:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayIntegrity");
    
        // ...
      }
    }
    

স্থানীয়

নেটিভ সেটআপ গাইড অনুসরণ করুন। আরও বিস্তারিত তথ্যের জন্য, প্লে ইন্টিগ্রিটি-র নেটিভ এপিআই রেফারেন্স ডকুমেন্টেশন দেখুন।

এপিআই প্রতিক্রিয়া কনফিগার করুন (ঐচ্ছিক)

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

ডিফল্ট অখণ্ডতা রায়

প্লে ইন্টিগ্রিটি এপিআই রেসপন্সে ডিফল্টরূপে নিম্নলিখিত ইন্টিগ্রিটি ভারডিক্টগুলো ফেরত দেওয়া হয়:

প্রতিক্রিয়া ক্ষেত্র মূল্য বর্ণনা
ডিভাইসের অখণ্ডতা MEETS_DEVICE_INTEGRITY অ্যাপটি একটি আসল এবং প্রত্যয়িত অ্যান্ড্রয়েড ডিভাইসে চলছে। অ্যান্ড্রয়েড ১৩ এবং তার পরবর্তী সংস্করণগুলোতে হার্ডওয়্যার-সমর্থিত প্রমাণ রয়েছে যে, ডিভাইসটির বুটলোডার লক করা আছে এবং লোড হওয়া অ্যান্ড্রয়েড ওএসটি ডিভাইস প্রস্তুতকারকের একটি প্রত্যয়িত ইমেজ।
খালি (একটি ফাঁকা মান) অ্যাপটি এমন একটি ডিভাইসে চলছে যেটিতে আক্রমণের (যেমন এপিআই হুকিং) বা সিস্টেমের ত্রুটির (যেমন রুটেড হওয়া) লক্ষণ রয়েছে, অথবা অ্যাপটি কোনো বাস্তব ডিভাইসে চলছে না (যেমন এমন একটি এমুলেটর যা গুগল প্লে-এর ইন্টিগ্রিটি চেক পাস করে না)।
প্লে অ্যাকাউন্টের বিবরণ LICENSED ব্যবহারকারীর অ্যাপটি ব্যবহারের অধিকার আছে। অন্য কথায়, ব্যবহারকারী তার ডিভাইসে গুগল প্লে থেকে আপনার অ্যাপটি ইনস্টল বা আপডেট করেছেন।
UNLICENSED ব্যবহারকারীর অ্যাপ ব্যবহারের অনুমতি নেই। উদাহরণস্বরূপ, ব্যবহারকারী যখন আপনার অ্যাপটি সাইডলোড করে অথবা গুগল প্লে থেকে এটি সংগ্রহ করে না, তখন এমনটা ঘটে।
UNEVALUATED একটি আবশ্যিক শর্ত পূরণ না হওয়ায় লাইসেন্স সংক্রান্ত বিবরণ মূল্যায়ন করা হয়নি। এটি বিভিন্ন কারণে ঘটতে পারে, যার মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:
  • ডিভাইসটি যথেষ্ট নির্ভরযোগ্য নয়।
  • ব্যবহারকারী গুগল প্লে-তে সাইন ইন করেননি।
  • আপনার ডিভাইসে ইনস্টল করা অ্যাপের সংস্করণটি গুগল প্লে-র কাছে অজানা।
অ্যাপ্লিকেশনের অখণ্ডতা PLAY_RECOGNIZED অ্যাপ এবং সার্টিফিকেটটি গুগল প্লে দ্বারা বিতরণ করা সংস্করণগুলোর সাথে মিলে যায়।
UNRECOGNIZED_VERSION সার্টিফিকেট বা প্যাকেজের নামটি গুগল প্লে-র রেকর্ডের সাথে মেলে না।
UNEVALUATED অ্যাপ্লিকেশনের অখণ্ডতা মূল্যায়ন করা হয়নি। একটি প্রয়োজনীয় শর্ত পূরণ করা হয়নি, যেমন ডিভাইসটি যথেষ্ট নির্ভরযোগ্য না হওয়া।

পিসির জন্য গুগল প্লে গেমস

আপনি যদি পিসির জন্য গুগল প্লে গেমসে (Google Play Games for PC) ডিস্ট্রিবিউট করেন, তাহলে ডিভাইস ইন্টিগ্রিটি ভারডিক্টে একটি অতিরিক্ত লেবেল পাওয়ার জন্য আপনাকে স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত করা হবে:

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

ঐচ্ছিক অখণ্ডতা রায়

আপনি যদি প্লে কনসোল বা প্লে এসডিকে কনসোলে আপনার ক্লাউড প্রজেক্ট লিঙ্ক করে থাকেন, তাহলে আপনি অতিরিক্ত তথ্য পাওয়ার জন্য সম্মতি জানাতে পারেন।

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

ডিভাইসের তথ্য

deviceIntegrity ভারডিক্টে থাকা অতিরিক্ত ডিভাইস লেবেলগুলো অ্যাপটি যে ডিভাইস পরিবেশে চলছে, সে সম্পর্কে আপনাকে আরও তথ্য দেয়। একটি ডিভাইস যদি প্রতিটি লেবেলের মানদণ্ড পূরণ করে, তবে এটি একাধিক লেবেল ফেরত দেয়। আপনি এই লেবেলগুলো ব্যবহার করে একটি স্তরভিত্তিক প্রয়োগ কৌশল তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি এমন একটি ডিভাইসের উপর বেশি আস্থা রাখতে পারেন যেটি তিনটি লেবেল ( MEETS_STRONG_INTEGRITY , MEETS_DEVICE_INTEGRITY , এবং MEETS_BASIC_INTEGRITY ) ফেরত দেয়, এমন একটি ডিভাইসের চেয়ে যেটি শুধুমাত্র একটি লেবেল ( MEETS_BASIC_INTEGRITY ) ফেরত দেয়।

ডিভাইস অ্যাট্রিবিউটস আপনাকে ডিভাইসে থাকা অ্যান্ড্রয়েড ওএস-এর অ্যান্ড্রয়েড এসডিকে সংস্করণ সম্পর্কে জানায়। ভবিষ্যতে, এটি অন্যান্য ডিভাইস অ্যাট্রিবিউটস দ্বারা সম্প্রসারিত হতে পারে।

সাম্প্রতিক ডিভাইস কার্যকলাপের মাত্রা LEVEL_1 (কম সংখ্যক অনুরোধ) থেকে LEVEL_4 (বেশি সংখ্যক অনুরোধ) পর্যন্ত হয়ে থাকে। উচ্চ কার্যকলাপের মাত্রা থেকে বোঝা যেতে পারে যে, ডিভাইসটি অবিশ্বস্ত ডিভাইসগুলিতে অপব্যবহারমূলক বিতরণের জন্য অতিরিক্ত টোকেন তৈরি করতে ব্যবহৃত হচ্ছে।

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

ঐচ্ছিক তথ্য বেছে নেওয়ার পর, আপনার API রেসপন্সের রায়ে নতুন ফিল্ড এবং রেসপন্স অন্তর্ভুক্ত হবে:

প্রতিক্রিয়া ক্ষেত্র লেবেল বর্ণনা
ডিভাইসের অখণ্ডতা MEETS_BASIC_INTEGRITY অ্যাপটি এমন একটি ডিভাইসে চলছে যা বেসিক সিস্টেম ইন্টিগ্রিটি চেক পাস করে। ডিভাইসটির বুটলোডার লক বা আনলক করা থাকতে পারে এবং বুট স্টেট ভেরিফাইড বা আনভেরিফাইড হতে পারে। ডিভাইসটি সার্টিফায়েড নাও হতে পারে, সেক্ষেত্রে গুগল কোনো নিরাপত্তা, গোপনীয়তা বা অ্যাপ কম্প্যাটিবিলিটির নিশ্চয়তা দিতে পারে না। অ্যান্ড্রয়েড ১৩ এবং তার পরবর্তী সংস্করণগুলোতে, MEETS_BASIC_INTEGRITY ভারডিক্ট অনুযায়ী অ্যাটেস্টেশন রুট অফ ট্রাস্ট অবশ্যই গুগল দ্বারা সরবরাহ করা হতে হবে।
MEETS_STRONG_INTEGRITY অ্যাপটি সাম্প্রতিক নিরাপত্তা আপডেটসহ একটি আসল ও প্রত্যয়িত অ্যান্ড্রয়েড ডিভাইসে চলছে।
  • অ্যান্ড্রয়েড ১৩ এবং এর পরবর্তী সংস্করণগুলোতে, MEETS_STRONG_INTEGRITY ভার্ডিক্টের জন্য MEETS_DEVICE_INTEGRITY ভার্ডিক্ট এবং ডিভাইসের সমস্ত পার্টিশনের জন্য গত এক বছরের মধ্যে সিকিউরিটি আপডেট প্রয়োজন, যার মধ্যে একটি অ্যান্ড্রয়েড ওএস পার্টিশন প্যাচ এবং একটি ভেন্ডর পার্টিশন প্যাচ অন্তর্ভুক্ত।
  • অ্যান্ড্রয়েড ১২ এবং এর নিচের সংস্করণগুলোতে, MEETS_STRONG_INTEGRITY ভার্ডিক্টটির জন্য শুধুমাত্র হার্ডওয়্যার-সমর্থিত বুট ইন্টিগ্রিটির প্রমাণ প্রয়োজন হয় এবং ডিভাইসটিতে সাম্প্রতিক কোনো সিকিউরিটি আপডেট থাকার প্রয়োজন নেই । তাই, MEETS_STRONG_INTEGRITY ব্যবহার করার সময়, deviceAttributes ফিল্ডে অ্যান্ড্রয়েড SDK ভার্সনটিও বিবেচনায় রাখার পরামর্শ দেওয়া হয়।
ডিভাইসের বৈশিষ্ট্য sdkVersion: 19, 20, ..., 37 ডিভাইসটিতে চলমান অ্যান্ড্রয়েড ওএস-এর এসডিকে সংস্করণ। ফেরত আসা সংখ্যাটি Build.VERSION_CODES এর সাথে সম্পর্কিত।
খালি (একটি ফাঁকা মান) একটি প্রয়োজনীয় শর্ত পূরণ না হওয়ায় SDK ভার্সনটি মূল্যায়ন করা হয়নি। এক্ষেত্রে, sdkVersion ফিল্ডটি সেট করা নেই; ফলে, deviceAttributes ফিল্ডটি খালি থাকে। এটি নিম্নলিখিত কারণে ঘটতে পারে:
  • ডিভাইসটি যথেষ্ট নির্ভরযোগ্য নয়।
  • ডিভাইসটিতে প্রযুক্তিগত সমস্যা ছিল।
গত এক ঘণ্টায় এই ডিভাইসে প্রতি অ্যাপে স্ট্যান্ডার্ড এপিআই ইন্টিগ্রিটি টোকেন অনুরোধ এই ডিভাইসে গত এক ঘণ্টায় প্রতি অ্যাপে ক্লাসিক এপিআই ইন্টিগ্রিটি টোকেন অনুরোধ
সাম্প্রতিক ডিভাইস কার্যকলাপ LEVEL_1 (সর্বনিম্ন) ১০ বা তার কম ৫ বা তার কম
LEVEL_2 ১১ থেকে ২৫ এর মধ্যে ৬ থেকে ১০ এর মধ্যে
LEVEL_3 ২৬ থেকে ৫০ এর মধ্যে ১১ থেকে ১৫ এর মধ্যে
LEVEL_4 (সর্বোচ্চ) ৫০ এর বেশি ১৫টিরও বেশি
UNEVALUATED সাম্প্রতিক ডিভাইস কার্যকলাপ মূল্যায়ন করা হয়নি। এটি নিম্নলিখিত কারণে ঘটতে পারে:
  • ডিভাইসটি যথেষ্ট নির্ভরযোগ্য নয়।
  • আপনার ডিভাইসে ইনস্টল করা অ্যাপের সংস্করণটি গুগল প্লে-র কাছে অজানা।
  • ডিভাইসটিতে প্রযুক্তিগত সমস্যা ছিল।
ডিভাইস প্রত্যাহার values: bitFirst, bitSecond, bitThird এগুলো হলো সেই বিট ভ্যালুগুলো যা আপনি অতীতে নির্দিষ্ট ডিভাইসটির জন্য সেট করেছিলেন। প্রতিটি বিটের অর্থ আপনিই নির্ধারণ করেন। ডিফল্টরূপে এই তিনটি বিট ভ্যালুর মান 'ফলস' থাকে।
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird এগুলো হলো UTC অনুযায়ী বিট ভ্যালু লেখার তারিখ, যা বছর ও মাস পর্যন্ত নির্ভুল। একটি রিকল বিটের লেখার তারিখ প্রতিবার বিটটিকে 'ট্রু' (true) সেট করা হলে আপডেট করা হয় এবং বিটটিকে 'ফলস' (false) সেট করা হলে তা মুছে ফেলা হয়।

পরিবেশের বিবরণ

অ্যাপ অ্যাক্সেস ঝুঁকি আপনাকে জানায় যে অন্য কোনো অ্যাপ চলছে কিনা যা স্ক্রিন ক্যাপচার করতে, ওভারলে প্রদর্শন করতে বা ডিভাইসটি নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। Google Play-তে পরিচিত যাচাইকৃত অ্যাক্সেসিবিলিটি পরিষেবাগুলি স্বয়ংক্রিয়ভাবে এই মূল্যায়ন থেকে বাদ দেওয়া হয়।

প্লে প্রোটেক্ট ভারডিক্ট আপনাকে জানায় যে ডিভাইসটিতে গুগল প্লে প্রোটেক্ট চালু আছে কিনা এবং এটি কোনো পরিচিত ম্যালওয়্যার খুঁজে পেয়েছে কিনা।

ঐচ্ছিক তথ্য বেছে নেওয়ার পর, আপনার API রেসপন্সের রায়ে নতুন ফিল্ড এবং রেসপন্স অন্তর্ভুক্ত হবে:

প্রতিক্রিয়া ক্ষেত্র মূল্য বর্ণনা
অ্যাপ অ্যাক্সেস ঝুঁকির রায় KNOWN_INSTALLED অ্যাপগুলো গুগল প্লে থেকে ইনস্টল করা হয় অথবা ডিভাইস প্রস্তুতকারক দ্বারা সিস্টেম পার্টিশনে আগে থেকেই লোড করা থাকে।
KNOWN_CAPTURING গুগল প্লে থেকে ইনস্টল করা বা ডিভাইসে আগে থেকে লোড করা এমন অ্যাপগুলো চালু থাকে, যেগুলো অনুরোধকারী অ্যাপের ইনপুট ও আউটপুট পড়তে বা ধারণ করতে ব্যবহার করা যেতে পারে, যেমন স্ক্রিন রেকর্ডিং অ্যাপ।
KNOWN_CONTROLLING গুগল প্লে থেকে ইনস্টল করা বা ডিভাইসে আগে থেকে লোড করা এমন অ্যাপগুলো চলছে, যেগুলো ডিভাইসটি এবং অনুরোধকারী অ্যাপের ইনপুট ও আউটপুট নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে, যেমন রিমোট কন্ট্রোলিং অ্যাপ।
KNOWN_OVERLAYS গুগল প্লে থেকে ইনস্টল করা বা ডিভাইসে আগে থেকে লোড করা অ্যাপগুলো চালু থাকলে, সেগুলো অনুরোধকারী অ্যাপটির উপর ওভারলে প্রদর্শন করতে পারে।
UNKNOWN_INSTALLED অন্যান্য অ্যাপ ইনস্টল করা হয়, যেগুলো গুগল প্লে দ্বারা ইনস্টল করা হয়নি বা ডিভাইস প্রস্তুতকারক দ্বারা সিস্টেম পার্টিশনে আগে থেকে লোড করা ছিল না।
UNKNOWN_CAPTURING অন্যান্য অ্যাপ চালু আছে (যেগুলো প্লে স্টোর দ্বারা ইনস্টল করা বা ডিভাইসে আগে থেকে লোড করা নেই) যেগুলো অনুরোধকারী অ্যাপের ইনপুট ও আউটপুট পড়তে বা গ্রহণ করতে ব্যবহার করা যেতে পারে, যেমন স্ক্রিন রেকর্ডিং অ্যাপ।
UNKNOWN_CONTROLLING অন্যান্য অ্যাপ চালু আছে (যেগুলো প্লে দ্বারা ইনস্টল করা বা ডিভাইসে আগে থেকে লোড করা নেই) যেগুলো ডিভাইসটি এবং অনুরোধকারী অ্যাপের ইনপুট ও আউটপুট নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে, যেমন রিমোট কন্ট্রোলিং অ্যাপ।
UNKNOWN_OVERLAYS অন্যান্য অ্যাপ চালু থাকলে (যেগুলো প্লে স্টোর থেকে ইনস্টল করা বা ডিভাইসে আগে থেকে লোড করা নেই) সেগুলো অনুরোধকারী অ্যাপটির উপর ওভারলে প্রদর্শন করতে পারে।
খালি (একটি ফাঁকা মান) যদি কোনো প্রয়োজনীয় শর্ত পূরণ না হয়, তবে অ্যাপ অ্যাক্সেসের ঝুঁকি মূল্যায়ন করা হয় না। এক্ষেত্রে appAccessRiskVerdict ফিল্ডটি খালি থাকে। এটি বিভিন্ন কারণে ঘটতে পারে, যার মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:
  • ডিভাইসটি যথেষ্ট নির্ভরযোগ্য নয়।
  • ডিভাইসটির ফর্ম ফ্যাক্টর ফোন, ট্যাবলেট বা ফোল্ডেবল নয়।
  • ডিভাইসটি অ্যান্ড্রয়েড ৬ (এপিআই লেভেল ২৩) বা তার উচ্চতর সংস্করণে চলছে না।
  • আপনার ডিভাইসে ইনস্টল করা অ্যাপের সংস্করণটি গুগল প্লে-র কাছে অজানা।
  • ডিভাইসটিতে থাকা গুগল প্লে স্টোরের সংস্করণটি পুরোনো।
  • শুধুমাত্র গেম : ব্যবহারকারী অ্যাকাউন্টে গেমটি খেলার লাইসেন্স নেই।
  • verdictOptOut প্যারামিটার সহ একটি স্ট্যান্ডার্ড অনুরোধ ব্যবহার করা হয়েছিল।
  • প্লে ইন্টিগ্রিটি এপিআই লাইব্রেরির এমন একটি সংস্করণের সাথে একটি স্ট্যান্ডার্ড রিকোয়েস্ট ব্যবহার করা হয়েছিল, যা এখনও স্ট্যান্ডার্ড রিকোয়েস্টের জন্য অ্যাপ অ্যাক্সেস ঝুঁকি সমর্থন করে না।
প্লে প্রোটেক্ট রায় NO_ISSUES প্লে প্রোটেক্ট চালু আছে এবং ডিভাইসটিতে কোনো অ্যাপ-জনিত সমস্যা খুঁজে পাওয়া যায়নি।
NO_DATA প্লে প্রোটেক্ট চালু আছে কিন্তু এখনও কোনো স্ক্যান করা হয়নি। ডিভাইসটি অথবা প্লে স্টোর অ্যাপটি সম্প্রতি রিসেট করা হয়ে থাকতে পারে।
POSSIBLE_RISK প্লে প্রোটেক্ট বন্ধ করা আছে।
MEDIUM_RISK প্লে প্রোটেক্ট চালু আছে এবং ডিভাইসটিতে সম্ভাব্য ক্ষতিকর অ্যাপ ইনস্টল করা আছে বলে শনাক্ত করেছে।
HIGH_RISK প্লে প্রোটেক্ট চালু আছে এবং ডিভাইসটিতে বিপজ্জনক অ্যাপ ইনস্টল করা আছে বলে শনাক্ত করেছে।
UNEVALUATED প্লে প্রোটেক্টের রায়টি মূল্যায়ন করা হয়নি। একটি প্রয়োজনীয় শর্ত পূরণ করা হয়নি, যেমন ডিভাইসটি যথেষ্ট নির্ভরযোগ্য না হওয়া।

ক্লাসিক অনুরোধ সেটিংস কনফিগার করুন (ঐচ্ছিক)

আপনি যদি শুধু সাধারণ এপিআই অনুরোধ করতে চান, তাহলে এই অংশটি এড়িয়ে যান।

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

আপনার প্রতিক্রিয়ার এনক্রিপশন গুগলকে পরিচালনা করতে দিন (প্রস্তাবিত)

আপনার অ্যাপের নিরাপত্তা সুরক্ষিত রাখতে আমরা গুগলকে কী তৈরি ও পরিচালনা করার অনুমতি দেওয়ার পরামর্শ দিই। আপনার ব্যাকএন্ড রেসপন্সগুলো ডিক্রিপ্ট ও ভেরিফাই করার জন্য গুগল প্লে-এর সার্ভারকে কল করবে।

আপনার নিজের এনক্রিপশন কীগুলি পরিচালনা করুন

আপনার নিজস্ব সুরক্ষিত সার্ভার পরিবেশে স্থানীয়ভাবে ডিক্রিপ্ট করার জন্য, আপনি প্লে কনসোল বা প্লে এসডিকে কনসোল থেকে এনক্রিপশন কী ডাউনলোড করতে পারেন। এই বৈশিষ্ট্যটি ব্যবহার করার জন্য আপনার অ্যাপটি অবশ্যই গুগল প্লে-তে উপলব্ধ থাকতে হবে।

প্লে কনসোলে আপনার রেসপন্স এনক্রিপশন ম্যানেজমেন্ট স্ট্র্যাটেজি পরিবর্তন করার আগে, কোনো ধরনের ব্যাঘাত এড়াতে নিশ্চিত করুন যে আপনার সার্ভারটি গুগল প্লে-এর সার্ভারে ইন্টিগ্রিটি টোকেন ডিক্রিপ্ট ও ভেরিফাই করার জন্য সঠিকভাবে কনফিগার করা আছে।

গুগল-পরিচালিত এবং স্ব-পরিচালিত এনক্রিপশন কীগুলির মধ্যে পরিবর্তন করুন

  1. প্লে কনসোল খুলুন এবং আপনার অ্যাপটি নির্বাচন করুন।
  2. টেস্ট ও রিলিজ > অ্যাপ ইন্টিগ্রিটি- তে যান।
  3. Play Integrity API-এর পাশে, সেটিংস-এ ক্লিক করুন।
  4. ক্লাসিক রিকোয়েস্ট- এর অধীনে, রেসপন্স এনক্রিপশন- এর পাশে, এডিট-এ ক্লিক করুন।

স্ব-পরিচালিত কী-তে পরিবর্তন করতে:

  1. ‘Manage’ নির্বাচন করুন এবং আমার প্রতিক্রিয়া এনক্রিপশন কীগুলি ডাউনলোড করুন ও আপনার পাবলিক কী আপলোড করুন।
  2. আপনার এনক্রিপ্টেড কীগুলো স্বয়ংক্রিয়ভাবে ডাউনলোড করতে সেভ-এ ক্লিক করুন।
  3. এই কীগুলো ব্যবহার করে স্থানীয়ভাবে ডিক্রিপ্ট করার জন্য আপনার সুরক্ষিত ব্যাকএন্ড সার্ভারটি আপডেট করুন।

গুগল-পরিচালিত কী-তে পরিবর্তন করতে:

  1. ‘আমার প্রতিক্রিয়ার এনক্রিপশন গুগলকে পরিচালনা করতে দিন’ (প্রস্তাবিত) নির্বাচন করুন।
  2. পরিবর্তনগুলি সংরক্ষণ করুন -এ ক্লিক করুন।