প্রকল্প কনফিগারেশন

এই নির্দেশিকাটি Android এর জন্য নেভিগেশন SDK ব্যবহার করার জন্য বিল্ড কনফিগারেশনের প্রয়োজনীয়তাগুলি তালিকাভুক্ত করে৷ নির্দেশাবলী অনুমান করে যে আপনি একটি Android IDE ইনস্টল করেছেন এবং আপনি Android বিকাশের সাথে পরিচিত৷

নেভিগেশন SDK ব্যবহার করার জন্য ন্যূনতম প্রয়োজনীয়তা

  • নেভিগেশন SDK সক্ষম সহ একটি Google ক্লাউড কনসোল প্রকল্প৷ বিধানের জন্য, আপনার Google মানচিত্র প্ল্যাটফর্ম প্রতিনিধিকে জিজ্ঞাসা করুন।

  • আপনার অ্যাপটি অবশ্যই নেভিগেশন SDK (সংস্করণ 16) বা উচ্চতর টার্গেট করবে৷

  • নেভিগেশন SDK দিয়ে তৈরি একটি অ্যাপ চালানোর জন্য, অ্যান্ড্রয়েড ডিভাইসে অবশ্যই Google Play পরিষেবা ইনস্টল এবং সক্ষম থাকতে হবে।

  • অ্যাট্রিবিউশন এবং লাইসেন্সিং টেক্সট অ্যাপে যোগ করতে হবে।

আপনার প্রকল্পগুলি সেট আপ করুন: Google Cloud Console প্রকল্প এবং Android প্রকল্প৷

আপনি একটি অ্যাপ তৈরি বা পরীক্ষা করার আগে, আপনাকে একটি ক্লাউড কনসোল প্রকল্প তৈরি করতে হবে এবং API কী শংসাপত্র যোগ করতে হবে। ন্যাভিগেশন SDK অ্যাক্সেস করার জন্য প্রকল্পের অবশ্যই ব্যবস্থা থাকতে হবে। ক্লাউড কনসোল প্রকল্পের মধ্যে থাকা সমস্ত কীগুলিকে নেভিগেশন SDK-তে একই অ্যাক্সেস দেওয়া হয়েছে। একটি কী এর সাথে একাধিক উন্নয়ন প্রকল্প যুক্ত থাকতে পারে। আপনার যদি ইতিমধ্যে একটি কনসোল প্রকল্প থাকে তবে আপনি আপনার বর্তমান প্রকল্পে একটি কী যোগ করতে পারেন।

স্থাপন করতে

  1. আপনার প্রিয় ওয়েব ব্রাউজারে , যেমন Chrome, Google ক্লাউড কনসোলে সাইন ইন করুন এবং আপনার Google ক্লাউড কনসোল প্রকল্প তৈরি করুন৷
  2. আপনার IDE- তে, যেমন Android Studio, একটি Android অ্যাপ ডেভেলপমেন্ট প্রজেক্ট তৈরি করুন এবং প্যাকেজের নামটি নোট করুন।
  3. আপনার Google ক্লাউড কনসোল প্রকল্পের জন্য নেভিগেশন SDK-এ অ্যাক্সেস প্রদান করতে আপনার Google মানচিত্র প্ল্যাটফর্ম প্রতিনিধির সাথে যোগাযোগ করুন।
  4. আপনার ওয়েব ব্রাউজারে Google ক্লাউড কনসোল ড্যাশবোর্ডে থাকাকালীন, সীমাবদ্ধতা সহ একটি API কী তৈরি করতে শংসাপত্র তৈরি করুন৷
  5. API কী পৃষ্ঠায় , * অ্যাপ্লিকেশন সীমাবদ্ধতা এলাকায় Android অ্যাপে ক্লিক করুন।
  6. প্যাকেজের নাম এবং আঙ্গুলের ছাপ যোগ করুন ক্লিক করুন এবং তারপরে, আপনার উন্নয়ন প্রকল্পের প্যাকেজ নাম এবং সেই কীটির জন্য SHA-1 ফিঙ্গারপ্রিন্ট লিখুন।
  7. Save এ ক্লিক করুন।

আপনার অ্যাপে নেভিগেশন SDK যোগ করুন

