এই পৃষ্ঠায় বর্ণনা করা হয়েছে যে কীভাবে কুইকস্টার্ট-এ বিস্তারিতভাবে উল্লেখ করা Google Maps টেমপ্লেট ব্যবহার না করে Android-এর জন্য Maps SDK ব্যবহার করার জন্য Android Studio প্রোজেক্ট কনফিগার করতে হয়।
Google Maps টেমপ্লেট অটোমেটিক কনফিগার করে এবং নতুন Android Studio প্রোজেক্টে একটি বেসিক ম্যাপ যোগ করে। তবে, আপনি Android প্রোজেক্টেও ম্যাপ যোগ করতে পারেন যা অন্য Android Studio টেমপ্লেট ব্যবহার করে। এটি করতে, আপনাকে ম্যানুয়ালি প্রোজেক্ট কনফিগার করতে হবে এবং তারপর ম্যাপ যোগ করতে হবে।
ধাপ ১: Android Studio সেট-আপ করা
এই ডকুমেন্ট Android Studio Hedgehog এবং Android Gradle প্লাগ-ইন ভার্সন ৮.২ ব্যবহার করে ডেভেলপমেন্ট এনভায়রনমেন্টের বর্ণনা দেয়।
ধাপ ২. SDK সেট-আপ করা
Maps SDK for Android লাইব্রেরি Google-এর Maven রিপোজিটরি-এর মাধ্যমে উপলভ্য। আপনার অ্যাপে SDK যোগ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- আপনার টপ-লেভেল
settings.gradle.ktsফাইলে,pluginManagementব্লকের অধীনে Gradle প্লাগ-ইন পোর্টাল, Google Maven রিপোজিটরি এবং Maven সেন্ট্রাল রিপোজিটরি অন্তর্ভুক্ত করুন। স্ক্রিপ্টের অন্য যেকোনও স্টেটমেন্টের আগেpluginManagementব্লকটি অবশ্যই থাকতে হবে।pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } }
- আপনার টপ-লেভেল
settings.gradle.ktsফাইলে,dependencyResolutionManagementব্লকের অধীনে Google-এর Maven রিপোজিটরি এবং Maven সেন্ট্রাল রিপোজিটরি অন্তর্ভুক্ত করুন:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() } }
- আপনার মডিউল-লেভেল
build.gradle.ktsবাbuild.gradleফাইলে, Android-এর জন্য Maps SDK-এর Google Play পরিষেবা ডিপেন্ডেন্সি যোগ করুন।Kotlin
dependencies { // Maps SDK for Android implementation(libs.play.services.maps) }
Groovy
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:20.1.0" }
- আপনার মডিউল-লেভেল
build.gradle.ktsবাbuild.gradleফাইলে,compileSdkএবংminSdk-কে নিম্নলিখিত ভ্যালুতে সেট করুন:Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
Groovy
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
- আপনার মডিউল-লেভেল
build.gradle.ktsবাbuild.gradleফাইলেরbuildFeaturesবিভাগে,BuildConfigক্লাস যোগ করুন, যা আপনি এই পদ্ধতিতে পরে সংজ্ঞায়িত মেটাডেটা ভ্যালু অ্যাক্সেস করতে ব্যবহার করতে পারবেন:Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Groovy
android { // ... buildFeatures { buildConfig true // ... } }
- আপনার
libs.versions.tomlফাইলে, নিম্নলিখিতগুলি যোগ করুন:[versions] play-services-maps = "20.1.0" [libraries] play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
ধাপ ৩: প্রোজেক্টে আপনার API key যোগ করুন
এই বিভাগে আপনার API কী কীভাবে স্টোর করবেন তা বর্ণনা করা হয়েছে যাতে আপনার অ্যাপ নিরাপদে
রেফারেন্স করতে পারে। আপনার ভার্সন কন্ট্রোল সিস্টেমে API কী চেক করা উচিত নয়, তাই আমরা আপনার প্রোজেক্টের রুট ডিরেক্টরিতে
secrets.properties ফাইলে এটি স্টোর করার এবং ভার্সন কন্ট্রোল থেকে
সেই ফাইলটি বাদ দেওয়ার সাজেশন দিই। Gradle প্রপার্টি ফাইল সম্পর্কে আরও জানতে, Gradle প্রপার্টি ফাইল দেখুন।
এই টাস্ক আরও সহজ করতে, আমরা আপনাকে Android-এর জন্য Secrets Gradle প্লাগ-ইন ব্যবহার করার সাজেশন দিই।
Android-এর জন্য Secrets Gradle প্লাগ-ইন ইনস্টল করতে এবং আপনার API key স্টোর করতে:
-
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 }
-
আপনার মডিউল-লেভেল
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' }
- আপনি Android Studio ব্যবহার করলে, Gradle-এর সাথে আপনার প্রোজেক্ট সিঙ্ক করুন।
-
আপনার টপ-লেভেল ডিরেক্টরিতে
secrets.propertiesফাইলটি খুলুন, এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন।YOUR_API_KEY-এর জায়গায় আপনার API key লিখুন। আপনার.gitignoreফাইলেsecrets.propertiesযোগ করতে ভুলবেন না (অথবা আপনার ভার্সন কন্ট্রোল সিস্টেম থেকে এটি বাদ দিন) যাতে আপনি ভার্সন কন্ট্রোলে আপনার API কী চেক না করেন।MAPS_API_KEY=YOUR_API_KEY
-
আপনার টপ-লেভেল ডিরেক্টরিতে
local.defaults.propertiesফাইল তৈরি করুন,secrets.propertiesফাইলের মতো একই ফোল্ডার এবং তারপর নিম্নলিখিত কোড যোগ করুন।MAPS_API_KEY=DEFAULT_API_KEY
এই ফাইলের উদ্দেশ্য হল API কী-এর জন্য একটি ব্যাক-আপ লোকেশন প্রদান করা যদি
secrets.propertiesফাইলটি খুঁজে না পাওয়া যায় যাতে বিল্ড ব্যর্থ না হয়। আপনি যদি এমন কোনও ভার্সন কন্ট্রোল সিস্টেম থেকে অ্যাপ ক্লোন করেন যাsecrets.propertiesবাদ দেয় এবং আপনি এখনও API কী প্রদান করার জন্য স্থানীয়ভাবেsecrets.propertiesফাইল তৈরি না করে থাকেন, তাহলে এটি হতে পারে। -
আপনার
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 ব্যতিক্রম দেখায়। -
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" }
ধাপ ৪: অ্যাপ ম্যানিফেস্ট আপডেট করুন
এই বিভাগে আপনার
AndroidManifest.xml
ফাইলে যোগ করার জন্য সেটিংসের বিবরণ দেওয়া আছে।
Google Play পরিষেবার ভার্সন নম্বর
application এলিমেন্টের মধ্যে নিম্নলিখিত ঘোষণা যোগ করুন। এটি Google Play পরিষেবার সেই ভার্সন এম্বেড করে
যেটির সাথে অ্যাপটি কম্পাইল করা হয়েছে।
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
লোকেশন সংক্রান্ত অনুমতি
আপনার অ্যাপকে ব্যবহারকারীর লোকেশন অ্যাক্সেস করতে হলে, আপনাকে AndroidManifest.xml ফাইলে লোকেশন সংক্রান্ত অনুমতি
অনুরোধ করতে হবে। বিকল্পগুলি হল
ACCESS_FINE_LOCATION, যা ডিভাইসের সুনির্দিষ্ট লোকেশন প্রদান করে এবং
ACCESS_COARSE_LOCATION, যা কম সুনির্দিষ্ট। বিস্তারিত জানতে, লোকেশন ডেটা সংক্রান্ত নির্দেশিকা দেখুন।
ACCESS_FINE_LOCATION অনুমতির জন্য অনুরোধ করতে, এই কোডটি
manifest এলিমেন্টে যোগ করুন:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
এক্সটার্নাল স্টোরেজ সংক্রান্ত অনুমতি
আপনি যদি Google Play পরিষেবা SDK-এর ভার্সন ৮.৩ বা তার পরের ভার্সন টার্গেট করেন,
তাহলে আপনার WRITE_EXTERNAL_STORAGE অনুমতি লাগবে না। আপনি যদি Google Play পরিষেবা SDK-এর
আগের ভার্সন টার্গেট করেন, তাহলে আপনাকে অবশ্যই
WRITE_EXTERNAL_STORAGE
অনুমতির জন্য manifest এলিমেন্টে অনুরোধ করতে হবে।
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Apache HTTP লিগ্যাসি লাইব্রেরি
আপনি com.google.android.gms:play-services-maps:16.0.0 বা তার আগের ভার্সন ব্যবহার করলে এবং
আপনার অ্যাপ API লেভেল 28 (Android 9.0) বা তার পরের ভার্সনকে টার্গেট করলে, আপনাকে
AndroidManifest.xml-এর <application> এলিমেন্টের মধ্যে
নিম্নলিখিত ঘোষণা অন্তর্ভুক্ত করতে হবে। অন্যথায়, এই ঘোষণা এড়িয়ে যান।
<uses-library
android:name="org.apache.http.legacy"
android:required="false"/>
ধাপ ৫: Android ডিভাইস সেট-আপ করা
Maps SDK for Android ব্যবহার করে এমন অ্যাপ চালাতে, আপনাকে অবশ্যই এটি Android 6.0 বা তার পরবর্তী যেকোনও ভার্সন এবং Google API-এর উপর ভিত্তি করে তৈরি Android ডিভাইস বা Android এমুলেটরে ডিপ্লয় করতে হবে।
- Android ডিভাইস ব্যবহার করতে, হার্ডওয়্যার ডিভাইসে অ্যাপ রান করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
- Android এমুলেটর ব্যবহার করতে, আপনি ভার্চুয়াল ডিভাইস তৈরি করতে এবং ডিভাইস ম্যানেজার ব্যবহার করে এমুলেটর ইনস্টল করতে পারবেন যা Android Studio-এর সাথে আসে।
ধাপ ৬: বিকল্প হিসেবে Play পরিষেবা কাজ করছে কিনা তা চেক করা
Maps SDK for Android-এর জন্য আপনার অ্যাপ যে ডিভাইসে ডিপ্লয় করবেন, সেটিতে Google Play পরিষেবা ইনস্টল করা থাকতে হবে। Google এমন একটি পদ্ধতি প্রদান করে যা আপনি চেক করার জন্য আপনার অ্যাপ থেকে কল করতে পারেন। আরও তথ্যের জন্য, Google Play পরিষেবা ইনস্টল করা আছে কিনা তা চেক করুন।
পরবর্তী ধাপ
আপনার প্রোজেক্ট কনফিগার করা হয়ে গেলে, আপনি ম্যাপ যোগ করতে পারবেন।