إعداد المشروع

يسرد هذا الدليل متطلبات ضبط التصميم لاستخدام حزمة تطوير البرامج (SDK) لميزة "التنقل" في نظام التشغيل Android. تفترض التعليمات أنّ لديك بيئة تطوير متكاملة (IDE) لنظام التشغيل Android وأنّك على دراية بتطوير Android.

الحد الأدنى من متطلبات استخدام حزمة SDK للتنقل

  • مشروع على Google Cloud Console يتم تفعيل حزمة تطوير البرامج (SDK) فيه للتنقّل لتوفير المتطلبات اللازمة، يمكنك التواصل مع ممثل "منصة خرائط Google" الذي تتعامل معه.

  • يجب أن يستهدف تطبيقك حزمة تطوير البرامج (SDK) للتنقّل (الإصدار 16) أو إصدارًا أحدث.

  • لتشغيل تطبيق تم إنشاؤه باستخدام حزمة SDK للتنقل، يجب أن يتم تثبيت خدمات Google Play وتفعيلها على جهاز Android.

  • يجب إضافة نصوص تحديد المصدر والترخيص إلى التطبيق.

إعداد مشاريعك: مشروع Google Cloud Console ومشروع Android

قبل أن تتمكّن من إنشاء تطبيق أو اختباره، عليك إنشاء مشروع على Cloud Console وإضافة بيانات اعتماد مفتاح واجهة برمجة التطبيقات. يجب أن يتضمن المشروع توفير المتطلبات اللازمة للوصول إلى حزمة SDK للتنقل. يتم منح جميع المفاتيح ضمن مشروع Cloud Console إمكانية الوصول نفسها إلى حزمة SDK للتنقل. يمكن أن يكون للمفتاح أكثر من مشروع تطوير واحد مرتبط به. وإذا كان لديك مشروع على وحدة تحكُّم، يمكنك إضافة مفتاح إلى مشروعك الحالي.

لإعداد الميزة

  1. في متصفِّح الويب المفضّل لديك، مثل Chrome، سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعك على Google Cloud Console.
  2. في IDE، مثل Android Studio، أنشِئ مشروعًا لتطوير تطبيقات Android ولاحظ اسم الحزمة.
  3. يُرجى التواصل مع ممثل "منصة خرائط Google" لمنحك إذن الوصول إلى حزمة تطوير البرامج (SDK) الخاصة بالتنقّل لمشروعك على Google Cloud Console.
  4. من لوحة بيانات Google Cloud Console في متصفح الويب، يمكنك إنشاء بيانات اعتماد لإنشاء مفتاح واجهة برمجة تطبيقات يتضمّن قيودًا.
  5. في صفحة مفتاح واجهة برمجة التطبيقات، انقر على تطبيقات Android في منطقة *قيود التطبيق.
  6. انقر على إضافة اسم الحزمة والملف المرجعي، ثم أدخِل اسم حزمة مشروع التطوير والملف المرجعي لشهادة SHA-1 لهذا المفتاح.
  7. انقر على حفظ.

إضافة حزمة تطوير البرامج (SDK) لميزة "التنقل" إلى تطبيقك

تتوفر حزمة SDK للتنقل في صورة حزمة Aar. بعد إنشاء مشروع التطوير، يمكنك دمج SDK. تفترض هذه التعليمات استخدام "استوديو Android" لبيئة التطوير المتكاملة.

  1. نزِّل ملف ZIP لحزمة تطوير البرامج (SDK) للتنقل وفُك ضغطه.

  2. في استوديو Android، افتح مشروعًا وأضِف حزمة خدمات Google Play باستخدام مدير حزمة تطوير البرامج (SDK).

  3. من دليل ملف ZIP، انسخ libs/google_navigation.aar إلى دليل app/libs لمشروعك.

ضبط الإصدار

بعد إنشاء المشروع، يمكنك تهيئة الإعدادات لإنشاء إصدار ناجح واستخدام حزمة SDK للتنقل.

تعديل المواقع المحلية

  • في مجلد نصوص Gradle البرمجية، افتح ملف local.properties وأضِف android.useDeprecatedNdk=true.

تعديل النص البرمجي لإنشاء Gradle

  • افتح ملف build.gradle (Module:app) واستخدم الإرشادات التالية لتحديث الإعدادات لاستيفاء متطلبات حزمة SDK للتنقل ومراعاة إعداد خيارات التحسين أيضًا.

    الإعدادات المطلوبة لحزمة تطوير البرامج (SDK) الخاصة بالتنقل

    1. اضبط minSdkVersion على 16 أو أعلى.
    2. اضبط "targetSDKversion" لواجهة برمجة التطبيقات رقم 21 لتحويل معالجة الأذونات إلى واجهة برمجة التطبيقات. بالنسبة إلى الإصدارات السابقة، يجب تضمين تدفقات الأذونات في تطبيقك بشكل صريح.
    3. أضِف إعداد dexOptions يزيد من javaMaxHeapSize.
    4. عيِّن الموقع للمكتبات الإضافية.
    5. أضِف repositories وdependencies لحزمة تطوير البرامج (SDK) الخاصة بالتنقل.
    6. استبدل أرقام الإصدارات في التبعيات بأحدث الإصدارات المتاحة.

    الإعدادات الاختيارية لتقليل وقت الإصدار

    • لتحسين وقت إصدار تطبيقك
    • ولتحسين استخدام التبعيات، فعِّل ProGuard وتقليص الموارد. تزيل Proguard الرموز والموارد غير المستخدمة من التبعيات. إذا استغرقت خطوة Proguard فترة طويلة جدًا، ففكر في تمكين الوسائط المتعددة لأعمال التطوير.
    • قلِّل من عدد ترجمات اللغات المدرَجة في الإصدار. اضبط resConfigs للغة واحدة أثناء عملية التطوير. بالنسبة للإصدار النهائي، قم بتعيين 'resConfigs' للغات التي تستخدمها بالفعل. بشكل افتراضي، تتضمن Gradle سلاسل الموارد لجميع اللغات التي تدعمها حزمة SDK للتنقل.

في ما يلي مثال على نص برمجي لإنشاء Gradle للتطبيق.

  
  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>. عليك استخدام مفتاح واجهة برمجة التطبيقات المحدّد في مشروعك على Google Cloud Console على النحو الموضّح في الخطوة أعلاه.

    في ملف بيان جزئي يظهر في هذا المثال، يجب استبدال YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات الخاص بك:

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

    يعرض البيان الكامل أدناه إعداد مفتاح واجهة برمجة التطبيقات والإعداد الفارغ intent لـ MainActivity الذي يتم تشغيله عند بدء التشغيل.

    
      <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>
    
        ```
    

أدرِج الإحالات الناجحة المطلوبة في تطبيقك.

إذا كنت تستخدم حزمة تطوير البرامج (SDK) للتنقّل لنظام التشغيل Android في تطبيقك، عليك تضمين نص تحديد المصدر وتراخيص البرامج المفتوحة المصدر كجزء من قسم الإشعارات القانونية في تطبيقك.

يمكنك العثور على نص الإحالة المطلوب وتراخيص البرامج المفتوحة المصدر في ملف SDK للتنقّل في Android لنظام التشغيل Android:

  • NOTICE.txt
  • LICENSES.txt

الخطوة التالية

مزيد من المعلومات عن كيفية رسم مسار