আপনার API কী সুরক্ষিত করতে অ্যাপ চেক ব্যবহার করুন
Firebase অ্যাপ চেক আপনার অ্যাপ থেকে Google Maps প্ল্যাটফর্মে কলের জন্য সুরক্ষা প্রদান করে, বৈধ অ্যাপ ব্যতীত অন্য উৎস থেকে আসা ট্র্যাফিক ব্লক করে। এটি Play Integrity এর মতো একটি প্রত্যয়ন প্রদানকারীর কাছ থেকে একটি টোকেন পরীক্ষা করে এটি করে। অ্যাপ চেকের সাথে আপনার অ্যাপগুলিকে একীভূত করা ক্ষতিকারক অনুরোধ থেকে রক্ষা করতে সাহায্য করে, তাই আপনাকে অননুমোদিত API কলের জন্য চার্জ করা হয় না।
অ্যাপ চেক কি আমার জন্য সঠিক?
বেশিরভাগ ক্ষেত্রেই অ্যাপ চেক করার পরামর্শ দেওয়া হয়, তবে নিম্নলিখিত ক্ষেত্রে অ্যাপ চেকের প্রয়োজন হয় না বা সমর্থিত হয় না:
- আপনি আসল Places SDK ব্যবহার করছেন। অ্যাপ চেক শুধুমাত্র Places SDK (নতুন) এর জন্য সমর্থিত ।
 - ব্যক্তিগত বা পরীক্ষামূলক অ্যাপ। যদি আপনার অ্যাপটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য না হয়, তাহলে অ্যাপ চেকের প্রয়োজন নেই।
 - যদি আপনার অ্যাপটি শুধুমাত্র সার্ভার-টু-সার্ভার ব্যবহার করা হয়, তাহলে অ্যাপ চেকের প্রয়োজন নেই। তবে, যদি GMP-এর সাথে যোগাযোগকারী সার্ভারটি পাবলিক ক্লায়েন্ট (যেমন মোবাইল অ্যাপ) দ্বারা ব্যবহৃত হয়, তাহলে GMP-এর পরিবর্তে সেই সার্ভারটিকে সুরক্ষিত করার জন্য অ্যাপ চেক ব্যবহার করার কথা বিবেচনা করুন।
 - অ্যাপ চেকের প্রস্তাবিত প্রত্যয়ন প্রদানকারীরা আপনার প্রত্যয়ন প্রদানকারীর দ্বারা আপোস করা বা অবিশ্বস্ত বলে বিবেচিত ডিভাইসগুলিতে কাজ করবে না। যদি আপনার এই ধরণের ডিভাইসগুলিকে সমর্থন করার প্রয়োজন হয়, তাহলে আপনি একটি কাস্টম প্রত্যয়ন পরিষেবা স্থাপন করতে পারেন। আরও তথ্যের জন্য, নির্দেশাবলী দেখুন।
 
বাস্তবায়ন পদক্ষেপের সারসংক্ষেপ
উচ্চ স্তরে, অ্যাপ চেকের সাথে আপনার অ্যাপটি সংহত করার জন্য আপনাকে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:
- আপনার অ্যাপে Firebase যোগ করুন।
 - অ্যাপ চেক লাইব্রেরি যোগ করুন এবং আরম্ভ করুন।
 - টোকেন প্রদানকারী যোগ করুন।
 - ডিবাগিং সক্ষম করুন।
 - আপনার অ্যাপের অনুরোধগুলি পর্যবেক্ষণ করুন এবং প্রয়োগের সিদ্ধান্ত নিন।
 
