একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প সেট আপ করুন

এই পৃষ্ঠাটি বর্ণনা করে যে কীভাবে একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্পকে অ্যান্ড্রয়েডের জন্য ম্যাপস SDK ব্যবহার করার জন্য কনফিগার করতে হয়, যা কুইকস্টার্টে বিস্তারিতভাবে উল্লেখিত গুগল ম্যাপস টেমপ্লেট ব্যবহার না করেই।

গুগল ম্যাপস টেমপ্লেট স্বয়ংক্রিয়ভাবে একটি নতুন অ্যান্ড্রয়েড স্টুডিও প্রকল্পে একটি মৌলিক মানচিত্র কনফিগার করে এবং যোগ করে। তবে, আপনি এমন একটি অ্যান্ড্রয়েড প্রকল্পেও একটি মানচিত্র যোগ করতে পারেন যা একটি ভিন্ন অ্যান্ড্রয়েড স্টুডিও টেমপ্লেট ব্যবহার করে। এটি করার জন্য, আপনাকে আপনার প্রকল্পটি ম্যানুয়ালি কনফিগার করতে হবে এবং তারপর মানচিত্রটি যোগ করতে হবে

ধাপ ১: অ্যান্ড্রয়েড স্টুডিও সেট আপ করুন

এই ডকুমেন্টটি অ্যান্ড্রয়েড স্টুডিও হেজহগ এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ 8.2 ব্যবহার করে একটি ডেভেলপমেন্ট পরিবেশ বর্ণনা করে।

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

অ্যান্ড্রয়েড লাইব্রেরির জন্য ম্যাপস SDK গুগলের ম্যাভেন রিপোজিটরির মাধ্যমে পাওয়া যায়। আপনার অ্যাপে SDK যোগ করতে, নিম্নলিখিতগুলি করুন:

  1. আপনার টপ-লেভেল settings.gradle.kts ফাইলে, pluginManagement ব্লকের অধীনে Gradle plugin portal , Google Maven repository এবং Maven central repository অন্তর্ভুক্ত করুন। pluginManagement ব্লকটি স্ক্রিপ্টের অন্য যেকোনো স্টেটমেন্টের আগে উপস্থিত হওয়া আবশ্যক।
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. আপনার শীর্ষ-স্তরের settings.gradle.kts ফাইলে, dependencyResolutionManagement ব্লকের অধীনে Google এর Maven সংগ্রহস্থল এবং Maven কেন্দ্রীয় সংগ্রহস্থল অন্তর্ভুক্ত করুন:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. আপনার মডিউল-স্তরের build.gradle.kts অথবা build.gradle ফাইলে, Android এর জন্য Maps SDK-এর জন্য Google Play পরিষেবা নির্ভরতা যোগ করুন।

    কোটলিন

    dependencies {
    
        // Maps SDK for Android
        implementation(libs.play.services.maps)
    }

    খাঁজকাটা

    dependencies {
    
        // Maps SDK for Android
        implementation "com.google.android.gms:play-services-maps:19.0.0"
    }
  4. আপনার মডিউল-স্তরের build.gradle.kts অথবা build.gradle ফাইলে, compileSdk এবং minSdk কে নিম্নলিখিত মানগুলিতে সেট করুন:

    কোটলিন

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

    খাঁজকাটা

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

    কোটলিন

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

    খাঁজকাটা

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

ধাপ ৩: প্রকল্পে আপনার API কী যোগ করুন

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

এই কাজটি সহজ করার জন্য, আমরা আপনাকে অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন ব্যবহার করার পরামর্শ দিচ্ছি।

