-->

Mengatasi Error Leaderboards dan Achievement Games

Saat kita mulai membangun sebuah games sangat baik jika dapat dihubungkan dengan Google Play Games. Kita dapat menggunakan fitur yang ada pada Play Games tersebut. Ada dua macam fitur yang sering dipakai oleh developer yakni Leaderboard dan Achievement games.

Namun saat kita menerapkan pada Project Games sering mengalami kendala misalnya Score atau nilai tidak tersimpan. Bahkan ada yang tidak bisa terhubung langsung ke Play Games. Keadaan seperti ini pernah kami alami dalam menerapkan Leaderboard game. 

Oleh Sebab itu artikel ini kami tulis untuk membantu anda jika mengalami kesulitan.

Sebelumnya anda dapat membaca artikel kami mengenai Leaderboard Game : Penerapan di Games menggunakan Android Studio

Pada kesempatan kali ini kami akan membahas tiga permasalahan umum yang menyebabkan Error pada Leaderboards yaitu:

1.  BaseGameActivity Tidak Dipasang
2.  Kesalahan pada Build.Gradle 
3. Tidak terhubung dengan GoogleApiClient

Permasalahan Error Leaderboards

Sebenarnya ada beberapa penyebab sehingga Leaderboards game tidak terhubung dengan Play game. Untuk itu kita akan melihat satu persatu permasalahan yang menjadi kendala dalam penerapan diu dalam game.

1.  BaseGameActivity Tidak Dipasang

Salah satu penyebab utama yang membuat Leaderboard serta Achievement tidak terhubung yakni anda tidak memasang BaseGameActivity di dalam class java. BaseGameActivity merupakan "otak" utama untuk menghubungkan dengan Play Game.

Untuk saat ini kami tidak akan membahas satu demi satu script BaseGameActivity. Namun intinya anda perlu memasang BaseGameActivity pada class java. Anda dapat mendownload langsung folder BaseGameActivity di sini. Atau anda juga melihat secara langsung file di Github.

Setelah selesai mengunduh file anda hanya perlu menyalin ke dalam class java. 

Penerapan BaseGameActivity cukup mudah, misalnya ekstensi package name com.androidstudio.games. Maka salinlah ke dalam folder GamesAnda → app → scr →main → java → com → anddroidstudio → games. 

Folder tersebut adalah basegame dimana didalamnya terdapat tiga class java antara lain :

a. BaseGameActivity.java
b. GameHelper.java
c. GameHelperUtils.java

Setelah selesai menyalin seluruh data folder BaseGame hanya perlu menyesuaikan package name pada class java BaseGameActivity. 

Dan terakhir ada perlu menyalin kode peringatan saat telah terhubung ke dalam String.xml. Kode yang versisdk maksud adalah sebagai berikut:

 <string name="gamehelper_sign_in_failed">Gagal tersambung ke Google Play Game. Coba lagi</string>
<string name="gamehelper_app_misconfigured">Aplikasi salah dikonfigurasi. Periksa apakah nama paket dan sertifikat penandatanganan cocok dengan ID klien yang dibuat di Konsol Pengembang. Selain itu, jika aplikasi belum dipublikasikan, periksa apakah akun yang Anda coba masuk dengan tercantum sebagai akun penguji. Lihat log untuk informasi lebih lanjut.</string>
<string name="gamehelper_license_failed">Cek lisensi gagal</string>
<string name="gamehelper_unknown_error">Kesalahan yang tidak diketahui.</string>

copy seluruh script di atas dan paste ke res → value → string.xml. Jika semuanya ada sudah terapkan untuk pemasangan BaseGameActivity kami yakin Gamesnya suda dapat terhubung ke Play Games.

Apabila cara pertama sudah anda terapkan dan masih terkendala kemungkinan permasalahan masih ada dan ada bisa membaca point kedua. 

2.  Kesalahan pada Build.Gradle 

Sebelumnya kami pernah mengalami error saat melakukan build apk pada android studio yang mana mengeksekusi project Game. Hal tersebut menjadikan pengalaman menjadi sebuah tulisan kali ini. Dimana kesalahan muncul pada Build.gradle yang masih kurang lengkap untuk sebuah project games. 

Beberapa file penting yang harus tambahkan pada build.gradle (Module:app) yaitu

  1. multiDexEnabled
  2. dexOptions
  3. lintOptions
  4. play-services
Untuk selengkapnya ada hanya perlu menyalin script yang sudah kami bold berikut ke dalam build.gradle:
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
         versionName "1.1.0"
        multiDexEnabled true
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    lintOptions {
        abortOnError false
    }


Kemudian salin juga play service dan multidex yang sudah versisdk bold pada dependencies build.gradle
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:support-v4:25.1.0'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:multidex:1.0.1'

}


Jika sudah menyalin seluruh data pada build.gradle silakan anda sync now project dan tunggu hingga proses sinkronisasi selesai.

3. Tidak terhubung dengan GoogleApiClient

Apabila dua point tersebut di atas masih belum memberikan solusi pada error leaderboards kemungkinan besar anda belum menerapkan GoogleApiClient. Secara sederhana anda perlu memperkenalkan sebuah perintah GoogleApiClient yang mudah untuk di panggil.

Misalnya kami akan menggunakan mclient saat menggunakan GoogleApiClient. Oleh Sebab itu cukup memasang perintah berikut dibawah public class utama :


GoogleApiClient mclient;
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.level_activity);
        mclient = getApiClient();


Selanjutnya anda tinggal memanggil ulang dengan lebih singkat yaitu mclient.

Sebagai contoh lagi Kami ingin membuka Daftar Leaderboard maka cukup menggunakan script berikut:

if (mclient.isConnected()) {
                                    startActivityForResult(Games.Leaderboards.getLeaderboardIntent(
                                            getApiClient(), getString(R.string.leaderboard_quiz_app)),
                                            1);}


Demikian dulu mengenai postingan kami Mengatasi Error Leaderboards dan Achievement Games. Jika dari beberapa point di atas belum memberikan solusi dari permasalahan Leaderboard silakan anda berkomentar.

Share this with short URL:

Anda mungkin suka ini:

Use parse tool to easy get the text style on disqus comments:
Show Parser Hide Parser