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

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

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

1. আপনার Firebase প্রকল্প সেট আপ করুন৷

  1. আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আপনার Android প্রকল্পে Firebase যোগ করুন

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

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

    2. রিলিজ বিভাগে, App integrity-এ ক্লিক করুন।

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

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

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

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

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

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

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

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

আপনার অ্যাপের বিতরণ চ্যানেল PLAY_RECOGNIZED লাইসেন্সপ্রাপ্ত ন্যূনতম গ্রহণযোগ্য ডিভাইস অখণ্ডতা স্তর
একচেটিয়াভাবে Google Play তে প্রয়োজন প্রয়োজন স্পষ্টভাবে ডিভাইসের অখণ্ডতার স্তর পরীক্ষা করবেন না
একচেটিয়াভাবে Google Play এর বাইরে প্রয়োজন নেই প্রয়োজন নেই ডিভাইসের অখণ্ডতা
Google Play তে এবং 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 ), Android এর জন্য App Check লাইব্রেরির নির্ভরতা যোগ করুন। আমরা লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে Firebase Android BoM ব্যবহার করার পরামর্শ দিই।

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.2.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 লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন, আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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.0")
}

3. 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 পণ্যগুলির টোকেন বৈধ হওয়ার প্রয়োজন হবে না যতক্ষণ না আপনি Firebase কনসোলের App Check বিভাগে এনফোর্সমেন্ট চালু করেন।

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

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

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

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

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

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

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

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