يسرد هذا الدليل متطلبات ضبط التصميم لاستخدام حزمة تطوير البرامج (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 للتنقل. يمكن أن يكون للمفتاح أكثر من مشروع تطوير واحد مرتبط به. وإذا كان لديك مشروع على وحدة تحكُّم، يمكنك إضافة مفتاح إلى مشروعك الحالي.
لإعداد الميزة
- في متصفِّح الويب المفضّل لديك، مثل Chrome، سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعك على Google Cloud Console.
- في IDE، مثل Android Studio، أنشِئ مشروعًا لتطوير تطبيقات Android ولاحظ اسم الحزمة.
- يُرجى التواصل مع ممثل "منصة خرائط Google" لمنحك إذن الوصول إلى حزمة تطوير البرامج (SDK) الخاصة بالتنقّل لمشروعك على Google Cloud Console.
- من لوحة بيانات Google Cloud Console في متصفح الويب، يمكنك إنشاء بيانات اعتماد لإنشاء مفتاح واجهة برمجة تطبيقات يتضمّن قيودًا.
- في صفحة مفتاح واجهة برمجة التطبيقات، انقر على تطبيقات Android في منطقة *قيود التطبيق.
- انقر على إضافة اسم الحزمة والملف المرجعي، ثم أدخِل اسم حزمة مشروع التطوير والملف المرجعي لشهادة SHA-1 لهذا المفتاح.
- انقر على حفظ.
إضافة حزمة تطوير البرامج (SDK) لميزة "التنقل" إلى تطبيقك
تتوفر حزمة SDK للتنقل في صورة حزمة Aar. بعد إنشاء مشروع التطوير، يمكنك دمج SDK. تفترض هذه التعليمات استخدام "استوديو Android" لبيئة التطوير المتكاملة.
نزِّل ملف ZIP لحزمة تطوير البرامج (SDK) للتنقل وفُك ضغطه.
في استوديو Android، افتح مشروعًا وأضِف حزمة خدمات Google Play باستخدام مدير حزمة تطوير البرامج (SDK).
من دليل ملف ZIP، انسخ
libs/google_navigation.aar
إلى دليلapp/libs
لمشروعك.
ضبط الإصدار
بعد إنشاء المشروع، يمكنك تهيئة الإعدادات لإنشاء إصدار ناجح واستخدام حزمة SDK للتنقل.
تعديل المواقع المحلية
- في مجلد نصوص Gradle البرمجية، افتح ملف
local.properties
وأضِفandroid.useDeprecatedNdk=true
.
تعديل النص البرمجي لإنشاء Gradle
افتح ملف
build.gradle (Module:app)
واستخدم الإرشادات التالية لتحديث الإعدادات لاستيفاء متطلبات حزمة SDK للتنقل ومراعاة إعداد خيارات التحسين أيضًا.الإعدادات المطلوبة لحزمة تطوير البرامج (SDK) الخاصة بالتنقل
- اضبط
minSdkVersion
على 16 أو أعلى. - اضبط "targetSDKversion" لواجهة برمجة التطبيقات رقم 21 لتحويل معالجة الأذونات إلى واجهة برمجة التطبيقات. بالنسبة إلى الإصدارات السابقة، يجب تضمين تدفقات الأذونات في تطبيقك بشكل صريح.
- أضِف إعداد
dexOptions
يزيد منjavaMaxHeapSize
. - عيِّن الموقع للمكتبات الإضافية.
- أضِف
repositories
وdependencies
لحزمة تطوير البرامج (SDK) الخاصة بالتنقل. - استبدل أرقام الإصدارات في التبعيات بأحدث الإصدارات المتاحة.
الإعدادات الاختيارية لتقليل وقت الإصدار
- لتحسين وقت إصدار تطبيقك
- ولتحسين استخدام التبعيات، فعِّل 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'
}
تعديل بيان التطبيق
في مجلد البيان، افتح ملف
AndroidManifest.xml
.أضِف مفتاح واجهة برمجة التطبيقات داخل العنصر
<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