বিল্ট-ইন Play Integrity প্রোভাইডার ব্যবহার করে, Android অ্যাপে কীভাবে App Check চালু করতে হয় তা এই পৃষ্ঠায় দেখানো হয়েছে। App Check চালু করলে, আপনি এটি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রোজেক্টের ব্যাকএন্ড রিসোর্স অ্যাক্সেস করতে পারবে। এই ফিচারের এক নজরে দেখুন।
Play Integrity প্রদানকারী Google Play-তে, Google Play-এর বাইরে অথবা উভয় জায়গাতেই প্রকাশিত Android অ্যাপকে সহায়তা করে। আপনার ব্যবহারের ক্ষেত্রে যদি এমন Play Integrity ফিচার প্রয়োজন হয় যা App Check-এর মাধ্যমে প্রয়োগ করা হয়নি অথবা আপনি যদি নিজের কাস্টম প্রোভাইডারের সাথে App Check ব্যবহার করতে চান, তাহলে কাস্টম App Check প্রোভাইডার প্রয়োগ করুন দেখুন।
১. আপনার Firebase প্রোজেক্ট সেট-আপ করুন
আপনি যদি আগে থেকে না করে থাকেন, তাহলে আপনার Android প্রোজেক্টে Firebase যোগ করুন।
Play Integrity API চালু করুন:
Google Play Console-এ, আপনার অ্যাপ বেছে নিন অথবা আগে থেকে যোগ করা না থাকলে সেটি যোগ করুন।
রিলিজ বিভাগে, অ্যাপ ইন্টিগ্রিটি বিকল্পে ক্লিক করুন।
পৃষ্ঠার Play Integrity API বিভাগে যান, Cloud প্রোজেক্ট লিঙ্ক করুন বিকল্পে ক্লিক করুন, তারপর Google Cloudটি প্রোজেক্টের তালিকা থেকে আপনার Firebase প্রোজেক্ট বেছে নিন। আপনি এখানে যে প্রোজেক্ট বেছে নেবেন সেটি যেন আপনার অ্যাপ রেজিস্টার করার Firebase প্রোজেক্টের সাথে একই হয় (পরবর্তী ধাপ দেখুন)।
Firebase কনসোলে, নিরাপত্তা > App Check বিকল্পে নেভিগেট করুন।
অ্যাপ ট্যাবে, Play Integrity প্রদানকারীর সাথে App Check ব্যবহার করার জন্য আপনার অ্যাপ রেজিস্টার করুন। আপনার অ্যাপের সাইনিং সার্টিফিকেটের SHA-256 ফিঙ্গারপ্রিন্ট দিতে হবে।
সাধারণত আপনার প্রোজেক্টের সব অ্যাপ রেজিস্টার করতে হয়, কারণ আপনি একবার Firebase প্রোডাক্টের জন্য এনফোর্সমেন্ট চালু করলে, শুধুমাত্র রেজিস্টার করা অ্যাপই প্রোডাক্টের ব্যাকএন্ড রিসোর্স অ্যাক্সেস করতে পারবে।
ঐচ্ছিক: টোকেন টাইম টু লাইভ (TTL) সেট করুন।
অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর ইস্যু করা App Check টোকেনের জন্য কাস্টম টাইম টু লাইভ (TTL) সেট করুন। আপনি TTL-এর ভ্যালু ৩০ মিনিট থেকে ৭ দিনের মধ্যে যেকোনও সময় সেট করতে পারবেন। এই ভ্যালু পরিবর্তন করার সময়, নিম্নলিখিত ট্রেড-অফ সম্পর্কে সচেতন থাকুন:
- নিরাপত্তা: ছোট TTL আরও শক্তিশালী নিরাপত্তা প্রদান করে, কারণ এটি সেই উইন্ডোকে কমিয়ে দেয় যেখানে কোনও আক্রমণকারী লিক হওয়া বা ইন্টারসেপ্ট করা টোকেনের অপব্যবহার করতে পারে।
- পারফর্ম্যান্স: TTL কম হলে আপনার অ্যাপ আরও ঘন ঘন অ্যাটেস্টেশন করবে। অ্যাপ অ্যাটেস্টেশন প্রসেস প্রতিবার পারফর্ম করার সময় নেটওয়ার্ক অনুরোধে লেটেন্সি যোগ করে, তাই ছোট TTL আপনার অ্যাপের পারফর্ম্যান্সের উপর প্রভাব ফেলতে পারে।
- কোটা ও খরচ: কম TTL এবং ঘন ঘন আবার অ্যাটেস্টেশন করার ফলে আপনার কোটা দ্রুত শেষ হয়ে যায় এবং পেড পরিষেবার ক্ষেত্রে, সম্ভাব্য খরচ বেশি হয়। কোটা ও সীমা দেখুন।
বেশিরভাগ অ্যাপের জন্য ডিফল্ট TTL ১ ঘণ্টা হলে তা যুক্তিযুক্ত। মনে রাখবেন যে App Check লাইব্রেরি TTL সময়সীমার প্রায় অর্ধেক সময়ে টোকেন রিফ্রেশ করে।
উন্নত সেটিংস কনফিগার করুন (ঐচ্ছিক)
App Check-এ উন্নত ব্যবহারের ক্ষেত্রে সহায়তা করার জন্য একাধিক সেটিংস রয়েছে, যার মধ্যে Google Play-এর বাইরে আপনার অ্যাপ ডিস্ট্রিবিউট করার সুবিধা অন্তর্ভুক্ত। আপনার প্রতিটি রেজিস্টার করা Android অ্যাপের জন্য, আপনি Firebase কনসোলের App Check > অ্যাপ ট্যাব থেকে এইসব সেটিংস কনফিগার করতে পারবেন। আপনি প্রথমবার অ্যাপ রেজিস্টার করার সময় নিম্নলিখিত টেবিল অনুযায়ী এইসব সেটিংস কনফিগার করলে ভাল হয়।
| আপনার অ্যাপের ডিস্ট্রিবিউশন চ্যানেল | PLAY_RECOGNIZED | লাইসেন্স আছে | ডিভাইস ইন্টিগ্রিটি লেভেলের ন্যূনতম গ্রহণযোগ্যতা |
|---|---|---|---|
| এক্সক্লুসিভলি Google Play-তে | প্রয়োজনীয় | প্রয়োজনীয় | ডিভাইস ইন্টিগ্রিটি লেভেল স্পষ্টভাবে চেক করবেন না |
| শুধুমাত্র Google Play-এর বাইরে | প্রয়োজন নেই | প্রয়োজন নেই | ডিভাইস ইন্টিগ্রিটি |
| Google Play-তে এবং Google Play-এর বাইরে | প্রয়োজনীয় | প্রয়োজন নেই | ডিভাইস ইন্টিগ্রিটি লেভেল স্পষ্টভাবে চেক করবেন না |
বিবরণ
প্রতিটি উন্নত সেটিংস Play Integrity রায় লেবেলের সাথে সম্পর্কিত। আরও তথ্যের জন্য Play Integrity ডকুমেন্টেশন দেখুন।
- ডিফল্ট হিসেবে, App Check-এর জন্য
PLAY_RECOGNIZEDঅ্যাপ শনাক্তকরণ লেবেল প্রয়োজন। Google Play-তে প্রকাশ করা হয়নি এমন অ্যাপ এই লেবেল পাওয়ার উপযুক্ত নয়। - ডিফল্ট হিসেবে, App Check-এর জন্য
LICENSEDঅ্যাপ লাইসেন্সিং লেবেলের প্রয়োজন হয় না। শুধুমাত্র সেইসব ব্যবহারকারী এই লেবেল পাওয়ার উপযুক্ত যারা সরাসরি Google Play থেকে আপনার অ্যাপ ইনস্টল বা আপডেট করেছেন। ডিফল্ট হিসেবে, App Check স্পষ্টভাবে ডিভাইস ইন্টিগ্রিটি ফলাফল চেক করে না। App Check স্পষ্টভাবে নিম্নলিখিত তিনটি ডিভাইস ইন্টিগ্রিটি লেভেল চেক করার সুবিধা দেয়, যা ডিভাইস ইন্টিগ্রিটি বৃদ্ধির ক্রম অনুসারে তালিকাভুক্ত করা হয়েছে।
প্রাথমিক ইন্টিগ্রিটি। App Check-এর জন্য
MEETS_BASIC_INTEGRITYডিভাইস শনাক্তকরণ লেবেল প্রয়োজন। আপনার অ্যাপ যাতে এই ঐচ্ছিক লেবেল পাওয়ার উপযুক্ত হয়, তার জন্য আপনাকে প্রথমে Google Play Console থেকে অপ্ট-ইন করতে হবে।ডিভাইস ইন্টিগ্রিটি। App Check-এর জন্য
MEETS_DEVICE_INTEGRITYডিভাইস শনাক্তকরণ লেবেল প্রয়োজন। সব অ্যাপ অটোমেটিক এই লেবেল পাওয়ার জন্য উপযুক্ত।শক্তিশালী ইন্টিগ্রিটি। App Check-এর জন্য
MEETS_STRONG_INTEGRITYডিভাইস শনাক্তকরণ লেবেল প্রয়োজন। আপনার অ্যাপ যাতে এই ঐচ্ছিক লেবেল পাওয়ার উপযুক্ত হয়, তার জন্য আপনাকে প্রথমে Google Play Console থেকে অপ্ট-ইন করতে হবে।
২. আপনার অ্যাপে App Check লাইব্রেরি যোগ করুন
আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত<project>/<app-module>/build.gradle.kts বা
<project>/<app-module>/build.gradle),
Android-এর জন্য App Check লাইব্রেরির ডিপেন্ডেন্সি যোগ করুন। লাইব্রেরি ভার্সনিং নিয়ন্ত্রণ করতে আমরা
Firebase Android BoM
ব্যবহার করার সাজেশন দিই।
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.2")) // Add the dependencies for the App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity") }
Firebase Android BoM ব্যবহার করার মাধ্যমে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির মানানসই ভার্সন ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি ডিপেন্ডেন্সি যোগ করুন
আপনি যদি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি ভার্সন এর ডিপেন্ডেন্সি লাইনে উল্লেখ করতে হবে।
মনে রাখবেন, আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করলে, লাইব্রেরি ভার্সন ম্যানেজ করার জন্য আমরা BoM ব্যবহার করার জন্য বিশেষভাবে সাজেস্ট করি, যা নিশ্চিত করে যে সব ভার্সন মানানসই।
dependencies { // Add the dependencies for the App Check libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity:20.0.0") }
৩. App Check শুরু করুন
আপনার অ্যাপে নিম্নলিখিত ইনিশিয়ালাইজেশন কোড যোগ করুন যাতে অন্য কোনও Firebase SDK ব্যবহার করার আগে এটি রান করে:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
পরবর্তী ধাপ
আপনার অ্যাপে App Check লাইব্রেরি ইনস্টল করা হয়ে গেলে, ব্যবহারকারীদের কাছে আপডেট করা অ্যাপ ডিস্ট্রিবিউট করা শুরু করুন।
আপডেট করা ক্লায়েন্ট অ্যাপ Firebase-এ পাঠানো প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠানো শুরু করবে, তবে Firebase কনসোলের App Check বিভাগে এনফোর্সমেন্ট চালু না করা পর্যন্ত Firebase প্রোডাক্টের জন্য টোকেন বৈধ হওয়ার প্রয়োজন নেই।
মেট্রিক মনিটর করুন এবং এনফোর্সমেন্ট চালু করুন
তবে, এনফোর্সমেন্ট চালু করার আগে, আপনাকে নিশ্চিত করতে হবে যে এটি করার ফলে আপনার বর্তমান বৈধ ব্যবহারকারীদের কোনও সমস্যা হবে না। অন্যদিকে, আপনার অ্যাপ রিসোর্সের সন্দেহজনক ব্যবহার দেখতে পেলে, আপনি হয়ত আরও তাড়াতাড়ি এনফোর্সমেন্ট চালু করতে চাইবেন।
এই সিদ্ধান্ত নিতে সাহায্য করার জন্য, আপনি যে পরিষেবা ব্যবহার করেন তার জন্য App Check মেট্রিক দেখতে পারেন:
- Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS-এর জন্য Google Identity, Maps JavaScript API এবং Places API (নতুন)-এর জন্য App Check অনুরোধের মেট্রিক মনিটর করুন।
- Cloud Functions-এর জন্য App Check অনুরোধের মেট্রিক মনিটর করুন।
App Check এনফোর্সমেন্ট চালু করুন
App Check আপনার ব্যবহারকারীদের উপর কীভাবে প্রভাব ফেলবে তা বোঝার পরে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত হলে, App Check এনফোর্সমেন্ট চালু করতে পারবেন:
- Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS-এর জন্য Google Identity, Maps JavaScript API এবং Places API (নতুন)-এর জন্য App Check এনফোর্সমেন্ট চালু করুন।
- Cloud Functions-এর জন্য App Check এনফোর্সমেন্ট চালু করুন।
ডিবাগ এনভায়রনমেন্টে App Check ব্যবহার করা
App Check-এর জন্য আপনার অ্যাপ রেজিস্টার করার পরে, আপনি যদি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা App Check সাধারণত বৈধ হিসেবে শ্রেণীবদ্ধ করবে না, যেমন ডেভেলপমেন্টের সময় একটি এমুলেটর বা একটি কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশ থেকে, আপনি আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা আসল অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে।
Android-এ ডিবাগ প্রোভাইডারের সাথে App Check ব্যবহার করুন দেখুন।