يوضّح لك هذا الدليل كيفية استخدام واجهات برمجة تطبيقات الإنجازات في أحد تطبيقات Android.
لفتح الإنجازات في لعبتك وعرضها. يمكن العثور على واجهات برمجة التطبيقات
في com.google.android.gms.games
وcom.google.android.gms.games.achievements
حزم.
قبل البدء
إذا لم تكن قد فعلت ذلك بالفعل، فقد تجد أنه من المفيد مراجعة مفاهيم ألعاب الإنجازات.
قبل بدء الترميز باستخدام واجهة برمجة تطبيقات الإنجازات:
- اتّبِع التعليمات لتثبيت تطبيقك وإعداده لاستخدامه. خدمات ألعاب Google Play في دليل إعداد حزمة تطوير البرامج (SDK) لخدمات Google Play
- يمكنك تحديد الإنجازات التي تريد أن تتيحها لعبتك أو تعرضها، من خلال باتّباع التعليمات الواردة في دليل Google Play Console
- يمكنك تنزيل نماذج رموز الإنجازات ومراجعتها في صفحة نماذج Android.
- تعرف على التوصيات الموضحة في قائمة التحقّق من الجودة:
الحصول على عميل إنجازات
لبدء استخدام واجهة برمجة تطبيقات الإنجازات، يجب أن تحصل لعبتك أولاً على
AchievementsClient
. يمكنك القيام بذلك عن طريق استدعاء
Games.getAchievementClient()
وتمرير النشاط
GoogleSignInAccount
للّاعب الحالي لمعرفة كيفية استرداد قيمة
للحصول على معلومات حول حساب اللاعب، يُرجى الاطّلاع على تسجيل الدخول في "ألعاب Android".
إحراز الإنجازات
لفتح إنجاز معيّن، يمكنك استدعاء طريقة AchievementsClient.unlock()
المرور في معرف الإنجاز.
يعرض مقتطف الرمز التالي طريقة تطبيقك في فتح الإنجازات:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
إذا كان الإنجاز من النوع تزايدي (أي يجب إدخال عدة خطوات
فتح قفله)، اتّصِل بالرقم AchievementsClient.increment()
بدلاً من ذلك.
يعرض مقتطف الرمز التالي كيفية مساهمة تطبيقك في زيادة إنجاز اللاعب:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(getString(R.string.my_achievement_id), 1);
لا تحتاج إلى كتابة رمز إضافي لفتح الإنجاز، خدمات ألعاب Google Play فتح الإنجاز تلقائيًا بعد وصوله إلى عدد الخطوات المطلوب.
من الممارسات الجيدة تحديد أرقام تعريف الإنجازات في ملف strings.xml
، بحيث
يمكن أن ترجع لعبتك إلى الإنجازات من خلال رقم تعريف المورد. عند إجراء مكالمات للتحديث والتحميل
إنجازاتك، فاحرص أيضًا على اتباع أفضل الممارسات هذه
تجنب تجاوز حصة واجهة برمجة التطبيقات.
عرض الإنجازات
لعرض إنجازات اللاعب، يُرجى الاتصال على الرقم AchievementsClient.getAchievementsIntent()
.
للحصول على Intent
لإنشاء
واجهة مستخدم الإنجازات التلقائية. يمكن للعبتك بعد ذلك إظهار واجهة المستخدم من خلال استدعاء
startActivityForResult
يعرض مقتطف الرمز التالي طريقة عرض تطبيقك لواجهة مستخدم الإنجاز التلقائي.
في المقتطف، يمثّل RC_ACHIEVEMENT_UI
عددًا صحيحًا عشوائيًا تستخدمه اللعبة كرمز للطلب.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
يظهر أدناه مثال لواجهة مستخدم الإنجازات التلقائية.