নেভিগেশন SDK একটি aar বান্ডেল হিসাবে উপলব্ধ। উন্নয়ন প্রকল্প তৈরি করার পরে, আপনি SDK সংহত করতে পারেন। এই নির্দেশাবলী আপনার IDE এর জন্য Android স্টুডিওর ব্যবহার অনুমান করে।

  1. নেভিগেশন SDK জিপ ফাইলটি ডাউনলোড এবং আনজিপ করুন।

  2. অ্যান্ড্রয়েড স্টুডিওতে , একটি প্রজেক্ট খুলুন এবং SDK ম্যানেজার ব্যবহার করে Google Play পরিষেবা প্যাকেজ যোগ করুন

  3. zip ফাইল ডিরেক্টরি থেকে, libs/google_navigation.aar আপনার প্রজেক্টের app/libs ডিরেক্টরিতে অনুলিপি করুন।

বিল্ড কনফিগার করুন

আপনি প্রকল্পটি তৈরি করার পরে, আপনি নেভিগেশন SDK-এর সফল নির্মাণ এবং ব্যবহারের জন্য সেটিংস কনফিগার করতে পারেন।

স্থানীয় বৈশিষ্ট্য আপডেট করুন

  • Gradle Scripts ফোল্ডারে , local.properties ফাইলটি খুলুন এবং android.useDeprecatedNdk=true যোগ করুন।

গ্রেডল বিল্ড স্ক্রিপ্ট আপডেট করুন

  • build.gradle (Module:app) ফাইলটি খুলুন এবং নেভিগেশন SDK-এর প্রয়োজনীয়তাগুলি পূরণ করতে সেটিংস আপডেট করতে নিম্নলিখিত নির্দেশিকাগুলি ব্যবহার করুন এবং অপ্টিমাইজেশন বিকল্পগুলি সেট করার বিষয়েও বিবেচনা করুন৷

    নেভিগেশন SDK এর জন্য প্রয়োজনীয় সেটিংস

    1. minSdkVersion 16 বা তার উপরে সেট করুন।
    2. এপিআই-এ পারমিশন হ্যান্ডলিং শিফট করতে API 21-এর জন্য 'targetSDKversion' সেট করুন। পূর্ববর্তী সংস্করণগুলির জন্য, আপনাকে স্পষ্টভাবে আপনার অ্যাপে অনুমতি প্রবাহ অন্তর্ভুক্ত করতে হবে।
    3. একটি dexOptions সেটিংস যোগ করুন যা javaMaxHeapSize বৃদ্ধি করে।
    4. অতিরিক্ত লাইব্রেরির জন্য অবস্থান সেট করুন।
    5. নেভিগেশন SDK-এর জন্য repositories এবং dependencies যোগ করুন।
    6. সর্বশেষ উপলব্ধ সংস্করণগুলির সাথে নির্ভরতার সংস্করণ সংখ্যাগুলি প্রতিস্থাপন করুন।

    বিল্ড টাইম কমাতে ঐচ্ছিক সেটিংস

    • আপনার অ্যাপের বিল্ড টাইম উন্নত করতে
    • নির্ভরতা ব্যবহার অপ্টিমাইজ করতে, ProGuard এবং সম্পদ সঙ্কুচিত সক্ষম করুন। প্রোগার্ড নির্ভরতা থেকে অব্যবহৃত কোড এবং সংস্থানগুলি সরিয়ে দেয়। যদি প্রোগার্ড ধাপটি খুব দীর্ঘ হয়, তাহলে উন্নয়ন কাজের জন্য মাল্টিডেক্স সক্ষম করার কথা বিবেচনা করুন।
    • বিল্ডে অন্তর্ভুক্ত ভাষা অনুবাদের সংখ্যা হ্রাস করুন। বিকাশের সময় একটি ভাষার জন্য resConfigs সেট করুন। চূড়ান্ত বিল্ডের জন্য, আপনি আসলে যে ভাষাগুলি ব্যবহার করেন তার জন্য 'resConfigs' সেট করুন। ডিফল্টরূপে, Gradle নেভিগেশন SDK দ্বারা সমর্থিত সমস্ত ভাষার জন্য রিসোর্স স্ট্রিং অন্তর্ভুক্ত করে।