অ্যাপ চেকের সাথে ইন্টিগ্রেট করার পর, আপনি ফায়ারবেস কনসোলে ব্যাকএন্ড ট্র্যাফিক মেট্রিক্স দেখতে সক্ষম হবেন। এই মেট্রিক্সগুলি অনুরোধগুলির সাথে একটি বৈধ অ্যাপ চেক টোকেন আছে কিনা তার উপর ভিত্তি করে তাদের বিভাজন প্রদান করে। আরও তথ্যের জন্য ফায়ারবেস অ্যাপ চেক ডকুমেন্টেশন দেখুন।
যখন আপনি নিশ্চিত হন যে বেশিরভাগ অনুরোধ বৈধ উৎস থেকে এসেছে এবং ব্যবহারকারীরা আপনার অ্যাপের সর্বশেষ সংস্করণে আপডেট করেছেন যাতে আপনার অ্যাপ চেক বাস্তবায়ন অন্তর্ভুক্ত রয়েছে, তখন আপনি এনফোর্সমেন্ট চালু করতে পারেন। একবার এনফোর্সমেন্ট চালু হয়ে গেলে, অ্যাপ চেক একটি বৈধ অ্যাপ চেক টোকেন ছাড়াই সমস্ত ট্র্যাফিক প্রত্যাখ্যান করবে।
অ্যাপ চেক ইন্টিগ্রেশন পরিকল্পনা করার সময় বিবেচ্য বিষয়গুলি
আপনার ইন্টিগ্রেশন পরিকল্পনা করার সময় এখানে কিছু বিষয় বিবেচনা করতে হবে:
আমরা যে প্রত্যয়ন প্রদানকারীর সুপারিশ করছি, Play Integrity , তার স্ট্যান্ডার্ড API ব্যবহারের স্তরের জন্য একটি দৈনিক কল সীমা নির্ধারণ করে। কল সীমা সম্পর্কে আরও তথ্যের জন্য, Google Play Integrity ডেভেলপার ডকুমেন্টেশনে সেটআপ পৃষ্ঠাটি দেখুন।
আপনি একটি কাস্টম অ্যাটেস্টেশন প্রোভাইডার ব্যবহার করতেও পারেন, যদিও এটি একটি উন্নত ব্যবহারের ক্ষেত্রে। আরও তথ্যের জন্য, একটি কাস্টম অ্যাপ চেক প্রোভাইডার বাস্তবায়ন দেখুন।
আপনার অ্যাপের ব্যবহারকারীরা স্টার্টআপে কিছু লেটেন্সি অনুভব করবেন। তবে, পরবর্তীতে, যেকোনো পর্যায়ক্রমিক পুনঃপ্রত্যয়ন ব্যাকগ্রাউন্ডে ঘটবে এবং ব্যবহারকারীরা আর কোনও লেটেন্সি অনুভব করবেন না। স্টার্টআপে লেটেন্সির সঠিক পরিমাণ আপনার বেছে নেওয়া অ্যাটেস্টেশন প্রদানকারীর উপর নির্ভর করে।
অ্যাপ চেক টোকেনটি কতক্ষণ বৈধ থাকবে ( লাইভ করার সময় , অথবা TTL) তা পুনঃপ্রত্যয়নের ফ্রিকোয়েন্সি নির্ধারণ করে। এই সময়কাল Firebase কনসোলে কনফিগার করা যেতে পারে। TTL এর প্রায় halkf অতিবাহিত হলে পুনঃপ্রত্যয়ন ঘটে। আরও তথ্যের জন্য, আপনার প্রত্যয়ন প্রদানকারীর জন্য Firebase ডক্স দেখুন।
অ্যাপ চেকের সাথে আপনার অ্যাপকে একীভূত করুন
পূর্বশর্ত এবং প্রয়োজনীয়তা
- ৪.১ বা তার পরবর্তী সংস্করণের Places SDK ইন্টিগ্রেটেড একটি অ্যাপ।
 - আপনার অ্যাপের জন্য SHA-256 ফিঙ্গারপ্রিন্ট।
 - আপনার অ্যাপের প্যাকেজের নাম।
 - আপনাকে অবশ্যই ক্লাউড কনসোলে অ্যাপটির মালিক হতে হবে।
 - আপনার ক্লাউড কনসোল থেকে অ্যাপের প্রজেক্ট আইডি প্রয়োজন হবে।
 
ধাপ ১: আপনার অ্যাপে Firebase যোগ করুন
আপনার অ্যাপে Firebase যোগ করতে Firebase ডেভেলপার ডকুমেন্টেশনের নির্দেশাবলী অনুসরণ করুন।
ধাপ ২: অ্যাপ চেক লাইব্রেরি যোগ করুন এবং অ্যাপ চেক শুরু করুন
ডিফল্ট প্রত্যয়ন প্রদানকারী, Play Integrity ব্যবহার সম্পর্কে তথ্যের জন্য, Android-এ Play Integrity দিয়ে অ্যাপ চেক ব্যবহার শুরু করুন দেখুন।
- যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যাপে Places SDK ইন্টিগ্রেট করুন ।
 এরপর, অ্যাপ চেক এবং প্লেসেস ক্লায়েন্ট শুরু করুন।
