প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

আপনার API key সুরক্ষিত করতে অ্যাপ চেক ব্যবহার করুন

Firebase App Check আপনার অ্যাপ থেকে Google Maps Platform-এ করা কলের জন্য সুরক্ষা প্রদান করে। এটি বৈধ অ্যাপ ছাড়া অন্য সোর্স থেকে আসা ট্রাফিক ব্লক করে। এটি reCAPTCHA Enterprise-এর মতো অ্যাটেস্টেশন প্রদানকারীর থেকে টোকেন চেক করার মাধ্যমে এটি করে। আপনার অ্যাপকে App Check-এর সাথে ইন্টিগ্রেট করলে তা ক্ষতিকর অনুরোধের বিরুদ্ধে সুরক্ষা দিতে সাহায্য করে, ফলে অননুমোদিত API কলের জন্য আপনাকে চার্জ করা হয় না।

App Check কি আমার জন্য সঠিক?

বেশিরভাগ ক্ষেত্রে অ্যাপ চেক করার জন্য সাজেস্ট করা হয়, তবে নিম্নলিখিত ক্ষেত্রে অ্যাপ চেক করার প্রয়োজন নেই বা এটি কাজ করে না:

  • ব্যক্তিগত বা এক্সপেরিমেন্টাল অ্যাপ। আপনার অ্যাপ সর্বজনীনভাবে অ্যাক্সেসযোগ্য না হলে, App Check-এর প্রয়োজন নেই।
  • আপনার অ্যাপ শুধুমাত্র সার্ভার-টু-সার্ভার ব্যবহার করা হলে, App Check-এর প্রয়োজন নেই। তবে, GMP-এর সাথে যোগাযোগকারী সার্ভার যদি সর্বজনীন ক্লায়েন্ট (যেমন মোবাইল অ্যাপ) ব্যবহার করে, তাহলে GMP-এর পরিবর্তে সেই সার্ভারকে সুরক্ষিত রাখতে অ্যাপ চেক ব্যবহার করার কথা বিবেচনা করুন।

প্রয়োগ করার ধাপের ওভারভিউ

এক নজরে, App Check-এর সাথে আপনার অ্যাপ ইন্টিগ্রেট করার জন্য আপনাকে এইসব ধাপ অনুসরণ করতে হবে:

  1. আপনার অ্যাপে Firebase যোগ করুন।
  2. App Check লাইব্রেরি যোগ ও ইনিশিয়ালাইজ করুন।
  3. আপনার অ্যাপে টোকেন প্রদানকারীকে যোগ করুন।
  4. Maps JS ও App Check API চালু করুন।
  5. ডিবাগ করার সুবিধা চালু করুন।
  6. আপনার অ্যাপের অনুরোধ মনিটর করুন এবং এনফোর্সমেন্ট সম্পর্কে সিদ্ধান্ত নিন।

আপনি App Check-এর সাথে ইন্টিগ্রেট করার পরে, Firebase কনসোলে ব্যাকএন্ড ট্রাফিক মেট্রিক দেখতে পাবেন। এইসব মেট্রিক, অনুরোধের সাথে বৈধ অ্যাপ চেক টোকেন আছে কিনা সেই অনুযায়ী অনুরোধের ব্রেকডাউন প্রদান করে। আরও তথ্যের জন্য Firebase App Check ডকুমেন্টেশন দেখুন।

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

App Check ইন্টিগ্রেশন প্ল্যান করার সময় যেসব বিষয় বিবেচনা করতে হবে

ইন্টিগ্রেশন প্ল্যান করার সময় এইসব বিষয় বিবেচনা করে দেখুন:

  • আমরা যে অ্যাটেস্টেশন প্রদানকারীর সাজেশন দিই, তার মধ্যে একটি হল reCAPTCHA Enterprise, এটি প্রতি মাসে ১০,০০০-এর বেশি অ্যাসেসমেন্টের জন্য চার্জ করে।

    আমরা যে অন্য অ্যাটেস্টেশন প্রদানকারীর সাজেশন দিই, reCAPTCHA v3-এর একটি কোটা আছে, যার পরে ট্রাফিক মূল্যায়ন করা হবে না।

    আপনি কাস্টম অ্যাটেস্টেশন পরিষেবা প্রদানকারী ব্যবহার করার বিকল্প বেছে নিতে পারেন, যদিও এটি একটি উন্নত ব্যবহারিক ক্ষেত্র। আরও তথ্যের জন্য App Check ডকুমেন্টেশন দেখুন।

  • আপনার অ্যাপের ব্যবহারকারীরা স্টার্ট-আপে কিছু লেটেন্সি অনুভব করবেন। তবে, এর পরে, যেকোনও পর্যায়ক্রমিক আবার-আত্তায়ন ব্যাকগ্রাউন্ডে ঘটবে এবং ব্যবহারকারীদের আর কোনও লেটেন্সি অনুভব করতে হবে না। স্টার্ট-আপে লেটেন্সির সঠিক পরিমাণ আপনার বেছে নেওয়া অ্যাটেস্টেশন প্রদানকারীর উপর নির্ভর করে।

    App Check টোকেন কতক্ষণ বৈধ থাকে (সময়সীমা বা TTL) তা থেকে আবার অ্যাটেস্ট করার ফ্রিকোয়েন্সি নির্ধারণ করা হয়। Firebase কনসোলে এই সময়সীমা কনফিগার করা যেতে পারে। TTL-এর প্রায় অর্ধেক সময় অতিবাহিত হয়ে গেলে আবার অ্যাটেস্টেশন করতে হয়। আরও তথ্যের জন্য, আপনার অ্যাটেস্টেশন প্রদানকারীর জন্য Firebase ডকুমেন্ট দেখুন।

