এই পৃষ্ঠায় বর্ণনা করা হয়েছে যে কীভাবে 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ফাইলটি খুলুন, এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন। আপনার API key দিয়েYOUR_API_KEYপরিবর্তন করুন।secrets.properties-কে আপনার.gitignoreফাইলে যোগ করতে (অথবা অন্যথায় আপনার ভার্সন কন্ট্রোল সিস্টেম থেকে বাদ দিতে) ভুলবেন না, যাতে আপনি ভার্সন কন্ট্রোলে আপনার API কী চেক না করেন।MAPS_API_KEY=YOUR_API_KEY
-
আপনার টপ-লেভেল ডিরেক্টরিতে
local.defaults.propertiesফাইল তৈরি করুন,secrets.propertiesফাইলের মতো একই ফোল্ডারে এবং তারপর নিম্নলিখিত কোড যোগ করুন।MAPS_API_KEY=DEFAULT_API_KEY
secrets.propertiesফাইলটি খুঁজে না পাওয়া গেলে, API কী-এর জন্য ব্যাক-আপ লোকেশন প্রদান করাই এই ফাইলের উদ্দেশ্য, যাতে বিল্ড ফেল না করে। আপনি যদি এমন কোনও ভার্সন কন্ট্রোল সিস্টেম থেকে অ্যাপ ক্লোন করেন যেখানে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-তে যাচাইকরণ করা যেতে পারে, এর মধ্যে Android-এর জন্য Maps SDK অন্তর্ভুক্ত। ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য, 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-এর 8.3 বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করলে,
আপনার 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 ডিভাইস বা Android এমুলেটরে ডিপ্লয় করতে হবে যা Android 6.0 বা এর পরের যেকোনও ভার্সনের উপর ভিত্তি করে তৈরি করা হয়েছে এবং এতে Google API অন্তর্ভুক্ত রয়েছে।
- Android ডিভাইস ব্যবহার করতে, হার্ডওয়্যার ডিভাইসে অ্যাপ রান করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
- Android এমুলেটর ব্যবহার করতে, আপনি একটি ভার্চুয়াল ডিভাইস তৈরি করতে এবং Android Studio-র সাথে থাকা ডিভাইস ম্যানেজার ব্যবহার করে এমুলেটর ইনস্টল করতে পারবেন।
ধাপ ৬: বিকল্প হিসেবে Play পরিষেবা কাজ করছে কিনা তা চেক করা
Maps SDK for Android-এর জন্য আপনার অ্যাপ যে ডিভাইসে ডিপ্লয় করবেন সেখানে Google Play পরিষেবা ইনস্টল করা থাকতে হবে। Google এমন একটি পদ্ধতি প্রদান করে যা আপনি চেক করার জন্য আপনার অ্যাপ থেকে কল করতে পারেন। আরও তথ্যের জন্য, Google Play পরিষেবা ইনস্টল করা আছে কিনা তা চেক করুন।
পরবর্তী ধাপ
আপনার প্রোজেক্ট কনফিগার করা হয়ে গেলে, আপনি ম্যাপ যোগ করতে পারবেন।