আপনার গুগল ম্যাপস প্রজেক্টে অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন ইনস্টল করতে:

  1. অ্যান্ড্রয়েড স্টুডিওতে, আপনার শীর্ষ-স্তরের build.gradle.kts অথবা build.gradle ফাইলটি খুলুন এবং buildscript অধীনে dependencies উপাদানে নিম্নলিখিত কোডটি যুক্ত করুন।

    কোটলিন

    plugins {
        alias(libs.plugins.android.application) apply false
        alias(libs.plugins.jetbrains.kotlin.android) apply false
        alias(libs.plugins.kotlin.compose) apply false
        alias(libs.plugins.secrets.gradle.plugin) apply false
    }

    খাঁজকাটা

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

    কোটলিন

    plugins {
        // ...
        alias(libs.plugins.secrets.gradle.plugin)
    }

    খাঁজকাটা

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. আপনার মডিউল-স্তরের build.gradle.kts অথবা build.gradle ফাইলে, নিশ্চিত করুন যে targetSdk এবং compileSdk 34 তে সেট করা আছে।
  4. আপনার প্রকল্পটি Gradle এর সাথে সিঙ্ক করুন
  5. আপনার টপ-লেভেল ডিরেক্টরিতে secrets.properties ফাইলটি খুলুন, এবং তারপর নিম্নলিখিত কোডটি যোগ করুন। YOUR_API_KEY আপনার API কী দিয়ে প্রতিস্থাপন করুন। এই ফাইলটিতে আপনার কীটি সংরক্ষণ করুন কারণ secrets.properties একটি সংস্করণ নিয়ন্ত্রণ সিস্টেমে চেক করা থেকে বাদ দেওয়া হয়।
    MAPS_API_KEY=YOUR_API_KEY
  6. আপনার টপ-লেভেল ডিরেক্টরিতে secrets.properties ফাইলের মতো একই ফোল্ডারে local.defaults.properties ফাইলটি তৈরি করুন এবং তারপর নিম্নলিখিত কোডটি যোগ করুন।

    MAPS_API_KEY=DEFAULT_API_KEY

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

  7. আপনার AndroidManifest.xml ফাইলে, com.google.android.geo.API_KEY এ যান এবং android:value attribute আপডেট করুন। যদি <meta-data> ট্যাগটি বিদ্যমান না থাকে, তাহলে এটি <application> ট্যাগের একটি শিশু হিসাবে তৈরি করুন।
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />

    দ্রষ্টব্য: com.google.android.geo.API_KEY হল API কী-এর জন্য প্রস্তাবিত মেটাডেটা নাম। এই নামের একটি কী Android প্ল্যাটফর্মে একাধিক Google Maps-ভিত্তিক API-তে প্রমাণীকরণ করতে ব্যবহার করা যেতে পারে, যার মধ্যে Android-এর জন্য Maps SDKও অন্তর্ভুক্ত। ব্যাকওয়ার্ডস সামঞ্জস্যের জন্য, API com.google.android.maps.v2.API_KEY নামটিও সমর্থন করে। এই লিগ্যাসি নামটি শুধুমাত্র Android Maps API v2-তে প্রমাণীকরণের অনুমতি দেয়। একটি অ্যাপ্লিকেশন API কী মেটাডেটা নামগুলির মধ্যে শুধুমাত্র একটি নির্দিষ্ট করতে পারে। যদি দুটিই নির্দিষ্ট করা থাকে, তাহলে API একটি ব্যতিক্রম দেয়।

  8. অ্যান্ড্রয়েড স্টুডিওতে, আপনার মডিউল-লেভেল build.gradle.kts অথবা build.gradle ফাইলটি খুলুন এবং secrets সম্পত্তিটি সম্পাদনা করুন। যদি secrets সম্পত্তিটি বিদ্যমান না থাকে, তাহলে এটি যোগ করুন।

    প্লাগইনের বৈশিষ্ট্য সম্পাদনা করে propertiesFileName secrets.properties এ সেট করুন, defaultPropertiesFileName কে local.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"
    }
            

    খাঁজকাটা

    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"
    }
            

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

এই বিভাগটি আপনার AndroidManifest.xml ফাইলে যোগ করার জন্য সেটিংস বর্ণনা করে।

গুগল প্লে পরিষেবার সংস্করণ নম্বর

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-এর পূর্ববর্তী সংস্করণগুলিকে লক্ষ্য করে থাকেন, তাহলে আপনাকে manifest উপাদানে WRITE_EXTERNAL_STORAGE অনুমতির জন্য অনুরোধ করতে হবে।

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

অ্যাপাচি 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 ব্যবহার করে এমন একটি অ্যাপ চালানোর জন্য, আপনাকে এটিকে এমন একটি Android ডিভাইস বা Android এমুলেটরে স্থাপন করতে হবে যা Android 5.0 বা তার উচ্চতর সংস্করণের উপর ভিত্তি করে এবং Google API অন্তর্ভুক্ত করে।

  • একটি অ্যান্ড্রয়েড ডিভাইস ব্যবহার করতে, হার্ডওয়্যার ডিভাইসে অ্যাপস চালান -এ দেওয়া নির্দেশাবলী অনুসরণ করুন।
  • অ্যান্ড্রয়েড এমুলেটর ব্যবহার করার জন্য, আপনি একটি ভার্চুয়াল ডিভাইস তৈরি করতে পারেন এবং অ্যান্ড্রয়েড স্টুডিওর সাথে আসা অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) ম্যানেজার ব্যবহার করে এমুলেটরটি ইনস্টল করতে পারেন।

ধাপ ৬: ঐচ্ছিকভাবে প্লে সার্ভিস সাপোর্টের জন্য চেক করুন

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

পরবর্তী পদক্ষেপ

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