আপনার কাস্টম App Check প্রোভাইডার ব্যবহার করে, Android অ্যাপে কীভাবে App Check চালু করবেন তা এই পৃষ্ঠায় দেখানো হয়েছে। আপনি App Check চালু করলে, আপনার প্রোজেক্টের Firebase রিসোর্স শুধুমাত্র আপনার অ্যাপ অ্যাক্সেস করতে পারবে তা নিশ্চিত করতে সাহায্য করেন।
আপনি ডিফল্ট Play Integrity প্রদানকারীর সাথে App Check ব্যবহার করতে চাইলে, Android-এ Play Integrity-র সাথে App Check চালু করুন দেখুন।
শুরু করার আগে
আপনি আগে থেকে না করে থাকলে, আপনার Android প্রোজেক্টে Firebase যোগ করুন।
আপনার কাস্টম App Check প্রদানকারীর সার্ভার-সাইড লজিক প্রয়োগ করুন।
১. আপনার অ্যাপে 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 dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck") }
Firebase Android BoM ব্যবহার করার মাধ্যমে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির মানানসই ভার্সন ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি ডিপেন্ডেন্সি যোগ করুন
আপনি যদি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি ভার্সন এর ডিপেন্ডেন্সি লাইনে উল্লেখ করতে হবে।
মনে রাখবেন, আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করলে, লাইব্রেরি ভার্সন ম্যানেজ করার জন্য আমরা BoM ব্যবহার করার জন্য বিশেষভাবে সাজেস্ট করি, যা নিশ্চিত করে যে সব ভার্সন মানানসই।
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck:20.0.0") }
২. App Check ইন্টারফেস প্রয়োগ করুন
প্রথমে, আপনাকে এমন ক্লাস তৈরি করতে হবে যা AppCheckProvider এবং
AppCheckProviderFactory ইন্টারফেস প্রয়োগ করে।
আপনার AppCheckProvider ক্লাসে অবশ্যই একটি getToken() পদ্ধতি থাকতে হবে, যা
আপনার কাস্টম App Check প্রদানকারীর সত্যতার প্রমাণ হিসেবে প্রয়োজনীয় যেকোনও তথ্য সংগ্রহ করে
এবং একটি App Check টোকেনের বিনিময়ে আপনার টোকেন অধিগ্রহণ পরিষেবাতে পাঠায়। App Check SDK টোকেন ক্যাশিং ম্যানেজ করে, তাই getToken()-এর প্রয়োগে
সবসময় নতুন টোকেন পান।
Kotlin
class YourCustomAppCheckToken( private val token: String, private val expiration: Long, ) : AppCheckToken() { override fun getToken(): String = token override fun getExpireTimeMillis(): Long = expiration } class YourCustomAppCheckProvider(firebaseApp: FirebaseApp) : AppCheckProvider { override fun getToken(): Task<AppCheckToken> { // Logic to exchange proof of authenticity for an App Check token and // expiration time. // ... // Refresh the token early to handle clock skew. val expMillis = expirationFromServer * 1000L - 60000L // Create AppCheckToken object. val appCheckToken: AppCheckToken = YourCustomAppCheckToken(tokenFromServer, expMillis) return Tasks.forResult(appCheckToken) } }
Java
public class YourCustomAppCheckToken extends AppCheckToken { private String token; private long expiration; YourCustomAppCheckToken(String token, long expiration) { this.token = token; this.expiration = expiration; } @NonNull @Override public String getToken() { return token; } @Override public long getExpireTimeMillis() { return expiration; } } public class YourCustomAppCheckProvider implements AppCheckProvider { public YourCustomAppCheckProvider(FirebaseApp firebaseApp) { // ... } @NonNull @Override public Task<AppCheckToken> getToken() { // Logic to exchange proof of authenticity for an App Check token and // expiration time. // ... // Refresh the token early to handle clock skew. long expMillis = expirationFromServer * 1000L - 60000L; // Create AppCheckToken object. AppCheckToken appCheckToken = new YourCustomAppCheckToken(tokenFromServer, expMillis); return Tasks.forResult(appCheckToken); } }
এছাড়াও, একটি AppCheckProviderFactory ক্লাস প্রয়োগ করুন যা আপনার
AppCheckProvider প্রয়োগের ইনস্ট্যান্স তৈরি করে:
Kotlin
class YourCustomAppCheckProviderFactory : AppCheckProviderFactory { override fun create(firebaseApp: FirebaseApp): AppCheckProvider { // Create and return an AppCheckProvider object. return YourCustomAppCheckProvider(firebaseApp) } }
Java
public class YourCustomAppCheckProviderFactory implements AppCheckProviderFactory { @NonNull @Override public AppCheckProvider create(@NonNull FirebaseApp firebaseApp) { // Create and return an AppCheckProvider object. return new YourCustomAppCheckProvider(firebaseApp); } }
৩. App Check শুরু করুন
আপনার অ্যাপে নিম্নলিখিত ইনিশিয়ালাইজেশন কোড যোগ করুন যাতে অন্য কোনও Firebase SDK ব্যবহার করার আগে এটি রান করে:
Kotlin
Firebase.initialize(context) Firebase.appCheck.installAppCheckProviderFactory( YourCustomAppCheckProviderFactory(), )
Java
FirebaseApp.initializeApp(/*context=*/ context); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( new YourCustomAppCheckProviderFactory());
পরবর্তী ধাপ
আপনার অ্যাপে 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 ব্যবহার করুন দেখুন।