Android-এ Play Integrity-এর সাথে অ্যাপ চেক ব্যবহার শুরু করুন

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

Play Integrity প্রদানকারী এমন Android অ্যাপগুলিকে সমর্থন করে যা Google Play তে, Google Play এর বাইরে, অথবা উভয় ক্ষেত্রেই প্রকাশিত হয়। যদি আপনার ব্যবহারের ক্ষেত্রে Play Integrity বৈশিষ্ট্যগুলির প্রয়োজন হয় যা App Check দ্বারা বাস্তবায়িত হয় না, অথবা আপনি যদি আপনার নিজস্ব কাস্টম প্রদানকারীর সাথে App Check ব্যবহার করতে চান, তাহলে একটি কাস্টম App Check প্রদানকারী বাস্তবায়ন করুন দেখুন।

১. আপনার ফায়ারবেস প্রকল্প সেট আপ করুন

  1. যদি আপনি ইতিমধ্যেই আপনার অ্যান্ড্রয়েড প্রজেক্টে Firebase যোগ না করে থাকেন, তাহলে তা যোগ করুন

  2. Play Integrity API সক্ষম করুন:

    1. গুগল প্লে কনসোলে , আপনার অ্যাপটি নির্বাচন করুন, অথবা যদি আপনি ইতিমধ্যে এটি না করে থাকেন তবে এটি যোগ করুন।

    2. রিলিজ বিভাগে, অ্যাপ ইন্টিগ্রিটি ক্লিক করুন।

    3. পৃষ্ঠার Play Integrity API বিভাগে যান, Link Cloud project এ ক্লিক করুন, তারপর Google Cloud project এর তালিকা থেকে আপনার Firebase project নির্বাচন করুন। আপনি এখানে যে প্রজেক্টটি নির্বাচন করবেন সেটি অবশ্যই সেই Firebase প্রজেক্ট হতে হবে যেখানে আপনি আপনার অ্যাপটি নিবন্ধন করবেন (পরবর্তী ধাপ দেখুন)।

  3. Firebase কনসোলের App Check বিভাগে Play Integrity প্রদানকারীর সাথে App Check ব্যবহার করার জন্য আপনার অ্যাপগুলি নিবন্ধন করুন। আপনাকে আপনার অ্যাপের স্বাক্ষর শংসাপত্রের SHA-256 ফিঙ্গারপ্রিন্ট প্রদান করতে হবে।

    সাধারণত আপনার প্রোজেক্টের সমস্ত অ্যাপ নিবন্ধন করতে হয়, কারণ একবার আপনি একটি Firebase পণ্যের জন্য এনফোর্সমেন্ট সক্ষম করলে, শুধুমাত্র নিবন্ধিত অ্যাপগুলিই পণ্যের ব্যাকএন্ড রিসোর্স অ্যাক্সেস করতে পারবে।

  4. ঐচ্ছিক : অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারী কর্তৃক ইস্যু করা App Check টোকেনের জন্য একটি কাস্টম টাইম-টু-লাইভ (TTL) সেট করুন। আপনি 30 মিনিট থেকে 7 দিনের মধ্যে যেকোনো মান TTL সেট করতে পারেন। এই মান পরিবর্তন করার সময়, নিম্নলিখিত ট্রেডঅফগুলি সম্পর্কে সচেতন থাকুন:

    • নিরাপত্তা: ছোট TTL গুলি শক্তিশালী নিরাপত্তা প্রদান করে, কারণ এটি সেই উইন্ডোটি হ্রাস করে যেখানে কোনও ফাঁস হওয়া বা আটকানো টোকেন আক্রমণকারী দ্বারা অপব্যবহার করা যেতে পারে।
    • পারফরম্যান্স: ছোট TTL মানে আপনার অ্যাপ আরও ঘন ঘন অ্যাটেস্টেশন করবে। যেহেতু অ্যাপ অ্যাটেস্টেশন প্রক্রিয়াটি প্রতিবার সম্পাদিত হওয়ার সময় নেটওয়ার্ক অনুরোধগুলিতে ল্যাটেন্সি যোগ করে, তাই একটি ছোট TTL আপনার অ্যাপের কর্মক্ষমতাকে প্রভাবিত করতে পারে।
    • কোটা এবং খরচ: সংক্ষিপ্ত TTL এবং ঘন ঘন পুনঃপ্রত্যয়নের ফলে আপনার কোটা দ্রুত শেষ হয়ে যায় এবং অর্থপ্রদানের পরিষেবার জন্য, সম্ভবত আরও বেশি খরচ হতে পারে। কোটা এবং সীমা দেখুন।

    বেশিরভাগ অ্যাপের জন্য ১ ঘন্টার ডিফল্ট TTL যুক্তিসঙ্গত। মনে রাখবেন যে App Check লাইব্রেরি TTL সময়কালের প্রায় অর্ধেক সময়ে টোকেন রিফ্রেশ করে।

উন্নত সেটিংস কনফিগার করুন (ঐচ্ছিক)

App Check উন্নত ব্যবহারের ক্ষেত্রে সহায়তা করার জন্য বেশ কয়েকটি সেটিংস অফার করে, যার মধ্যে রয়েছে গুগল প্লে-এর বাইরে আপনার অ্যাপ বিতরণ করা। আপনি আপনার প্রতিটি অ্যান্ড্রয়েড অ্যাপের জন্য Firebase কনসোলের App Check বিভাগে এই সেটিংস কনফিগার করতে পারেন। আমরা সুপারিশ করছি যে আপনি যখন প্রথমবার আপনার অ্যাপ নিবন্ধন করবেন তখন নিম্নলিখিত টেবিল অনুসারে এই সেটিংস কনফিগার করুন।

আপনার অ্যাপের বিতরণ চ্যানেল PLAY_RECOGNIZED এর বিবরণ লাইসেন্সপ্রাপ্ত ন্যূনতম গ্রহণযোগ্য ডিভাইসের অখণ্ডতা স্তর
একচেটিয়াভাবে গুগল প্লেতে প্রয়োজনীয় প্রয়োজনীয় ডিভাইসের অখণ্ডতার স্তর স্পষ্টভাবে পরীক্ষা করবেন না
একচেটিয়াভাবে 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 থেকে অপ্ট ইন করতে হবে।

2. আপনার অ্যাপে 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.4.0"))

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

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

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

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

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

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

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