App Check-এর সাথে আপনার অ্যাপ ইন্টিগ্রেট করা

পূর্বশর্ত ও প্রয়োজনীয়তা

ধাপ ১: আপনার অ্যাপে Firebase যোগ করুন

আপনার অ্যাপে Firebase যোগ করতে, Firebase ডেভেলপার ডকুমেন্টে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ধাপ ২: App Check লাইব্রেরি যোগ করা এবং App Check শুরু করা

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

ধাপ ৩: Maps JS API লাইব্রেরি লোড করুন

  1. নিম্নলিখিত স্নিপেটে দেখানো পদ্ধতিতে কোর ও Maps লাইব্রেরি লোড করুন। আরও তথ্য ও নির্দেশাবলীর জন্য, Maps JavaScript API ডকুমেন্টেশন দেখুন।

    async function init() {
      const {Settings} = await google.maps.importLibrary('core');
      const {Map} = await google.maps.importLibrary('maps');
    }  

ধাপ ৪: Maps ও App Check API চালু করা

  1. Firebase কনসোলের দেওয়া কনফিগারেশন ব্যবহার করে App Check ইনিশিয়ালাইজ করুন।
  2. Maps JS API-তে করা অনুরোধের সাথে App Check টোকেন আছে কিনা তা নিশ্চিত করুন:
      import {initializeApp} from 'firebase/app';
      import {
        getToken,
        initializeAppCheck,
        ReCaptchaEnterpriseProvider,
      } from 'firebase/app-check';
        
      async function init() {
        const {Settings} = await google.maps.importLibrary('core');
        const {Map} = await google.maps.importLibrary('maps');
      
        const app = initializeApp({
          // Your firebase configuration object
        });
      
        // Pass your reCAPTCHA Enterprise site key to initializeAppCheck().
        const appCheck = initializeAppCheck(app, {
          provider: new ReCaptchaEnterpriseProvider(
            'abcdefghijklmnopqrstuvwxy-1234567890abcd',
          ),
      
          // Optional argument. If true, the SDK automatically refreshes App Check
          // tokens as needed.
          isTokenAutoRefreshEnabled: true,
        });
      
        Settings.getInstance().fetchAppCheckToken = () =>
            getToken(appCheck, /* forceRefresh = */ false);
      
        // Load a map
        map = new Map(document.getElementById("map"), {
          center: { lat: 37.4161493, lng: -122.0812166 },
          zoom: 8,
        });
      }  
      

ধাপ ৫: ডিবাগিং চালু করা (ঐচ্ছিক)

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

আপনার অ্যাপ লোকালি টেস্ট করতে:

  • ডেভেলপমেন্টের উদ্দেশ্যে ডিবাগ পরিষেবা প্রদানকারীকে অ্যাক্টিভেট করুন।
  • আপনি SDK-এর ডিবাগ লগ থেকে অটোমেটিক জেনারেট হওয়া র‍্যান্ডম UUID4 (অ্যাপ চেক সংক্রান্ত ডকুমেন্টেশনে এটিকে _ডিবাগ টোকেন_ বলা হয়) পাবেন। Firebase কনসোলে এই টোকেন যোগ করুন।
  • আরও তথ্য ও নির্দেশাবলীর জন্য, App Check ডকুমেন্টেশন দেখুন।

CI এনভায়রনমেন্টে আপনার অ্যাপ রান করাতে:

  • Firebase কনসোল থেকে একটি র‍্যান্ডম UUID4 জেনারেট করুন।
  • ডিবাগ টোকেন হিসেবে UUID4 যোগ করুন এবং তারপরে এটি একটি সিক্রেট স্টোরে কপি করুন যা CI টেস্ট প্রতিটি টেস্ট রান অনুযায়ী অ্যাক্সেস করবে।
  • আরও তথ্য ও নির্দেশাবলীর জন্য, App Check ডকুমেন্টেশন দেখুন।

ধাপ ৬: আপনার অ্যাপের অনুরোধ মনিটর করুন এবং এনফোর্সমেন্ট সম্পর্কে সিদ্ধান্ত নিন

এনফোর্সমেন্ট শুরু করার আগে, আপনার অ্যাপের বৈধ ব্যবহারকারীদের যেন কোনও অসুবিধা না হয় তা নিশ্চিত করতে হবে। এটি করতে, আপনার অ্যাপের কত শতাংশ ট্রাফিক যাচাই করা, পুরনো বা অবৈধ তা দেখতে অ্যাপ চেক মেট্রিক্স স্ক্রিনে যান। আপনার বেশিরভাগ ট্রাফিক যাচাই করা হয়েছে বলে দেখতে পেলে, আপনি এনফোর্সমেন্ট চালু করতে পারবেন।

আরও তথ্য ও নির্দেশাবলীর জন্য Firebase অ্যাপ চেক ডকুমেন্টেশন দেখুন।