للوصول إلى وظائف "خدمات ألعاب Google Play"، يجب أن تقدّم لعبتك حساب اللاعب الذي سجّل الدخول. توضّح هذه المستندات كيفية توفير تجربة تسجيل دخول سلسة في لعبتك.
توفّر حزمة تطوير البرامج (SDK) لإصدار 2 من "خدمات ألعاب Play" عددًا من التحسينات التي تزيد من عدد المستخدمين الذين سجّلوا الدخول إلى لعبتك، وتُسهّل عملية التطوير:
- التحسينات التي ستفيد المستخدمين:
- بعد اختيار حساب تلقائي، يتم تسجيل دخول المستخدمين بدون الحاجة إلى التفاعل مع طلب.
- لم يعُد على المستخدمين تنزيل تطبيق "ألعاب Play" لتسجيل الدخول باستخدام "خدمات ألعاب Play" أو إنشاء حساب جديد.
- يمكن للمستخدمين الآن إدارة حساباتهم على "خدمات ألعاب Play" لعدة ألعاب من صفحة واحدة.
- التحسينات للمطوّرين:
- لم يعُد رمز العميل بحاجة إلى معالجة عملية تسجيل الدخول أو تسجيل الخروج، لأنّ تسجيل الدخول يتم تشغيله تلقائيًا عند بدء اللعبة، ويتم التعامل مع إدارة الحساب في إعدادات نظام التشغيل.
دمج عميل جديد
يوضّح هذا القسم كيفية دمج عميل جديد مع الإصدار 2 من ميزة "تسجيل الدخول" في "خدمات ألعاب Play".
إضافة التبعية
أضِف التبعية لحزمة تطوير البرامج (SDK) الخاصة بخدمة "ألعاب Play" إلى ملف
build.gradle
على مستوى الجذر في تطبيقك. إذا كنت تستخدم Gradle، يمكنك إضافة التبعية أو تعديلها على النحو التالي:
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
تحديد رقم تعريف المشروع
لإضافة معرّف مشروع حزمة تطوير البرامج (SDK) لـ "خدمات ألعاب Play" إلى تطبيقك، أكمِل الخطوات التالية:
في ملف
AndroidManifest.xml
الخاص بتطبيقك، أضِف العنصر<meta-data>
والسمات التالية إلى العنصر<application>
:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
حدِّد مرجع المورد من النوع String
@string/game_services_project_id
باستخدام رقم تعريف مشروع "خدمات ألعاب Play" لألعابك كقيمة. يمكنك العثور على معرّف مشروع "خدمات الألعاب" تحت اسم لعبتك في صفحة الضبط على Google Play Console.في ملف
res/values/strings.xml
، أضِف مرجعًا لمورد سلسلة وأضِف رقم تعريف مشروعك كقيمة. في Google Play Console، يمكنك العثور على معرّف المشروع ضمن اسم لعبتك في صفحة الإعداد. مثلاً:<!-- res/values/strings.xml --> <resources> <!-- Replace 0000000000 with your game’s project id. Example value shown above. --> <string translatable="false" name="game_services_project_id"> 0000000000 </string> </resources>
إعداد حزمة تطوير البرامج (SDK)
يمكنك إعداد حزمة تطوير البرامج (SDK) لألعاب Play في onCreate(..)
دالة الاستدعاء الخاصة بفئة Application
.
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
super.onCreate();
PlayGamesSdk.initialize(this);
}
الحصول على نتيجة تسجيل الدخول
عند تشغيل لعبتك، ستحاول دائمًا تسجيل دخول المستخدم. لتأكيد هوية المستخدم، يجب التأكّد من تسجيله الدخول بنجاح، ثم الحصول على معرّف اللاعب.
للتحقّق من محاولة تسجيل الدخول، يُرجى الاتصال برقم GamesSignInClient.isAuthenticated()
و
استخدام addOnCompleteListener
لاسترداد النتائج. مثلاً:
GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());
gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
boolean isAuthenticated =
(isAuthenticatedTask.isSuccessful() &&
isAuthenticatedTask.getResult().isAuthenticated());
if (isAuthenticated) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a
// login button to ask players to sign-in. Clicking it should
// call GamesSignInClient.signIn().
}
});
إذا اختار المستخدم عدم تسجيل الدخول عند تشغيل اللعبة، يمكنك اختياريًا
مواصلة عرض زر يتضمّن رمز "ألعاب Play"، ومحاولة
تسجيل دخول المستخدم مرة أخرى من خلال استدعاء GamesSignInClient.signIn()
إذا ضغط المستخدم
على الزر.
بعد التأكّد من تسجيل دخول المستخدم، يمكنك استرداد رقم تعريف اللاعب لتحديد هويته. مثلاً:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);