Google দৃঢ়ভাবে সুপারিশ করে যে আপনি আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেমে একটি API কী চেক করবেন না। পরিবর্তে, আপনার এটি একটি স্থানীয় secrets.properties
ফাইলে সংরক্ষণ করা উচিত, যা আপনার প্রকল্পের রুট ডিরেক্টরিতে অবস্থিত কিন্তু সংস্করণ নিয়ন্ত্রণ থেকে বাদ দেওয়া হয়েছে, এবং তারপর API কী পড়তে Android এর জন্য সিক্রেটস গ্রেডল প্লাগইন ব্যবহার করুন৷
অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন একটি সংস্করণ নিয়ন্ত্রণ সিস্টেমে চেক করা হয়নি এমন বৈশিষ্ট্য ফাইল থেকে API কী সহ গোপনীয়তাগুলি পড়ে। প্লাগইনটি তখন সেই বৈশিষ্ট্যগুলিকে গ্রেডল-জেনারেটেড BuildConfig
ক্লাসে এবং অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে ভেরিয়েবল হিসাবে প্রকাশ করে।
একটি API কী অ্যাক্সেস করতে Android এর জন্য সিক্রেটস গ্রেডল প্লাগইন ব্যবহারের একটি সম্পূর্ণ উদাহরণের জন্য, একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প সেট আপ করুন দেখুন।
ইনস্টলেশন এবং ব্যবহার
আপনার Google মানচিত্র প্রকল্পে Android এর জন্য Secrets Gradle Plugin ইনস্টল করতে:
- অ্যান্ড্রয়েড স্টুডিওতে, আপনার শীর্ষ-স্তরের
build.gradle.kts
বা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" } }
- আপনার মডিউল-স্তরের
build.gradle.kts
বাbuild.gradle
ফাইল খুলুন এবংplugins
উপাদানে নিম্নলিখিত কোড যোগ করুন।কোটলিন
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
গ্রোভি
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- আপনার মডিউল-স্তরের
build.gradle.kts
বাbuild.gradle
ফাইলে, নিশ্চিত করুন যেtargetSdk
এবংcompileSdk
34-এ সেট করা আছে। - ফাইলটি সংরক্ষণ করুন এবং Gradle এর সাথে আপনার প্রকল্প সিঙ্ক করুন ।
- আপনার শীর্ষ-স্তরের ডিরেক্টরিতে
secrets.properties
ফাইলটি খুলুন এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন। আপনার API কী দিয়েYOUR_API_KEY
প্রতিস্থাপন করুন। এই ফাইলে আপনার কী সংরক্ষণ করুন কারণsecrets.properties
একটি সংস্করণ নিয়ন্ত্রণ সিস্টেমে চেক করা থেকে বাদ দেওয়া হয়েছে৷PLACES_API_KEY=YOUR_API_KEY
- ফাইলটি সংরক্ষণ করুন।
আপনার শীর্ষ-স্তরের ডিরেক্টরিতে
local.defaults.properties
ফাইল তৈরি করুন,secrets.properties
ফাইলের মতো একই ফোল্ডার, এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন।PLACES_API_KEY=DEFAULT_API_KEY
এই ফাইলটির উদ্দেশ্য হল API কীটির জন্য একটি ব্যাকআপ অবস্থান প্রদান করা যদি
secrets.properties
ফাইলটি না পাওয়া যায় যাতে বিল্ডগুলি ব্যর্থ না হয়৷ এটি ঘটতে পারে যদি আপনি একটি সংস্করণ নিয়ন্ত্রণ সিস্টেম থেকে অ্যাপটিকে ক্লোন করেন যাsecrets.properties
বাদ দেয় এবং আপনি এখনও আপনার API কী প্রদান করার জন্য স্থানীয়ভাবে একটিsecrets.properties
ফাইল তৈরি করেননি।- ফাইলটি সংরক্ষণ করুন।
অ্যান্ড্রয়েড স্টুডিওতে, আপনার মডিউল-স্তরের
build.gradle.kts
বাbuild.gradle
ফাইল খুলুন এবংsecrets
সম্পত্তি সম্পাদনা করুন।secrets
সম্পত্তি বিদ্যমান না থাকলে, এটি যোগ করুন।secrets.properties
এpropertiesFileName
সেট করতে প্লাগইনের বৈশিষ্ট্যগুলি সম্পাদনা করুন,defaultPropertiesFileName
tolocal.defaults.properties
সেট করুন এবং অন্য কোনো বৈশিষ্ট্য সেট করুন।কোটলিন
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
গ্রোভি
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
এরপর কি
- অ্যান্ড্রয়েড গিটহাব প্রকল্প পৃষ্ঠার জন্য সিক্রেটস গ্রেডল প্লাগইন দেখুন।
- প্লাগইন ব্যবহার করার একটি সম্পূর্ণ উদাহরণের জন্য একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প সেট আপ করুন।