Play Integrity API যোগ করুন

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

এপিআই এমন রায় প্রদান করে যা আপনাকে সম্ভাব্য হুমকি শনাক্ত করতে সাহায্য করে, যার মধ্যে রয়েছে:

  • ঝুঁকিপূর্ণ ডিভাইস এবং পরিবেশ: deviceIntegrity রায় আপনাকে নির্ধারণ করতে সাহায্য করে যে আপনার অ্যাপটি সত্যিকারের পিসি ডিভাইসে চলছে নাকি পিসির জন্য গুগল প্লে গেমসের আসল উদাহরণ।

API এর সাথে একীভূত করুন

আপনার অ্যাপে PC-এর জন্য Play Integrity API-কে সংহত করতে, আপনাকে প্রথমে Google Cloud Console-এ প্রাথমিক সেটআপ করতে হবে। এর পরে, প্রতিটি অখণ্ডতা পরীক্ষা করার জন্য আপনাকে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:

  1. আপনার সততা টোকেন প্রস্তুত করুন
  2. আপনার সততা টোকেন অনুরোধ করুন
  3. টোকেন ডেটার জন্য অনুরোধ করুন

Google ক্লাউড কনসোলে প্রাথমিক সেটআপ

Play Integrity API-কে কল করা প্রতিটি অ্যাপ বা SDK তাদের কল প্রমাণীকরণ করতে এবং তাদের API ব্যবহার নিরীক্ষণ করতে একটি Google ক্লাউড প্রকল্প ব্যবহার করতে হবে। আপনি যদি একটি নতুন ক্লাউড প্রকল্প তৈরি করতে চান বা আপনার অ্যাপটি শুধুমাত্র Google Play এর বাইরে বিতরণ করা হয়, তাহলে আপনি আপনার Google ক্লাউড কনসোল থেকে Play Integrity API প্রতিক্রিয়া সক্ষম করতে পারেন।

আপনার Google ক্লাউড কনসোলে , একটি নতুন ক্লাউড প্রকল্প তৈরি করুন বা একটি বিদ্যমান ক্লাউড প্রকল্প বেছে নিন যা আপনি PC-এর জন্য Play Integrity API-এর সাথে ব্যবহার করতে চান৷ API এবং পরিষেবাগুলিতে নেভিগেট করুন৷ API এবং পরিষেবাগুলি সক্ষম করুন নির্বাচন করুন৷ Play Integrity API অনুসন্ধান করুন এবং তারপরে এটি সক্ষম করুন ৷ আপনি এখন আপনার অ্যাপে Play Integrity API একত্রিত করতে পারেন।

ধাপ 1: আপনার সততা টোকেন প্রস্তুত করুন

void PrepareIntegrityToken(
  const PrepareIntegrityTokenParams & params,
  PrepareIntegrityTokenContinuation continuation
)

একটি অখণ্ডতা টোকেন অনুরোধ করার আগে ( RequestIntegrityToken দেখুন), আপনাকে অবশ্যই Play Integrity API প্রস্তুত (বা "ওয়ার্ম আপ") করতে হবে। এটি Google Play-কে বুদ্ধিমত্তার সাথে ডিভাইসে আংশিক প্রত্যয়ন তথ্য ক্যাশে করার অনুমতি দেয় যাতে আপনি যখন অখণ্ডতার রায়ের জন্য অনুরোধ করেন তখন জটিল পথে লেটেন্সি কমাতে।

সফল হলে, ধারাবাহিকতাকে একটি PrepareIntegrityTokenResultValue সহ একটি RequestTokenData সম্বলিত কল করা হবে যা একটি অখণ্ডতা টোকেন অনুরোধ করতে ব্যবহার করা উচিত৷ RequestIntegrityToken- এ কল করার জন্য এই ডেটাটি মেমরিতে ক্যাশ করা উচিত এবং অ্যাপ্লিকেশনের সেশনের সময়কালের জন্য পুনরায় ব্যবহার করা উচিত। শুধুমাত্র যদি আপনার আবেদন নির্ধারণ করে যে অখণ্ডতার রায় সম্পূর্ণরূপে পুনঃমূল্যায়ন করা প্রয়োজন PrepareIntegrityToken- এ একটি কল করা উচিত।

