Secrets Gradle প্লাগ-ইন

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

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

API কী অ্যাক্সেস করার জন্য Android-এর জন্য Secrets Gradle Plugin ব্যবহার করার সম্পূর্ণ উদাহরণ দেখতে, 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 ফাইলটি খুলুন, এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন। আপনার API key দিয়ে YOUR_API_KEY পরিবর্তন করুন। secrets.properties-কে আপনার .gitignore ফাইলে যোগ করতে (অথবা অন্যথায় আপনার ভার্সন কন্ট্রোল সিস্টেম থেকে বাদ দিতে) ভুলবেন না, যাতে আপনি ভার্সন কন্ট্রোলে আপনার API কী চেক না করেন।
    MAPS_API_KEY=YOUR_API_KEY
  5. আপনার টপ-লেভেল ডিরেক্টরিতে local.defaults.properties ফাইল তৈরি করুন, secrets.properties ফাইলের মতো একই ফোল্ডার এবং তারপর নিম্নলিখিত কোড যোগ করুন।

    MAPS_API_KEY=DEFAULT_API_KEY

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

  6. আপনার AndroidManifest.xml ফাইলে, com.google.android.geo.API_KEY-এ যান এবং android:value অ্যাট্রিবিউটটি এইভাবে আপডেট করুন:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

    মনে রাখবেন: API কী-এর জন্য সাজেস্ট করা মেটাডেটার নাম হল com.google.android.geo.API_KEY। এই নামের একটি 'কী' ব্যবহার করে Android প্ল্যাটফর্মে Google Maps-ভিত্তিক একাধিক API-এর যাচাইকরণ করা যেতে পারে, যার মধ্যে Maps SDK for Android অন্তর্ভুক্ত। ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য, API-তে com.google.android.maps.v2.API_KEY নামও কাজ করে। এই পুরনো নামটি শুধুমাত্র Android Maps API v2-এর জন্য যাচাইকরণ করতে দেয়। কোনও অ্যাপ্লিকেশন API কী মেটাডেটা নামের মধ্যে শুধুমাত্র একটি নাম উল্লেখ করতে পারে। দুটিই উল্লেখ করা থাকলে, API একটি ব্যতিক্রম দেখায়।

  7. 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"
    }

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