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

এই পৃষ্ঠায় বর্ণনা করা হয়েছে যে কীভাবে Google Maps টেমপ্লেট ব্যবহার না করে Android-এর জন্য Maps SDK ব্যবহার করার জন্য Android Studio প্রোজেক্ট কনফিগার করতে হয়, যা দ্রুত শুরু করুন বিভাগে বিস্তারিতভাবে বলা আছে।

Google Maps টেমপ্লেট অটোমেটিক কনফিগার করে এবং নতুন Android Studio প্রোজেক্টে একটি প্রাথমিক ম্যাপ যোগ করে। তবে, আপনি অন্য Android Studio টেমপ্লেট ব্যবহার করে এমন Android প্রোজেক্টেও ম্যাপ যোগ করতে পারবেন। এটি করতে, আপনাকে ম্যানুয়ালি প্রোজেক্ট কনফিগার করতে হবে এবং তারপর ম্যাপ যোগ করতে হবে।

ধাপ ১: Android Studio সেট-আপ করা

এই ডকুমেন্টে Android Studio Hedgehog এবং Android Gradle প্লাগ-ইন ভার্সন ৮.২ ব্যবহার করে ডেভেলপমেন্ট এনভায়রনমেন্টের বর্ণনা দেওয়া হয়েছে।

ধাপ ২. SDK সেট-আপ করা

Maps SDK for Android লাইব্রেরি Google-এর Maven রিপোজিটরি-এর মাধ্যমে উপলভ্য। আপনার অ্যাপে SDK যোগ করতে, নিচের ধাপগুলি অনুসরণ করুন:

  1. আপনার টপ-লেভেল settings.gradle.kts ফাইলে, Gradle প্লাগ-ইন পোর্টাল, Google Maven রিপোজিটরি, এবং Maven সেন্ট্রাল রিপোজিটরি pluginManagement ব্লকের মধ্যে অন্তর্ভুক্ত করুন। স্ক্রিপ্টের অন্য যেকোনও স্টেটমেন্টের আগে 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 কী যোগ করুন

এই বিভাগে আপনার API কী কীভাবে স্টোর করবেন তা বর্ণনা করা হয়েছে যাতে আপনার অ্যাপ নিরাপদে এটি রেফারেন্স হিসেবে ব্যবহার করতে পারে। আপনার ভার্সন কন্ট্রোল সিস্টেমে API কী চেক করা উচিত নয়, তাই আমরা এটি secrets.properties ফাইলে স্টোর করার সাজেশন দিই, যা আপনার প্রোজেক্টের রুট ডিরেক্টরিতে থাকে। secrets.properties ফাইল সম্পর্কে আরও জানতে, Gradle প্রপার্টি ফাইল দেখুন।

এই টাস্কটি স্ট্রিমলাইন করতে, আমরা আপনাকে Android-এর জন্য Secrets Gradle প্লাগ-ইন ব্যবহার করার সাজেশন দিই।

Android-এর জন্য Secrets Gradle প্লাগ-ইন ইনস্টল করতে এবং আপনার API key স্টোর করতে:

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

    Groovy

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

    Kotlin

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

    Groovy

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

    Kotlin

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

    মনে রাখবেন: 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 ব্যতিক্রম দেখায়।

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

এই বিভাগে আপনার 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-র সাথে থাকা Android ভার্চুয়াল ডিভাইস (AVD) ম্যানেজার ব্যবহার করে এমুলেটর ইনস্টল করতে পারবেন।

ধাপ ৬: বিকল্প হিসেবে Play পরিষেবার জন্য সহায়তা চেক করা

Maps SDK for Android-এর জন্য আপনার অ্যাপ যে ডিভাইসে ডিপ্লয় করবেন সেখানে Google Play পরিষেবা ইনস্টল করা থাকতে হবে। Google এমন একটি পদ্ধতি প্রদান করে যা আপনি চেক করার জন্য আপনার অ্যাপ থেকে কল করতে পারেন। আরও তথ্যের জন্য, Google Play পরিষেবা ইনস্টল করা আছে কিনা তা চেক করুন।

পরবর্তী ধাপ

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