Secrets Gradle প্লাগ-ইন

Google অত্যন্ত জোরালোভাবে সাজেস্ট করে যে আপনি নিজের ভার্সন কন্ট্রোল সিস্টেমে কোনও API কী চেক-ইন করবেন না। পরিবর্তে, এটি একটি লোকাল secrets.properties ফাইলে স্টোর করুন, যা আপনার প্রজেক্টের রুট ডিরেক্টরিতে থাকে, কিন্তু ভার্সন কন্ট্রোল থেকে বাদ দেওয়া হয় এবং তারপরে API কী রিড করতে Android-এর জন্য Secrets Gradle Plugin ব্যবহার করুন।

Android-এর জন্য Secrets Gradle প্লাগ-ইন, API কী সহ সিক্রেট পড়ে এমন একটি প্রপার্টি ফাইল থেকে যা ভার্সন কন্ট্রোল সিস্টেমে চেক-ইন করা হয় না। প্লাগ-ইন তখন Gradle-জেনারেটেড BuildConfig ক্লাস এবং Android ম্যানিফেস্ট ফাইলে ভেরিয়েবল হিসেবে সেইসব প্রপার্টি দেখায়।

API key অ্যাক্সেস করার জন্য Android-এর জন্য Secrets Gradle প্লাগ-ইন ব্যবহার করার সম্পূর্ণ উদাহরণ দেখতে, Android Studio প্রোজেক্ট সেট-আপ করুন দেখুন।

ইনস্টলেশন ও ব্যবহার

Android-এর জন্য Secrets Gradle প্লাগ-ইন ইনস্টল করতে এবং আপনার API key স্টোর করতে:

  1. Android Studio-তে, আপনার টপ-লেভেল build.gradle.kts বা build.gradle ফাইল খুলুন এবং plugins ব্লকে নিম্নলিখিত কোড যোগ করুন।

    Kotlin

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
    }

    Groovy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. আপনার মডিউল-লেভেল build.gradle.kts বা build.gradle ফাইল খুলুন এবং নিম্নলিখিত কোডটি plugins এলিমেন্টে যোগ করুন।

    Kotlin

    plugins {
        id("com.android.application")
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    Groovy

    plugins {
        id 'com.android.application'
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. আপনি Android Studio ব্যবহার করলে, Gradle-এর সাথে আপনার প্রোজেক্ট সিঙ্ক করুন।
  4. আপনার টপ-লেভেল ডিরেক্টরিতে secrets.properties ফাইলটি খুলুন, এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন। YOUR_API_KEY-এর জায়গায় আপনার API key লিখুন। আপনার .gitignore ফাইলে secrets.properties যোগ করতে ভুলবেন না (অথবা আপনার ভার্সন কন্ট্রোল সিস্টেম থেকে এটি বাদ দিন) যাতে আপনি ভার্সন কন্ট্রোলে আপনার API কী চেক না করেন।
    PLACES_API_KEY=YOUR_API_KEY
  5. আপনার টপ-লেভেল ডিরেক্টরিতে local.defaults.properties ফাইল তৈরি করুন, secrets.properties ফাইলের মতো একই ফোল্ডার এবং তারপর নিম্নলিখিত কোড যোগ করুন।

    PLACES_API_KEY=DEFAULT_API_KEY

    secrets.properties ফাইলটি খুঁজে না পাওয়া গেলে, API কী-এর জন্য ব্যাক-আপ লোকেশন প্রদান করাই এই ফাইলের উদ্দেশ্য, যাতে বিল্ড ফেল না করে। আপনি যদি এমন কোনও ভার্সন কন্ট্রোল সিস্টেম থেকে অ্যাপ ক্লোন করেন যা secrets.properties বাদ দেয় এবং আপনি এখনও API কী প্রদান করার জন্য স্থানীয়ভাবে secrets.properties ফাইল তৈরি না করে থাকেন, তাহলে এটি হতে পারে।

  6. Android Studio-তে, আপনার মডিউল-লেভেল build.gradle.kts বা build.gradle ফাইল খুলুন এবং secrets প্রপার্টি এডিট করুন। secrets প্রপার্টি না থাকলে, এটি যোগ করুন।

    propertiesFileName থেকে "secrets.properties", সেট defaultPropertiesFileName থেকে "local.defaults.properties" এবং অন্য যেকোনও প্রপার্টি সেট করতে প্লাগ-ইনের প্রপার্টি এডিট করুন।

    Kotlin

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file).
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }

    Groovy

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file).
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }

এর পরে কী করতে হবে