এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে আপনার কাস্টম অ্যাপ চেক প্রদানকারী ব্যবহার করে একটি Android অ্যাপে অ্যাপ চেক সক্ষম করবেন। আপনি যখন অ্যাপ চেক সক্ষম করেন, তখন আপনি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপ আপনার প্রকল্পের ফায়ারবেস সংস্থান অ্যাক্সেস করতে পারে।
আপনি যদি ডিফল্ট প্লে ইন্টিগ্রিটি প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করতে চান, তাহলে অ্যান্ড্রয়েডে প্লে ইন্টিগ্রিটির সাথে অ্যাপ চেক সক্ষম করুন দেখুন।
তুমি শুরু করার আগে
আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আপনার Android প্রকল্পে Firebase যোগ করুন ।
আপনার কাস্টম অ্যাপ চেক প্রদানকারীর সার্ভার-সাইড লজিক প্রয়োগ করুন ৷
1. আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি যোগ করুন
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইল (সাধারণত<project>/<app-module>/build.gradle.kts
বা <project>/<app-module>/build.gradle
), অ্যাপ চেকের জন্য নির্ভরতা যোগ করুন অ্যান্ড্রয়েডের জন্য লাইব্রেরি। আমরা লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে Firebase Android BoM ব্যবহার করার পরামর্শ দিই।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.1")) // 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 লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন, আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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:17.1.2") }
2. অ্যাপ চেক ইন্টারফেস প্রয়োগ করুন
প্রথমত, আপনাকে এমন ক্লাস তৈরি করতে হবে যা AppCheckProvider
এবং AppCheckProviderFactory
ইন্টারফেসগুলিকে বাস্তবায়ন করে।
আপনার AppCheckProvider
শ্রেণীতে অবশ্যই একটি getToken()
পদ্ধতি থাকতে হবে, যা সত্যতার প্রমাণ হিসাবে আপনার কাস্টম অ্যাপ চেক প্রদানকারীর প্রয়োজনীয় তথ্য সংগ্রহ করে এবং একটি অ্যাপ চেক টোকেনের বিনিময়ে আপনার টোকেন অধিগ্রহণ পরিষেবাতে পাঠায়। অ্যাপ চেক SDK টোকেন ক্যাশিং পরিচালনা করে, তাই আপনার getToken()
বাস্তবায়নে সর্বদা একটি নতুন টোকেন পান।
Kotlin+KTX
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+KTX
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); } }
3. অ্যাপ চেক শুরু করুন
আপনার অ্যাপে নিম্নলিখিত আরম্ভ করার কোড যোগ করুন যাতে আপনি অন্য কোনো Firebase SDK ব্যবহার করার আগে এটি চলে যায়:
Kotlin+KTX
Firebase.initialize(context) Firebase.appCheck.installAppCheckProviderFactory( YourCustomAppCheckProviderFactory(), )
Java
FirebaseApp.initializeApp(/*context=*/ context); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( new YourCustomAppCheckProviderFactory());
পরবর্তী পদক্ষেপ
একবার আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি ইনস্টল হয়ে গেলে, আপডেট করা অ্যাপটি আপনার ব্যবহারকারীদের কাছে বিতরণ করা শুরু করুন।
আপডেট হওয়া ক্লায়েন্ট অ্যাপটি Firebase-এ করা প্রতিটি অনুরোধের সাথে অ্যাপ চেক টোকেন পাঠাতে শুরু করবে, কিন্তু Firebase পণ্যগুলির টোকেন বৈধ হওয়ার প্রয়োজন হবে না যতক্ষণ না আপনি Firebase কনসোলের অ্যাপ চেক বিভাগে এনফোর্সমেন্ট চালু করেন।
মেট্রিক্স নিরীক্ষণ এবং প্রয়োগ সক্ষম
আপনি এনফোর্সমেন্ট সক্ষম করার আগে, তবে, আপনাকে নিশ্চিত করতে হবে যে এটি করা আপনার বিদ্যমান বৈধ ব্যবহারকারীদের ব্যাহত করবে না। অন্যদিকে, আপনি যদি আপনার অ্যাপ সংস্থানগুলির সন্দেহজনক ব্যবহার দেখতে পান তবে আপনি শীঘ্রই এনফোর্সমেন্ট সক্ষম করতে চাইতে পারেন৷
এই সিদ্ধান্ত নিতে সাহায্য করতে, আপনি যে পরিষেবাগুলি ব্যবহার করেন তার জন্য অ্যাপ চেক মেট্রিক্স দেখতে পারেন:
- রিয়েলটাইম ডাটাবেস, ক্লাউড ফায়ারস্টোর, ক্লাউড স্টোরেজ এবং প্রমাণীকরণ (বিটা) এর জন্য অ্যাপ চেক অনুরোধের মেট্রিক্স মনিটর করুন ।
- ক্লাউড ফাংশনের জন্য অ্যাপ চেক রিকোয়েস্ট মেট্রিক্স মনিটর করুন ।
অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করুন
যখন আপনি বুঝতে পারবেন কিভাবে অ্যাপ চেক আপনার ব্যবহারকারীদের প্রভাবিত করবে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত, আপনি অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করতে পারেন:
- রিয়েলটাইম ডেটাবেস, ক্লাউড ফায়ারস্টোর, ক্লাউড স্টোরেজ এবং প্রমাণীকরণ (বিটা) এর জন্য অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করুন ।
- ক্লাউড ফাংশনের জন্য অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করুন ৷
ডিবাগ পরিবেশে অ্যাপ চেক ব্যবহার করুন
যদি, আপনি অ্যাপ চেকের জন্য আপনার অ্যাপ নিবন্ধন করার পরে, আপনি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা অ্যাপ চেক সাধারণত বৈধ হিসাবে শ্রেণীবদ্ধ করে না, যেমন ডেভেলপমেন্টের সময় একটি এমুলেটর, বা একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশ থেকে, আপনি করতে পারেন আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করুন যা প্রকৃত সত্যায়ন প্রদানকারীর পরিবর্তে অ্যাপ চেক ডিবাগ প্রদানকারী ব্যবহার করে।
অ্যান্ড্রয়েডে ডিবাগ প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করুন দেখুন।