বিস্তারিত
পরামিতি params : একটি Google ক্লাউড প্রকল্প নম্বর ধারণকারী পরামিতি।
continuation : অখণ্ডতা টোকেন প্রদানকারীকে ফেরত দিতে async কলব্যাক।

ধাপ 2: আপনার সততা টোকেন অনুরোধ করুন

void RequestIntegrityToken(
  const RequestIntegrityTokenParams & params,
  RequestIntegrityTokenContinuation continuation
)

ইন্টিগ্রিটি টোকেনগুলি হল আপনার অ্যাপ্লিকেশনের জন্য একটি পদ্ধতি যা যাচাই করার জন্য যে ডিভাইসটি টেম্পার করা হয়নি৷ উদাহরণস্বরূপ, আপনার ব্যাকএন্ড সার্ভারটি যাচাই করতে অখণ্ডতা টোকেন ব্যবহার করতে পারে:

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

আপনি যখন PC-এর জন্য Play Integrity API-এর মাধ্যমে আপনার অ্যাপে ব্যবহারকারীর অ্যাকশন পরীক্ষা করছেন, তখন আপনি টেম্পারিং আক্রমণের বিরুদ্ধে প্রশমিত করতে RequestIntegrityTokenParams::request_hash ফিল্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, একটি গেম প্লেয়ারের স্কোর গেমের ব্যাকএন্ড সার্ভারে রিপোর্ট করতে চাইতে পারে এবং আপনার সার্ভার যাচাই করতে চায় এই স্কোরটি প্রক্সি সার্ভার দ্বারা টেম্পার করা হয়নি। প্লে ইন্টিগ্রিটি API স্বাক্ষরিত অখণ্ডতা প্রতিক্রিয়ার ভিতরে, এই ক্ষেত্রে আপনার সেট করা মান প্রদান করে। requestHash ছাড়া, অখণ্ডতা টোকেন শুধুমাত্র ডিভাইসে আবদ্ধ হবে, তবে নির্দিষ্ট অনুরোধের সাথে নয়, যা আক্রমণের সম্ভাবনা উন্মুক্ত করে।

আপনি যখন একটি সততা রায়ের অনুরোধ করেন তখন এটি প্রশমিত করতে:

  • ব্যবহারকারীর অ্যাকশন বা সার্ভারের অনুরোধ যা ঘটছে তা থেকে সমস্ত প্রাসঙ্গিক অনুরোধের প্যারামিটারের একটি ডাইজেস্ট গণনা করুন (যেমন একটি স্থিতিশীল অনুরোধ ক্রমিককরণের SHA256)।
  • RequestIntegrityTokenParams::request_hash ক্ষেত্রটি ডাইজেস্টে সেট করুন।
বিস্তারিত
পরামিতি params : প্রস্তুত RequestTokenData এবং ইন্টিগ্রিটি চেক রিকোয়েস্ট হ্যাশ ধারণকারী প্যারামিটার।
continuation : ডেটা ফেরত দেওয়ার জন্য async কলব্যাক।

ধাপ 3: টোকেন ডেটার অনুরোধ করুন

আপনি একটি অখণ্ডতা রায়ের অনুরোধ করার পরে, Play Integrity API একটি এনক্রিপ্ট করা প্রতিক্রিয়া টোকেন প্রদান করে৷ ডিভাইসের অখণ্ডতার রায় পেতে, আপনাকে অবশ্যই Google এর সার্ভারে অখণ্ডতা টোকেন ডিক্রিপ্ট করতে হবে৷ এটি করতে, এই পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. আপনার অ্যাপের সাথে লিঙ্ক করা Google ক্লাউড প্রকল্পের মধ্যে একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
  2. আপনার অ্যাপের সার্ভারে, প্লেইনটেগ্রিটি স্কোপ ব্যবহার করে আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি থেকে অ্যাক্সেস টোকেন আনুন এবং নিম্নলিখিত অনুরোধ করুন:

    playintegrity.googleapis.com/v1/<var>PACKAGE_NAME</var>:decodePcIntegrityToken -d \
     '{ "integrity_token": "<var>INTEGRITY_TOKEN</var>" }'
    
  3. JSON প্রতিক্রিয়া পড়ুন।