// Initialize App Check FirebaseApp.initializeApp(/* context= */ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance()); // Initialize Places SDK Places.initializeWithNewPlacesApiEnabled(context, API_KEY); PlacesClient client = Places.createClient(context);.
ধাপ ৩: টোকেন প্রদানকারী যোগ করুন
 Places API আরম্ভ করার পর, PlacesAppCheckTokenProvider সেট করতে setPlacesAppCheckTokenProvider() কল করুন।
Places.initializeWithNewPlacesApiEnabled(context, API_KEY); Places.setPlacesAppCheckTokenProvider(new TokenProvider()); PlacesClient client = Places.createClient(context);.
এখানে টোকেন ফেচার ইন্টারফেসের একটি নমুনা বাস্তবায়ন রয়েছে:
/** Sample client implementation of App Check token fetcher interface. */ static class TokenProvider implements PlacesAppCheckTokenProvider { @Override public ListenableFuture<String> fetchAppCheckToken() { SettableFuture<String> future = SettableFuture.create(); FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener( appCheckToken -> { future.set(appCheckToken.getToken()); }) .addOnFailureListener( ex -> { future.setException(ex); }); return future; } }
ধাপ ৪: ডিবাগিং সক্ষম করুন (ঐচ্ছিক)
আপনি যদি আপনার অ্যাপটি স্থানীয়ভাবে তৈরি এবং পরীক্ষা করতে চান, অথবা এটি একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশে চালাতে চান, তাহলে আপনি আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা বৈধ অ্যাপ চেক টোকেন পেতে একটি ডিবাগ সিক্রেট ব্যবহার করে। এটি আপনাকে আপনার ডিবাগ বিল্ডে আসল প্রত্যয়ন প্রদানকারী ব্যবহার এড়াতে দেয়।
আপনার অ্যাপটি একটি এমুলেটরে বা একটি পরীক্ষামূলক ডিভাইসে চালানোর জন্য:
-  আপনার 
build.gradleফাইলে অ্যাপ চেক লাইব্রেরি যোগ করুন। - আপনার ডিবাগ বিল্ডে ডিবাগ প্রোভাইডার ফ্যাক্টরি ব্যবহার করার জন্য অ্যাপ চেক কনফিগার করুন।
 - অ্যাপটি চালু করুন, যা একটি স্থানীয় ডিবাগ টোকেন তৈরি করবে। এই টোকেনটি Firebase কনসোলে যোগ করুন।
 - আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।
 
CI পরিবেশে আপনার অ্যাপ চালানোর জন্য:
- Firebase কনসোলে একটি ডিবাগ টোকেন তৈরি করুন এবং এটি আপনার CI সিস্টেমের সুরক্ষিত কী স্টোরে যোগ করুন।
 -  আপনার 
build.gradleফাইলে অ্যাপ চেক লাইব্রেরি যোগ করুন। - ডিবাগ টোকেন ব্যবহার করার জন্য আপনার CI বিল্ড ভেরিয়েন্টটি কনফিগার করুন।
 -  আপনার পরীক্ষার ক্লাসে এমন কোড মোড়ানোর চেষ্টা করুন যার জন্য একটি অ্যাপ চেক টোক প্রয়োজন 
DebugAppCheckTestHelperদিয়ে। - আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।
 
ধাপ ৫: আপনার অ্যাপ অনুরোধগুলি পর্যবেক্ষণ করুন এবং প্রয়োগের সিদ্ধান্ত নিন
এনফোর্সমেন্ট শুরু করার আগে, আপনাকে নিশ্চিত করতে হবে যে আপনি আপনার অ্যাপের বৈধ ব্যবহারকারীদের ব্যাহত করবেন না। এটি করার জন্য, অ্যাপ চেক মেট্রিক্স স্ক্রিনে যান এবং দেখুন আপনার অ্যাপের কত শতাংশ ট্র্যাফিক যাচাই করা হয়েছে, পুরানো, নাকি অবৈধ। একবার আপনি দেখতে পাবেন যে আপনার বেশিরভাগ ট্র্যাফিক যাচাই করা হয়েছে, আপনি এনফোর্সমেন্ট সক্ষম করতে পারেন।
আরও তথ্য এবং নির্দেশাবলীর জন্য Firebase অ্যাপ চেক ডকুমেন্টেশন দেখুন।