توضّح هذه الصفحة كيفية ضبط مشروع في "استوديو Android" لاستخدام حزمة تطوير البرامج (SDK) لخدمة "خرائط Google" لنظام التشغيل Android بدون استخدام نموذج "خرائط Google" الموضّح بالتفصيل في البدء السريع.
يتم تلقائيًا إعداد نموذج "خرائط Google" وإضافة خريطة أساسية إلى مشروع جديد في "استوديو Android". ومع ذلك، يمكنك أيضًا إضافة خريطة إلى مشروع Android يستخدم نموذجًا مختلفًا من نماذج "استوديو Android". لإجراء ذلك، عليك ضبط مشروعك يدويًا ثم إضافة الخريطة.
الخطوة 1: إعداد Android Studio
يوضّح هذا المستند بيئة تطوير تستخدم استوديو Android Hedgehog والمكوّن الإضافي لنظام Gradle المتوافق مع Android الإصدار 8.2.
الخطوة 2: إعداد حزمة تطوير البرامج (SDK)
تتوفّر مكتبة "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" لنظام التشغيل Android من خلال مستودع Maven من Google. لإضافة حزمة SDK إلى تطبيقك، اتّبِع الخطوات التالية:
- في ملف
settings.gradle.ktsذي المستوى الأعلى، أدرِج بوابة مكوّن Gradle الإضافي ومستودع Maven من Google ومستودع Maven المركزي ضمن الحظرpluginManagement. يجب أن يظهر الحظرpluginManagementقبل أي عبارات أخرى في النص البرمجي.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- في ملف
settings.gradle.ktsذي المستوى الأعلى، أدرِج مستودع Maven من Google ومستودع Maven المركزي ضمن الحظرdependencyResolutionManagement:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- في ملف
build.gradle.ktsأوbuild.gradleعلى مستوى الوحدة، أضِف اعتمادية خدمات Google Play الخاصة بحزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" على Android.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:19.0.0" }
- في ملف
build.gradle.ktsأوbuild.gradleعلى مستوى الوحدة، اضبطcompileSdkوminSdkعلى القيم التالية:Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
Groovy
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
- في القسم
buildFeaturesمن ملفbuild.gradle.ktsأوbuild.gradleعلى مستوى الوحدة، أضِف الفئةBuildConfigالتي يمكنك استخدامها للوصول إلى قيم البيانات الوصفية المحدّدة لاحقًا في هذا الإجراء:Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Groovy
android { // ... buildFeatures { buildConfig true // ... } }
- في ملف
libs.versions.toml، أضِف ما يلي:[versions] play-services-maps = "19.2.0" [libraries] play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
الخطوة 3: إضافة مفتاح واجهة برمجة التطبيقات إلى المشروع
يوضّح هذا القسم كيفية تخزين مفتاح واجهة برمجة التطبيقات كي يتمكّن تطبيقك من الرجوع إليه بشكل آمن. ننصحك بعدم إدخال مفتاح واجهة برمجة التطبيقات في نظام التحكّم بالإصدارات، بل بتخزينه في الملف secrets.properties الذي يقع في الدليل الجذر لمشروعك. لمزيد من المعلومات حول ملف secrets.properties، راجِع ملفات خصائص Gradle.
لتبسيط هذه المهمة، ننصحك باستخدام المكوّن الإضافي Secrets Gradle لأجهزة Android.
لتثبيت المكوّن الإضافي Secrets Gradle لأجهزة Android وتخزين مفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
-
في Android Studio، افتح ملف
build.gradleعلى مستوى الجذر وأضِف الرمز التالي إلى العنصرdependenciesضمنbuildscript.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") } }
-
افتح ملف
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") }
- إذا كنت تستخدم "استوديو Android"، زامِن مشروعك مع Gradle.
-
افتح ملف
local.propertiesفي دليل مستوى مشروعك، ثم أضِف الرمز التالي. استبدِلYOUR_API_KEYبمفتاح واجهة برمجة التطبيقات.MAPS_API_KEY=YOUR_API_KEY
-
في ملف
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}" />ملاحظة:
com.google.android.geo.API_KEYهو اسم البيانات الوصفية المقترَح لمفتاح واجهة برمجة التطبيقات. يمكن استخدام مفتاح بهذا الاسم للمصادقة على عدة واجهات برمجة تطبيقات مستندة إلى "خرائط Google" على نظام التشغيل Android، بما في ذلك حزمة تطوير البرامج (SDK) لـ "خرائط Google" لنظام التشغيل Android. لضمان التوافق مع الأنظمة القديمة، تتيح واجهة برمجة التطبيقات أيضًا استخدام الاسمcom.google.android.maps.v2.API_KEY. يتيح هذا الاسم القديم المصادقة على الإصدار 2 من واجهة برمجة التطبيقات Android Maps API فقط. يمكن للتطبيق تحديد اسم واحد فقط من أسماء البيانات الوصفية لمفتاح واجهة برمجة التطبيقات. إذا تم تحديد كليهما، ستعرض واجهة برمجة التطبيقات استثناءً.
الخطوة 4: تعديل ملف بيان التطبيق
يوضّح هذا القسم الإعدادات التي يجب إضافتها إلى ملف 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"/>
إذن الوصول إلى وحدة التخزين الخارجية
إذا كنت تستهدف الإصدار 8.3 أو إصدارًا أحدث من حزمة تطوير البرامج (SDK) لخدمات Google Play، لن تحتاج إلى إذن WRITE_EXTERNAL_STORAGE. إذا كنت تستهدف إصدارات أقدم من حزمة تطوير البرامج (SDK) لخدمات Google Play، عليك طلب الإذن 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 أو إصدارًا أقدم وكان تطبيقك يستهدف المستوى 28 (Android 9.0) أو مستوى أحدث من واجهة برمجة التطبيقات، عليك تضمين البيان التالي ضمن العنصر <application> في AndroidManifest.xml. بخلاف ذلك، يمكنك تخطّي هذا البيان.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
الخطوة 5: إعداد جهاز Android
لتشغيل تطبيق يستخدم حزمة تطوير البرامج (SDK) لنظام التشغيل Android في "خرائط Google"، يجب نشره على جهاز Android أو محاكي Android يستند إلى الإصدار 5.0 من نظام التشغيل Android أو إصدار أحدث ويتضمّن واجهات Google API.
- لاستخدام جهاز Android، اتّبِع التعليمات الواردة في تشغيل التطبيقات على جهاز.
- لاستخدام محاكي Android، يمكنك إنشاء جهاز افتراضي وتثبيت المحاكي باستخدام مدير الأجهزة الافتراضية لنظام التشغيل Android المضمّن في "استوديو Android".
الخطوة 6: التحقّق اختياريًا من توفّر "خدمات Play"
تتطلّب حزمة تطوير البرامج (SDK) لخرائط Google لنظام التشغيل Android أن يكون الجهاز الذي تنشر عليه تطبيقك مثبّتًا عليه "خدمات Google Play". توفّر Google طريقة يمكنك استخدامها من تطبيقك للتحقّق من ذلك. لمزيد من المعلومات، يُرجى الاطّلاع على التحقّق مما إذا كانت "خدمات Google Play" مثبّتة.
الخطوات التالية
بعد ضبط إعدادات مشروعك، يمكنك إضافة خريطة.