دليل شامل لـ Play Services مع Kotlin: أمثلة عملية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

دليل شامل لـ Play Services مع Kotlin: أمثلة عملية

Google Play Services هي مجموعة قوية من الخدمات وواجهات برمجة التطبيقات (APIs) المقدمة من Google، والتي تمنح مطوري Android إمكانية الوصول إلى الوظائف الأساسية للنظام. تشمل هذه المجموعة: تحديد الموقع الجغرافي، الخرائط (Maps)، تسجيل الدخول (Auth)، الإشعارات الفورية (Firebase Cloud Messaging)، التحليلات، المدفوعات، العمل مع الكاميرا والواقع المعزز (AR)، مزامنة الألعاب (Play Games)، وغيرها الكثير. تعتبر مكتبة Play Services إلزامية لمعظم تطبيقات Android الحديثة، لأنها تتولى المهام الروتينية للتفاعل مع خدمات النظام وتوفر واجهة موحدة ومستقرة، بغض النظر عن إصدار Android على الجهاز.

لماذا تحتاج هذه المكتبة؟ أولاً، تقوم بتجريد تعقيد العمل مع واجهات برمجة التطبيقات النظامية. بدلاً من كتابة كود خاص بكل مصنع أجهزة (Samsung, Xiaomi, Huawei)، تستخدم واجهة برمجة تطبيقات موحدة من Google تضمن التوافق. ثانياً، يتم تحديث Play Services تلقائياً عبر متجر Google Play، مما يسمح لك باستخدام أحدث الميزات دون الحاجة إلى تحديث التطبيق نفسه. ثالثاً، تعمل المكتبة على تحسين استهلاك الطاقة والأداء؛ على سبيل المثال، تستخدم تسريعاً عتادياً ومعالجة مجمعة للطلبات لتحديد الموقع.

بالنسبة للغة Kotlin، وهي اللغة الرسمية لتطوير Android، توفر Play Services امتدادات متوافقة تماماً (KTX). هذا يعني أنه يمكنك كتابة كود أكثر إيجازاً وأماناً باستخدام coroutines و lambdas ودوال الامتداد. في هذا المقال، سنستعرض الوحدات الرئيسية لـ Play Services، وطريقة تثبيتها، وأهم الدوال، وسنكتب تطبيقاً متكاملاً يوضح العمل مع تحديد الموقع والخرائط وتسجيل الدخول.

التثبيت

Play Services ليست مكتبة واحدة، بل مجموعة من الوحدات. تقوم بإضافة فقط تلك التي يحتاجها تطبيقك. يتم التثبيت عبر نظام بناء Gradle (المكافئ لـ pip في Python، لكن لنظام Android).

1. افتح ملف build.gradle.kts (على مستوى المشروع) وتأكد من إضافة مستودع Google:

// build.gradle.kts (Project)
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

2. في ملف build.gradle.kts (على مستوى الوحدة — app)، أضف التبعيات. مثال للوحدات: Maps, Location, Auth و Base (إلزامي):

// build.gradle.kts (Module: app)
dependencies {
    // المكتبة الأساسية لـ Play Services (إلزامية)
    implementation("com.google.android.gms:play-services-base:18.5.0")
    
    // Google Maps
    implementation("com.google.android.gms:play-services-maps:19.0.0")
    
    // تحديد الموقع الجغرافي
    implementation("com.google.android.gms:play-services-location:21.3.0")
    
    // تسجيل الدخول (Google Sign-In)
    implementation("com.google.android.gms:play-services-auth:21.2.0")
    
    // امتدادات Kotlin (KTX) لـ coroutines
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1")
}

3. قم بمزامنة المشروع (Sync Now). بعد ذلك، ستكون جميع واجهات برمجة التطبيقات متاحة في الكود.

ملاحظة مهمة: إصدارات المكتبات تتحديث باستمرار. يُنصح بالتحقق من أحدث الإصدارات على صفحة الإصدارات الرسمية.

بداية سريعة: مثال بسيط

لنقم بإنشاء تطبيق بسيط يحصل على الإحداثيات الحالية للجهاز ويعرضها على الشاشة. لهذا، سنحتاج إلى وحدة play-services-location.

1. أضف الأذونات في ملف AndroidManifest.xml:

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

2. كود النشاط (Activity) بلغة Kotlin:

import android.Manifest
import android.cont                    

توصيات