إنجازات ألعاب Android

يوضّح لك هذا الدليل كيفية استخدام واجهات برمجة تطبيقات الإنجازات في أحد تطبيقات Android. لفتح الإنجازات في لعبتك وعرضها. يمكن العثور على واجهات برمجة التطبيقات في com.google.android.gms.games وcom.google.android.gms.games.achievements حزم.

قبل البدء

إذا لم تكن قد فعلت ذلك بالفعل، فقد تجد أنه من المفيد مراجعة مفاهيم ألعاب الإنجازات.

قبل بدء الترميز باستخدام واجهة برمجة تطبيقات الإنجازات:

الحصول على عميل إنجازات

لبدء استخدام واجهة برمجة تطبيقات الإنجازات، يجب أن تحصل لعبتك أولاً على 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);
        }
      });
}

يظهر أدناه مثال لواجهة مستخدم الإنجازات التلقائية.