Android Studio প্রোজেক্ট সেট-আপ করা

এই পৃষ্ঠায় বর্ণনা করা হয়েছে যে কীভাবে 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 যোগ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. আপনার টপ-লেভেল settings.gradle.kts ফাইলে, pluginManagement ব্লকের অধীনে Gradle প্লাগ-ইন পোর্টাল, Google Maven রিপোজিটরি এবং Maven সেন্ট্রাল রিপোজিটরি অন্তর্ভুক্ত করুন। স্ক্রিপ্টে অন্য যেকোনও স্টেটমেন্টের আগে pluginManagement ব্লক অবশ্যই দেখাতে হবে।
    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
        }
    } 
  2. আপনার টপ-লেভেল settings.gradle.kts ফাইলে, dependencyResolutionManagement ব্লকের অধীনে Google-এর Maven রিপোজিটরি এবং Maven সেন্ট্রাল রিপোজিটরি অন্তর্ভুক্ত করুন:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. আপনার মডিউল-লেভেল 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"
    }
  4. আপনার মডিউল-লেভেল build.gradle.kts বা build.gradle ফাইলে, compileSdk ও minSdk-এর মান নিম্নলিখিতভাবে সেট করুন:

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 23
            // ...
        }
    }

    Groovy

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 23
            // ...
        }
    }
  5. আপনার মডিউল-লেভেল build.gradle.kts বা build.gradle ফাইলের buildFeatures বিভাগে, BuildConfig ক্লাস যোগ করুন, যা আপনি এই পদ্ধতিতে পরে সংজ্ঞায়িত মেটাডেটা ভ্যালু অ্যাক্সেস করতে ব্যবহার করতে পারবেন:

    Kotlin

    android {
      // ...
      buildFeatures {
        buildConfig = true
        // ...
      }
    }

    Groovy

    android {
      // ...
      buildFeatures {
        buildConfig true
        // ...
      }
    }
  6. আপনার 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 সেভ করতে:

  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-তে যাচাইকরণ করা যেতে পারে, এর মধ্যে Android-এর জন্য Maps SDK অন্তর্ভুক্ত। ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য, 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"
    }

ধাপ ৪: অ্যাপ ম্যানিফেস্ট আপডেট করুন

এই বিভাগে আপনার 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 পরিষেবা ইনস্টল করা আছে কিনা তা চেক করুন।

পরবর্তী ধাপ

আপনার প্রোজেক্ট কনফিগার করা হয়ে গেলে, আপনি ম্যাপ যোগ করতে পারবেন।