নীচে অ্যাপ্লিকেশনটির জন্য গ্রেডল বিল্ড স্ক্রিপ্টের একটি উদাহরণ রয়েছে।

  
  apply plugin: 'com.android.application'

  ext {
      supportVersion = "27.1.1"
      lifecycle_version = "1.1.1"
  }

  android {
      compileSdkVersion 27
      buildToolsVersion '28.0.3'

      defaultConfig {
          applicationId "com.example.navigationapidemo"
          minSdkVersion 16
          targetSdkVersion 27
          versionCode 1
          versionName "1.0"
          resConfigs "en"
      }

      dexOptions {
          // This increases the amount of memory available to the dexer. This is
          // required to build apps using the Navigation SDK.
          javaMaxHeapSize "4g"
      }
      buildTypes {
          all {
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
      }
  }

  // Specify where to find additional libraries and the location of google_navigation.aar file.
  repositories {
      flatDir {
          dirs 'libs'
      }
      google()
  }
  dependencies {
      api fileTree(include: ['*.jar'], dir: 'libs')

      // Include the Google Navigation API library
      api(name: 'google_navigation', ext: 'aar')

      // These dependencies are required for the Navigation API to function
      // properly at runtime.
      api "org.chromium.net:cronet-fallback:69.3497.100"
      // Optional for Cronet users:
      // api "org.chromium.net:cronet-api:69.3497.100"
      api "com.android.support:appcompat-v7:${supportVersion}"
      api "com.android.support:cardview-v7:${supportVersion}"
      api "com.android.support:design:${supportVersion}"
      api "com.android.support:mediarouter-v7:${supportVersion}"
      api "com.android.support:preference-v7:${supportVersion}"
      api "com.android.support:recyclerview-v7:${supportVersion}"
      api 'com.github.bumptech.glide:glide:4.9.0'
      api 'com.github.bumptech.glide:okhttp-integration:4.9.0'
      api "android.arch.lifecycle:common-java8:$lifecycle_version"
      api 'com.google.android.datatransport:transport-api:2.2.0'
      api 'com.google.android.datatransport:transport-backend-cct:2.2.0'
      api 'com.google.android.datatransport:transport-runtime:2.2.0'
      api 'joda-time:joda-time:2.9.9'

      // The Navigation SDK does not require the
      // Places API; however, the demo app for does.
      api 'com.google.android.gms:play-services-places:10.2.1'

      annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
  }

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

  1. ম্যানিফেস্ট ফোল্ডারে , AndroidManifest.xml ফাইলটি খুলুন।

  2. <application> উপাদানের মধ্যে আপনার API কী যোগ করুন। আপনাকে অবশ্যই উপরের ধাপে বর্ণিত আপনার Google ক্লাউড কনসোল প্রকল্পে সংজ্ঞায়িত API কী ব্যবহার করতে হবে।

    এই উদাহরণে দেখানো একটি আংশিক ম্যানিফেস্টে, আপনি আপনার নিজস্ব API কী দিয়ে YOUR_API_KEY প্রতিস্থাপন করবেন:

          <meta-data
              android:name="com.google.android.geo.API_KEY"
              android:value="YOUR_API_KEY"/>
    

    নীচের একটি সম্পূর্ণ ম্যানিফেস্ট API কী-এর সেটিং এবং স্টার্টআপে চলা MainActivity এর খালি intent দেখায়।

    
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.navigationapidemo" >
    
          <application
              android:allowBackup="true"
              android:icon="@mipmap/ic_launcher"
              android:label="@string/app_name"
              android:supportsRtl="true"
              android:theme="@style/_AppTheme" >
    
              <meta-data
                  android:name="com.google.android.geo.API_KEY"
                  android:value="YOUR_API_KEY"/>
    
              <activity android:name=".MainActivity" >
                  <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
                      <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
              </activity>
          </application>
        </manifest>
    
        ```
    

আপনার অ্যাপে প্রয়োজনীয় গুণাবলী অন্তর্ভুক্ত করুন

আপনি যদি আপনার অ্যাপে Android এর জন্য নেভিগেশন SDK ব্যবহার করেন, তাহলে আপনাকে অবশ্যই আপনার অ্যাপের আইনি বিজ্ঞপ্তি বিভাগের অংশ হিসেবে অ্যাট্রিবিউশন টেক্সট এবং ওপেন সোর্স লাইসেন্স অন্তর্ভুক্ত করতে হবে।

আপনি Android জিপ ফাইলের জন্য নেভিগেশন SDK-এ প্রয়োজনীয় অ্যাট্রিবিউশন টেক্সট এবং ওপেন সোর্স লাইসেন্স খুঁজে পেতে পারেন:

  • NOTICE.txt
  • LICENSES.txt

পরবর্তী পর্ব

একটি রুট প্লট কিভাবে শিখুন.