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

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

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

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

বেশিরভাগ ক্ষেত্রে App Check ব্যবহার করার সাজেশন দেওয়া হয়, তবে নিম্নলিখিত ক্ষেত্রে App Check-এর প্রয়োজন হয় না বা এটি কাজ করে না:

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

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

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

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

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

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

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

আপনার ইন্টিগ্রেশন প্ল্যান করার সময় কিছু বিষয় বিবেচনা করতে হবে:

  • আমরা যে অ্যাটেস্টেশন প্রদানকারী সাজেস্ট করি, Play Integrity, তার স্ট্যান্ডার্ড API ব্যবহার টিয়ারের জন্য দৈনিক কল সীমা আছে। কলের সীমা সম্পর্কে আরও তথ্যের জন্য, Google Play Integrity ডেভেলপার ডকুমেন্টেশনের সেট-আপ পৃষ্ঠা দেখুন।

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

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

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

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

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

  • Places SDK-এর 4.1 বা তার পরবর্তী ভার্সন ইন্টিগ্রেট করা আছে এমন অ্যাপ।
  • আপনার অ্যাপের জন্য SHA-256 ফিঙ্গারপ্রিন্ট।
  • আপনার অ্যাপের প্যাকেজের নাম।
  • আপনাকে Cloud Console-এ অ্যাপের মালিক হতে হবে।
  • Cloud Console থেকে আপনার অ্যাপের প্রোজেক্ট আইডি প্রয়োজন হবে

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

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

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

ডিফল্ট অ্যাটেস্টেশন প্রদানকারী, Play Integrity ব্যবহার করার ব্যাপারে তথ্যের জন্য, Android-এ Play Integrity-এর সাথে App Check ব্যবহার করা শুরু করুন দেখুন।

  1. আপনি আগে থেকে না করে থাকলে, আপনার অ্যাপে Places SDK ইন্টিগ্রেট করুন।
  2. এরপর, App Check ও Places ক্লায়েন্ট শুরু করুন।

    // 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) এনভায়রনমেন্টে চালাতে চান, তাহলে আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা সঠিক App Check টোকেন পাওয়ার জন্য ডিবাগ সিক্রেট ব্যবহার করে। এটি আপনাকে ডিবাগ বিল্ডে আসল অ্যাটেস্টেশন প্রদানকারী ব্যবহার করা এড়াতে দেয়।

এমুলেটর বা টেস্ট ডিভাইসে আপনার অ্যাপ রান করতে:

  • আপনার build.gradle ফাইলে App Check লাইব্রেরি যোগ করুন।
  • আপনার ডিবাগ বিল্ডে ডিবাগ প্রোভাইডার ফ্যাক্টরি ব্যবহার করতে App Check কনফিগার করুন।
  • অ্যাপটি লঞ্চ করুন, যা একটি লোকাল ডিবাগ টোকেন তৈরি করবে। Firebase কনসোলে এই টোকেন যোগ করুন।
  • আরও তথ্য ও নির্দেশাবলীর জন্য, App Check ডকুমেন্টেশন দেখুন।

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

  • Firebase কনসোলে একটি ডিবাগ টোকেন তৈরি করুন এবং আপনার CI সিস্টেমের সুরক্ষিত কী স্টোরে এটি যোগ করুন।
  • আপনার build.gradle ফাইলে App Check লাইব্রেরি যোগ করুন।
  • ডিবাগ টোকেন ব্যবহার করার জন্য আপনার CI বিল্ড ভ্যারিয়েন্ট কনফিগার করুন।
  • আপনার টেস্ট ক্লাসে কোড র‍্যাপ করুন যার জন্য DebugAppCheckTestHelper সহ App Check টোকেন প্রয়োজন।
  • আরও তথ্য ও নির্দেশাবলীর জন্য, App Check ডকুমেন্টেশন দেখুন।

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

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

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