يوضّح لك هذا الدليل كيفية استخدام واجهات برمجة تطبيقات الإنجازات في تطبيقات Android لإلغاء تأمين الإنجازات في لعبتك وعرضها. يمكن العثور على واجهات برمجة التطبيقات
في حزم com.google.android.gms.games
وcom.google.android.gms.games.achievements
.
قبل البدء
إذا لم تكن قد فعلت ذلك من قبل، قد يكون من المفيد مراجعة مفاهيم ألعاب الإنجازات.
قبل البدء في الترميز باستخدام واجهة برمجة تطبيقات الإنجازات:
- اتبع إرشادات تثبيت تطبيقك وإعداده لاستخدام خدمات ألعاب Google Play في دليل إعداد خدمات Google Play SDK.
- حدِّد الإنجازات التي تريد أن تتيحها لعبتك أو تعرضها من خلال اتّباع التعليمات الواردة في دليل Google Play Console.
- نزّل نماذج نماذج الإنجازات وراجعها في صفحة نماذج Android.
- اطّلِع على الاقتراحات الموضّحة في قائمة التحقق من الجودة.
الحصول على عميل لإنجازات
لبدء استخدام واجهة برمجة التطبيقات لإنجازات، يجب أن تحصل لعبتك أولاً على كائن
AchievementsClient
. ويمكنك إجراء ذلك من خلال استدعاء طريقة
Games.getAchievementClient()
وتمرير النشاط.
فتح قفل الإنجازات
لإلغاء قفل أحد الإنجازات، يمكنك استدعاء طريقة AchievementsClient.unlock()
وتمرير رقم تعريف الإنجاز.
يعرض مقتطف الرمز التالي كيف يمكن لتطبيقك فتح قفل الإنجازات:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
إذا كان الإنجاز من النوع التزايدي (أي يتطلّب فتح قفله عدة خطوات)، يمكنك طلب AchievementsClient.increment()
بدلاً من ذلك.
يعرض مقتطف الشفرة التالي كيف يمكن لتطبيقك زيادة إنجازات اللاعب:
PlayGames.getAchievementsClient(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() { PlayGames.getAchievementsClient(this) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
في ما يلي مثال على واجهة مستخدم الإنجازات التلقائية.