Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

তুমি শুরু করার আগে

1. আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি যোগ করুন

আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ), অ্যাপ চেক অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা ঘোষণা করুন:

Kotlin+KTX

dependencies {
    implementation 'com.google.firebase:firebase-appcheck:17.0.1'
}

Java

dependencies {
    implementation 'com.google.firebase:firebase-appcheck:17.0.1'
}

2. অ্যাপ চেক ইন্টারফেস প্রয়োগ করুন

প্রথমত, আপনাকে এমন ক্লাস তৈরি করতে হবে যা AppCheckProvider এবং AppCheckProviderFactory ইন্টারফেসগুলিকে বাস্তবায়ন করে।

আপনার AppCheckProvider শ্রেণীতে অবশ্যই একটি getToken() পদ্ধতি থাকতে হবে, যা সত্যতার প্রমাণ হিসাবে আপনার কাস্টম অ্যাপ চেক প্রদানকারীর প্রয়োজনীয় তথ্য সংগ্রহ করে এবং একটি অ্যাপ চেক টোকেনের বিনিময়ে আপনার টোকেন অধিগ্রহণ পরিষেবাতে পাঠায়। অ্যাপ চেক SDK টোকেন ক্যাশিং পরিচালনা করে, তাই আপনার getToken() বাস্তবায়নে সর্বদা একটি নতুন টোকেন পান।

Kotlin+KTX

class YourCustomAppCheckToken(
    private val token: String,
    private val expiration: Long
) : AppCheckToken() {
    override fun getToken(): String {
        return token
    }

    override fun getExpireTimeMillis(): Long {
        return expiration
    }
}

class YourCustomAppCheckProvider : AppCheckProvider {
    val token: Task<AppCheckToken>
        get() {
            // Logic to exchange proof of authenticity for an App Check token.
            // ...

            // Refresh the token early to handle clock skew.
            val expMillis: Long = expirationFromServer * 1000 - 60000

            // Create AppCheckToken object.
            val appCheckToken: AppCheckToken =
                    YourCustomAppCheckToken(tokenFromServer, expMillis)

            return 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 {
    @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 * 1000 - 60000;

        // Create AppCheckToken object.
        AppCheckToken appCheckToken =
                YourCustomAppCheckToken(tokenFromServer, expMillis);

        return appCheckToken;
    }
}

এছাড়াও, একটি AppCheckProviderFactory ক্লাস প্রয়োগ করুন যা আপনার AppCheckProvider বাস্তবায়নের উদাহরণ তৈরি করে:

Kotlin+KTX

class YourCustomAppCheckProviderFactory : AppCheckProviderFactory {
    fun create(firebaseApp: FirebaseApp): AppCheckProvider {
        // Create and return an AppCheckProvider object.
        return YourCustomAppCheckProvider(firebaseApp)
    }
}

Java

public class YourCustomAppCheckProviderFactory implements AppCheckProviderFactory {
  @Override
  public AppCheckProvider create(FirebaseApp firebaseApp) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(firebaseApp);
  }
}

3. অ্যাপ চেক শুরু করুন

আপনার অ্যাপে নিম্নলিখিত আরম্ভ করার কোড যোগ করুন যাতে আপনি অন্য কোনো Firebase SDK ব্যবহার করার আগে এটি চলে যায়:

Kotlin+KTX

FirebaseApp.initializeApp(/*context=*/ this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
    YourCustomAppCheckProviderFactory.getInstance())

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
    YourCustomAppCheckProviderFactory.getInstance());

পরবর্তী পদক্ষেপ

একবার আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি ইনস্টল হয়ে গেলে, আপডেট করা অ্যাপটি আপনার ব্যবহারকারীদের কাছে বিতরণ করা শুরু করুন।

আপডেট হওয়া ক্লায়েন্ট অ্যাপটি Firebase-এ করা প্রতিটি অনুরোধের সাথে অ্যাপ চেক টোকেন পাঠানো শুরু করবে, কিন্তু Firebase পণ্যগুলির টোকেন বৈধ হওয়ার প্রয়োজন হবে না যতক্ষণ না আপনি Firebase কনসোলের অ্যাপ চেক বিভাগে এনফোর্সমেন্ট চালু করছেন।

মেট্রিক্স নিরীক্ষণ এবং প্রয়োগ সক্ষম

আপনি এনফোর্সমেন্ট সক্ষম করার আগে, তবে, আপনাকে নিশ্চিত করতে হবে যে এটি করা আপনার বিদ্যমান বৈধ ব্যবহারকারীদের ব্যাহত করবে না। অন্যদিকে, আপনি যদি আপনার অ্যাপ সংস্থানগুলির সন্দেহজনক ব্যবহার দেখতে পান তবে আপনি শীঘ্রই এনফোর্সমেন্ট সক্ষম করতে চাইতে পারেন৷

এই সিদ্ধান্ত নিতে সাহায্য করতে, আপনি যে পরিষেবাগুলি ব্যবহার করেন তার জন্য অ্যাপ চেক মেট্রিক্স দেখতে পারেন:

অ্যাপ চেক এনফোর্সমেন্ট সক্ষম করুন

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

ডিবাগ পরিবেশে অ্যাপ চেক ব্যবহার করুন

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

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