ফলস্বরূপ পেলোড হল একটি প্লেইন-টেক্সট টোকেন যাতে অখণ্ডতার রায় এবং বিকাশকারী-প্রদত্ত তথ্যের পাশাপাশি বিবরণ থাকে। টোকেন বিন্যাস নিম্নরূপ:

{
  "requestDetails": { ... },
  "deviceIntegrity": { ... },
}

প্রতিটি অখণ্ডতার রায় পরীক্ষা করার আগে আপনাকে অবশ্যই প্রথমে requestDetails ক্ষেত্রের মানগুলি মূল অনুরোধের সাথে মেলে কিনা তা পরীক্ষা করতে হবে। নিম্নলিখিত বিভাগগুলি প্রতিটি ক্ষেত্রকে আরও বিশদে বর্ণনা করে।

বিশদ ক্ষেত্র অনুরোধ করুন

requestDetails ফিল্ডে রিকোয়েস্ট সম্পর্কে তথ্য রয়েছে, যার মধ্যে রয়েছে স্ট্যান্ডার্ড অনুরোধের জন্য requestHash ডেভেলপার-প্রদত্ত তথ্য এবং ক্লাসিক অনুরোধের জন্য nonce

"requestDetails": {
  // Application package name this attestation was requested for.
  // Note that this field might be spoofed in the middle of the request.
  "requestPackageName": "com.package.name",
  // The timestamp when the integrity token was requested.
  "requestTime": "1675655009345"
  // Request hash provided by the developer.
  "requestHash": "aGVsbG8gd29scmQgdGhlcmU",
}

এই মানগুলি মূল অনুরোধের সাথে মেলে। তাই, JSON পেলোডের requestDetails অংশ যাচাই করে নিশ্চিত করুন যে requestPackageName এবং requestHash আসল অনুরোধে যা পাঠানো হয়েছে তার সাথে মেলে।

ডিভাইস অখণ্ডতা ক্ষেত্র

deviceIntegrity ফিল্ডে একটি একক মান থাকতে পারে, deviceRecognitionVerdict , যেটিতে এক বা একাধিক লেবেল রয়েছে যা প্রতিনিধিত্ব করে যে একটি ডিভাইস কতটা ভালোভাবে অ্যাপের অখণ্ডতা প্রয়োগ করতে পারে৷ যদি কোনো ডিভাইস কোনো লেবেলের মানদণ্ড পূরণ না করে, তাহলে deviceIntegrity ক্ষেত্রটি deviceRecognitionVerdict বাদ দেয়।

"deviceIntegrity": {
  "deviceRecognitionVerdict": ["MEETS_PC_INTEGRITY"]
}

ডিফল্টরূপে, deviceRecognitionVerdict নিম্নলিখিতগুলি থাকতে পারে:

MEETS_PC_INTEGRITY
অ্যাপটি সত্যিকারের PC পরিবেশে চলমান থাকলে একটি রায় প্রদান করে, যেখানে ডিভাইসে কোনো টেম্পারিং সনাক্ত করা হয়নি।
খালি (একটি ফাঁকা মান)
অ্যাপ্লিকেশানটি এমন একটি ডিভাইসে চলছে যেখানে আক্রমণের লক্ষণ রয়েছে (যেমন API হুকিং) বা সিস্টেম আপস (যেমন রুট করা) বা অ্যাপটি কোনও শারীরিক ডিভাইসে চলছে না (যেমন একটি এমুলেটর যা Google Play অখণ্ডতা পরীক্ষা পাস করে না)৷

