Android এ একটি কাস্টম প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করা শুরু করুন

এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে আপনার কাস্টম App Check প্রদানকারী ব্যবহার করে একটি অ্যান্ড্রয়েড অ্যাপে App Check সক্ষম করবেন। যখন আপনি App Check সক্ষম করেন, তখন আপনি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রকল্পের ফায়ারবেস রিসোর্স অ্যাক্সেস করতে পারে।

আপনি যদি ডিফল্ট প্লে ইন্টিগ্রিটি প্রদানকারীর সাথে App Check ব্যবহার করতে চান, তাহলে অ্যান্ড্রয়েডে প্লে ইন্টিগ্রিটি দিয়ে App Check সক্ষম করুন দেখুন।

শুরু করার আগে

১. আপনার অ্যাপে App Check লাইব্রেরি যোগ করুন

আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts অথবা <project>/<app-module>/build.gradle ), অ্যান্ড্রয়েডের জন্য App Check লাইব্রেরির জন্য নির্ভরতা যোগ করুন। লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে আমরা Firebase Android BoM ব্যবহার করার পরামর্শ দিই।

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.5.0"))

    // 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:19.0.1")
}

2. 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 মেট্রিক্স দেখতে পারেন:

App Check এনফোর্সমেন্ট সক্ষম করুন

যখন আপনি বুঝতে পারবেন যে App Check আপনার ব্যবহারকারীদের কীভাবে প্রভাবিত করবে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত, তখন আপনি App Check এনফোর্সমেন্ট সক্ষম করতে পারেন:

ডিবাগ পরিবেশে App Check ব্যবহার করুন

যদি, App Check জন্য আপনার অ্যাপটি নিবন্ধিত করার পরে, আপনি এমন একটি পরিবেশে আপনার অ্যাপটি চালাতে চান যা App Check সাধারণত বৈধ হিসাবে শ্রেণীবদ্ধ করে না, যেমন ডেভেলপমেন্টের সময় একটি এমুলেটর, অথবা একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশ থেকে, তাহলে আপনি আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা একটি প্রকৃত প্রত্যয়ন প্রদানকারীর পরিবর্তে App Check ডিবাগ প্রদানকারী ব্যবহার করে।

অ্যান্ড্রয়েডে ডিবাগ প্রদানকারীর সাথে App Check ব্যবহার করুন দেখুন।