تجربة تسجيل الدخول على Android

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يمكنك استخدام نموذج تطبيق Android للاطّلاع على آلية عمل تسجيل الدخول أو إضافة تسجيل الدخول إلى تطبيقك الحالي.

مطلوب: أحدث إصدارات استوديو Android وخدمات Google Play.

الحصول على المشروع

إذا كانت هذه المرة الأولى التي تستخدم فيها عيّنة من خدمات Google، راجِع مستودع خدمات Google.

$ git clone https://github.com/googlesamples/google-services.git

افتح "استوديو Android".

انقر على File > Open (فتح الملف والتصفّح) وتصفّح المكان الذي نسخت منه مستودع google-services وافتح google-services/android/signin.

ضبط مشروع في Google API

لاستخدام النموذج، عليك تقديم بعض المعلومات الإضافية لإكمال إعداد مشروعك. انقر على الزر أدناه وحدِّد اسم الحزمة com.google.samples.quickstart.signin عندما يُطلب منك ذلك. وعليك أيضًا تقديم تجزئة SHA-1 لشهادة التوقيع. راجِع مصادقة البرنامج للحصول على معلومات.

ضبط مشروع

يتطلّب المثالان IdTokenActivity وServerAuthCodeActivity الخاصّين بك تحديد معرِّف عميل على OAuth 2.0. وفي التطبيق الحقيقي، يمثّل معرِّف العميل هذا الخادم الخلفية لتطبيقك. تم إنشاء معرّف عميل لهذا الغرض عند إعداد المشروع أعلاه.

يمكنك العثور على هذه القيمة من خلال فتح وحدة تحكم Google API:

وحدة التحكم في واجهة Google API

يتم عرض معرِّف عميل خادم الويب بجانب برنامج ويب (تم إنشاؤه تلقائيًا لتسجيل الدخول بحساب Google). انسخ معرّف العميل والصقه في ملف strings.xml لمشروعك:

<string name="server_client_id">YOUR_SERVER_CLIENT_ID</string>

تنفيذ النموذج

يمكنك الآن إنشاء النموذج وتشغيله من "استوديو Android".

أنشئ النموذج وانقر على زر التشغيل واختَر جهازًا أو محاكيًا متصلاً بالإنترنت باستخدام أحدث إصدار من خدمات Google Play.

آلية العمل

ينشئ التطبيق GoogleSignInClient، مع تحديد خيارات تسجيل الدخول التي يحتاج إليها. بعد النقر على زر تسجيل الدخول، يبدأ التطبيق intent لتسجيل الدخول، التي تطلب من المستخدم تسجيل الدخول باستخدام حساب Google.

// Configure sign-in to request the user's ID, email address, and basic
// profile. ID and basic profile are included in DEFAULT_SIGN_IN.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();
// Build a GoogleSignInClient with the options specified by gso.
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

الخطوات اللاحقة

إذا كنت تريد معرفة كيفية تنفيذ ميزة "تسجيل الدخول بحساب Google" في تطبيقك، يمكنك الاطّلاع على دليل التنفيذ.

إضافة تسجيل دخول إلى تطبيقك

هل لديك تجربة جيدة؟ هل تواجه مشكلة؟ يُرجى إعلامنا بذلك.