ব্যবহারের সীমা

Play Integrity API ব্যবহারের সীমা

আপনার অ্যাপ প্রতি অ্যাপে প্রতিদিন সর্বাধিক 10,000টি মোট অনুরোধের বিষয় হবে। যদি আপনার অ্যাপের ব্যবহারকারীর সংখ্যা বৃদ্ধির প্রয়োজন হয় তাহলে আপনি নিম্নলিখিত নির্দেশাবলীর মাধ্যমে এই দৈনিক সর্বোচ্চ বৃদ্ধির জন্য অনুরোধ করতে পারেন।

অ্যাকশন অ্যাপ প্রতি দৈনিক কোটা নোট
টোকেন অনুরোধ 10,000 PC-এর জন্য Play Integrity API এর পাশাপাশি ক্লাসিক এবং স্ট্যান্ডার্ড অনুরোধের জন্য Play Integrity API-এর মধ্যে শেয়ার করা হয়েছে
Google এর সার্ভারে টোকেন ডিক্রিপশন 10,000 PC-এর জন্য Play Integrity API এর পাশাপাশি ক্লাসিক এবং স্ট্যান্ডার্ড অনুরোধের জন্য Play Integrity API-এর মধ্যে শেয়ার করা হয়েছে

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

আপনার দৈনিক সর্বাধিক অনুরোধের সংখ্যা বৃদ্ধির জন্য যোগ্য হওয়ার জন্য, আপনার অ্যাপটি অবশ্যই অন্য যেকোনো বিতরণ চ্যানেল ছাড়াও Google Play-তে উপলব্ধ থাকতে হবে।

আপনার দৈনিক সর্বোচ্চ সংখ্যা বৃদ্ধির অনুরোধ করতে, নিম্নলিখিতগুলি করুন:

  1. আপনি Play Console-এ Play Integrity API-এর জন্য যে Google ক্লাউড প্রকল্পটি ব্যবহার করছেন সেটি লিঙ্ক করুন।
  2. যাচাই করুন যে আপনি সুপারিশকৃত পুনরায় চেষ্টা করার কৌশল সহ API লজিক সঠিকভাবে প্রয়োগ করছেন।
  3. এই ফর্ম ব্যবহার করে একটি কোটা বৃদ্ধির অনুরোধ করুন৷

Play Integrity API কোটা বাড়ানোর জন্য এক সপ্তাহ পর্যন্ত সময় লাগতে পারে, তাই আমরা দৃঢ়ভাবে আপনার Google Play Console বা Google Cloud Console-এ আপনার Play Integrity API ব্যবহার নিরীক্ষণ করার সুপারিশ করছি, যেখানে আপনি আপনার পরিষেবাতে বাধা এড়াতে কোটা সতর্কতা সেট আপ করতে পারেন।

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

নিরাপত্তা বিবেচনা

যখন আপনি এই প্রস্তাবিত অনুশীলনগুলি অনুসরণ করেন তখন Play Integrity API আপনার অ্যাপের জন্য সর্বাধিক মূল্য প্রদান করে:

একটি বিরোধী অপব্যবহার কৌশল আছে

আপনার সামগ্রিক অ্যান্টি-ব্যবহার কৌশলের অংশ হিসাবে অন্যান্য সিগন্যালের পাশাপাশি ব্যবহার করা হলে Play Integrity API সবচেয়ে ভাল কাজ করে এবং আপনার একমাত্র অ্যান্টি-অ্যাবিউজ মেকানিজম হিসাবে নয়। আপনার অ্যাপের জন্য অন্যান্য উপযুক্ত নিরাপত্তা সর্বোত্তম অনুশীলনের সাথে এই APIটি ব্যবহার করুন। ডিফল্টরূপে, আপনার অ্যাপটি সমস্ত ইনস্টল জুড়ে প্রতিদিন 10,000টি পর্যন্ত মোট অনুরোধ করতে পারে। আপনি আপনার দৈনিক সর্বোচ্চ বাড়াতে অনুরোধ করতে পারেন।

