সিক্রেটস গ্রেডল প্লাগইন

গুগল দৃঢ়ভাবে পরামর্শ দেয় যে আপনি আপনার ভার্সন কন্ট্রোল সিস্টেমে কোনো এপিআই কী (API key) চেক ইন করবেন না। এর পরিবর্তে, আপনার উচিত এটি একটি লোকাল secrets.properties ফাইলে সংরক্ষণ করা, যা আপনার প্রোজেক্টের রুট ডিরেক্টরিতে অবস্থিত কিন্তু ভার্সন কন্ট্রোলের আওতার বাইরে থাকে, এবং তারপর এপিআই কী-টি পড়ার জন্য অ্যান্ড্রয়েডের জন্য Secrets Gradle Plugin ব্যবহার করা।

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

অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন ব্যবহার করে এপিআই কী অ্যাক্সেস করার একটি সম্পূর্ণ উদাহরণের জন্য, "একটি অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট সেট আপ করুন" দেখুন।

স্থাপন এবং ব্যবহার

অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন ইনস্টল করতে এবং আপনার এপিআই কী সংরক্ষণ করতে:

  1. অ্যান্ড্রয়েড স্টুডিওতে, আপনার রুট-লেভেলের build.gradle ফাইলটি খুলুন এবং buildscript অধীনে dependencies এলিমেন্টে নিম্নলিখিত কোডটি যোগ করুন।

    গ্রুভি

    buildscript {
        dependencies {
            // ...
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }

    কোটলিন

    buildscript {
        dependencies {
            // ...
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }
  2. আপনার অ্যাপ-লেভেলের build.gradle ফাইলটি খুলুন এবং plugins এলিমেন্টে নিম্নলিখিত কোডটি যোগ করুন।

    গ্রুভি

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

    কোটলিন

    plugins {
        id("com.android.application")
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. আপনি যদি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করেন, তাহলে আপনার প্রজেক্টটি গ্রেডলের সাথে সিঙ্ক করুন
  4. আপনার প্রজেক্ট লেভেল ডিরেক্টরিতে থাকা local.properties ফাইলটি খুলুন এবং নিচের কোডটি যোগ করুন। YOUR_API_KEY এর জায়গায় আপনার API কী বসান।
    MAPS_API_KEY=YOUR_API_KEY
  5. আপনার 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}" />
        

    দ্রষ্টব্য: এপিআই কী-এর জন্য com.google.android.geo.API_KEY হলো প্রস্তাবিত মেটাডেটা নাম। এই নামের একটি কী অ্যান্ড্রয়েড প্ল্যাটফর্মে একাধিক গুগল ম্যাপস-ভিত্তিক এপিআই-তে প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে, যার মধ্যে অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে-ও অন্তর্ভুক্ত। পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যের জন্য, এপিআইটি com.google.android.maps.v2.API_KEY নামটি সমর্থন করে। এই পুরোনো নামটি শুধুমাত্র অ্যান্ড্রয়েড ম্যাপস এপিআই v2-তে প্রমাণীকরণের অনুমতি দেয়। একটি অ্যাপ্লিকেশন এপিআই কী মেটাডেটা নামগুলোর মধ্যে শুধুমাত্র একটি নির্দিষ্ট করতে পারে। যদি উভয়ই নির্দিষ্ট করা হয়, তাহলে এপিআই একটি ব্যতিক্রমী ত্রুটি (exception) দেখায়।

এরপর কী?