টেলিমেট্রি সংগ্রহ করুন এবং পদক্ষেপ নেওয়ার আগে আপনার দর্শকদের বুঝুন

Play Integrity API রায়ের উপর ভিত্তি করে আপনার অ্যাপ কীভাবে আচরণ করে তা পরিবর্তন করার আগে, আপনি প্রয়োগ ছাড়াই API প্রয়োগ করে আপনার বিদ্যমান দর্শকদের বর্তমান পরিস্থিতি বুঝতে পারবেন। একবার আপনি জেনে গেলে আপনার বর্তমান ইনস্টল বেস কি রায় ফিরে আসছে, আপনি পরিকল্পনা করছেন এমন কোনো প্রয়োগের প্রভাব অনুমান করতে পারেন এবং সেই অনুযায়ী আপনার অপব্যবহার বিরোধী কৌশল সামঞ্জস্য করতে পারেন।

একটি উপযুক্ত মুহূর্তে একটি সততা রায়ের অনুরোধ করুন

আপনি যে অ্যাকশন বা সার্ভারের অনুরোধ রক্ষা করতে চান তার সময়ের যতটা সম্ভব কাছাকাছি API অনুরোধ করা উচিত।

আপনার API অনুরোধগুলি প্রতিলিপি করা কঠিন করুন

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

সততা রায় ক্যাশিং এড়িয়ে চলুন

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

আপনার সার্ভার থেকে আপনার অ্যাপে বিভিন্ন প্রতিক্রিয়া পাঠান

প্রতিটি প্রতিক্রিয়ার জন্য সার্ভার থেকে অ্যাপ্লিকেশানে একটি বাইনারি মঞ্জুরি/অস্বীকার করার প্রতিক্রিয়া পাঠানোর চেয়ে সিদ্ধান্তের ফলাফলের একটি পরিসরের প্রতিলিপি করা কঠিন। উদাহরণস্বরূপ, আপনি একাধিক সম্পর্কিত প্রতিক্রিয়াগুলি ব্যবহার করতে পারেন যেমন অনুমতি দিন, সীমার সাথে অনুমতি দিন, ক্যাপচা সম্পূর্ণ হওয়ার পরে সীমা সহ অনুমতি দিন এবং অস্বীকার করুন৷

কর্মযোগ্য ত্রুটি বার্তা দেখান

যখন সম্ভব, ব্যবহারকারীকে দরকারী ত্রুটি বার্তা প্রদান করুন এবং তাদের জানান যে তারা এটি ঠিক করতে কী করতে পারে৷

অপ্রত্যাশিত সমস্যা বা বিভ্রাটের জন্য একটি পরিকল্পনা করুন

প্লে স্ট্যাটাস ড্যাশবোর্ড প্লে ইন্টিগ্রিটি এপিআই-এর পরিষেবার স্ট্যাটাস সম্পর্কে তথ্যের সাথে যেকোন বাধা এবং বিভ্রাটের তথ্য দেখায়। একটি বৃহৎ-স্কেল প্লে ইন্টিগ্রিটি API বিভ্রাটের অসম্ভাব্য ইভেন্টে আপনি কীভাবে আপনার ব্যাকএন্ড সার্ভারকে কাজ করতে চান তা আপনার আগে থেকেই পরিকল্পনা করা উচিত।

পরিষেবার শর্তাবলী এবং ডেটা নিরাপত্তা

PC এর জন্য Play Integrity API অ্যাক্সেস বা ব্যবহার করে, আপনি Play Integrity API পরিষেবার শর্তাবলীতে সম্মত হন। API অ্যাক্সেস করার আগে সমস্ত প্রযোজ্য শর্তাবলী এবং নীতিগুলি পড়ুন এবং বুঝুন৷

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