Achievement Games: Cara Menerapkan Memakai Android Studio
Achievement Games, Cara menerapkan dalam Aplikasi dengan memakai Android Studio. Achievement dalam sebuah game pada umumnya merupakan proses derma hadiah / reward menyerupai medali atau pun ikon gambar yang mengisyaratkan suatu bentuk pencapaian pengguna dikala bermain games tersebut.
Achievement sering diartikan sebagai sebuah prestasi yang dibentuk dalam bentuk tanda menyerupai ikon gambar atau pun tropi medali.
Sebagai Contoh kami menciptakan sebuah games quiz bertemakan pendidikan dimana, kalau seseorang telah berhasil menjawab pertanyaan maka akan di beri kenaikan pangkat. Kami memulai derma pangkat menurut status kepangkatan pada instansi pemerintahan yakni pangkat ASN. Di mulai dari pangkat IA sampai pangkat tertinggi IV C.
Pada prosesnya pengguna harus bisa menjawab beberapa tingkatan soal dengan benar semoga Achievement atau prestasi sanggup terbuka dan selanjutnya akan ada pangkat yang sanggup diberikan. sedangkan untuk nilai yang benar kami menyambungkan ke dalam Leaderboard games. Anda bisa membaca artikel kami sebelumnya tentang Leadearboard Game: Cara Menerapkan dalam Aplikasi Game di Android Studio.
Ada beberapa point klarifikasi mengenai cara penerapan Achievement pada aplikasi game di menyerupai berikut::
btnHighScore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent nilai = new Intent(MainActivity.this, Score.class);
startActivity(nilai);
}
});
Script di atas memperlihatkan arahan bahwa kalau tombol btnHighScore di klik maka pengguna akan beralih ke btnHighScore.class yang sebelumnya berada pada MainActivity.class . Pada rujukan kali ini Tombol btnHighScore sendiri di letakkan pada halaman utama Game yakni pada fungsi class MainActivity.
Sedangkan kalau tombol di klik oleh pengguna dan menampilkan tampilan melayang atau popup di halaman utama anda bisa memakai script menyerupai berikut:
Fungsi tersebut sama artinya dengan tampilan peringatan dikala pengguna ingin mengakhiri atau menutup aplikasi. Hanya saja fungsi AlertDialog telah dilakukan sedikit modifikasi semoga sanggup menampilkan prestasi serta score pengguna.
Pada script di atas juga terdapat beberapa pilihan yang bisa ditampilkan dalam pop up yang juga di bagi dalam fungsi case. Dalam belahan list kegiatan java diatas kami memisahkan case ke dalam tiga bab yakni :
Baca juga : Mengatasi Error Leaderboards dan Achievement Games
Sambungkan terlebih dahulu GoogleApiClient semoga tidak muncul error. letakkan di bawah public class ..... extends Activity, source code berikut:
GoogleApiClient mclient;
mclient = getApiClient();
Selanjutnya untuk membuka salah satu pencapaian yang tingkatannya lebih rendah gunakan rujukan source code sebagai berikut:
Jika anda perhatikan listing kode di atas kita berhasil membuka salah satu level dikala pengguna tersambung ke layanan google games. Perhatikan bahwa anda harus memastikan R.String.achievement harus sama setiap kali harus di buka.
Contoh selanjutnya kita akan membuka level di dikala pengguna memperoleh poin 5 atau lebih besar dari 5. Listing programnya sebagai berikut:
if (result >= 5) {
// pangkat juru muda tk.1 (1B)
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda_tk));
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
Logika dari source code di atas yakni kalau (IF) nilai >= 5 maka R.String.achievement_juru_muda_tk akan terbuka.
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);
Agar lebih memahami secara keseluruhan, source kode penerapan Achievement secara lengkap kami sajikan sebagai berikut:
btnHighscore.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final AlertDialog.Builder menuAleart = new AlertDialog.Builder(Score.this);
final String[] menuList = {"Rangking Satu", "Naik pangkat", "Skor Lokal"};
menuAleart.setTitle("Papan Peringkat");
menuAleart.setItems(menuList, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch (item) {
case 0:
if (mclient.isConnected()) {
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(
getApiClient(), getString(R.string.leaderboard_quiz_app)),1);
}
break;
case 1:
if(mclient.isConnected())
{
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda));
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);
}
break;
case 2:
Intent i = new Intent(Score.this, Highest_Score.class);
startActivity(i);
break;
}
}
});
AlertDialog menuDrop = menuAleart.create();
menuDrop.show();
}
});
@Override
public void onSignInSucceeded () {
// TODO Auto-generated method stub
Log.d("sigin succeded", "inside on onSignInSucceeded");
if (mclient.isConnected()) {
Games.Leaderboards.submitScore(getApiClient(),
getString(R.string.leaderboard_quiz_app),
Long.valueOf(score));}
if (result >= 5) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda_tk)); // pangkat juru muda tk.1 (1B)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 10) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru)); // pangkat juru (1C)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 16) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur_muda)); // pangkat pengatur muda (2A)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 21) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur_muda_tk)); // pangkat pengatur muda tingkat 1 (2B)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 31) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur)); // pangkat pengatur muda tingkat 1 (2C)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 41) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur_tingkat_1)); // PANGKAT 2D
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 51) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_penata_muda)); // PANGKAT 3A
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 61) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_penata_muda_tk_1)); // PANGKAT 3B
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
Silakan anda baca tutorial step by step untuk bisa memahami penerapan achievement. Jika kurang paham silakan masukan komentar.
Demikian postingan kami mengenai "Achievement Games: Cara menerapkan dalam Aplikasi dengan memakai Android Studio" semoga sanggup bermanfaat.
Achievement sering diartikan sebagai sebuah prestasi yang dibentuk dalam bentuk tanda menyerupai ikon gambar atau pun tropi medali.
Sebagai Contoh kami menciptakan sebuah games quiz bertemakan pendidikan dimana, kalau seseorang telah berhasil menjawab pertanyaan maka akan di beri kenaikan pangkat. Kami memulai derma pangkat menurut status kepangkatan pada instansi pemerintahan yakni pangkat ASN. Di mulai dari pangkat IA sampai pangkat tertinggi IV C.
Pada prosesnya pengguna harus bisa menjawab beberapa tingkatan soal dengan benar semoga Achievement atau prestasi sanggup terbuka dan selanjutnya akan ada pangkat yang sanggup diberikan. sedangkan untuk nilai yang benar kami menyambungkan ke dalam Leaderboard games. Anda bisa membaca artikel kami sebelumnya tentang Leadearboard Game: Cara Menerapkan dalam Aplikasi Game di Android Studio.
Pengenalan Dasar Achievement Games
Sebelum anda memulai untuk melaksanakan penerapan API ID Achievement ada baiknya anda membaca terlebih dahulu artikel kami mengenai Cara Membuat leaderboard dan Achievement Game Pada Google Play. Ini dimaksudkan semoga anda telah memiliki ID Achievement yang nantinya bisa di aplikasikan pada project games anda.Ada beberapa point klarifikasi mengenai cara penerapan Achievement pada aplikasi game di menyerupai berikut::
- Persiapkan button
- Memasang Achievement Client
- Membuka ID Achievement
- MenampilkanAchievement
1) Persiapan Button
Pertama-tama anda harus menyediakan sebuah button atau tombol yang sanggup dilihat oleh pengguna serta bisa di klik dengan mudah. Tombol tersebut di usahakan sanggup menampilkan achievement dalam mode pop up atau melayang. Contoh sederhananya menyerupai berikut:btnHighScore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent nilai = new Intent(MainActivity.this, Score.class);
startActivity(nilai);
}
});
Script di atas memperlihatkan arahan bahwa kalau tombol btnHighScore di klik maka pengguna akan beralih ke btnHighScore.class yang sebelumnya berada pada MainActivity.class . Pada rujukan kali ini Tombol btnHighScore sendiri di letakkan pada halaman utama Game yakni pada fungsi class MainActivity.
Sedangkan kalau tombol di klik oleh pengguna dan menampilkan tampilan melayang atau popup di halaman utama anda bisa memakai script menyerupai berikut:
btnHighscore.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final AlertDialog.Builder menuAleart = new AlertDialog.Builder(Score.this);
final String[] menuList = {"Rangking Satu", "Naik pangkat", "Skor Lokal"};
menuAleart.setTitle("Papan Peringkat");
menuAleart.setItems(menuList, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch (item) {
case 0 :
{
fungsi 1 yang ingin anda di tampilkan
}
case 1 :
{
fungsi 2 yang ingin anda di tampilkan
}
case 2 :
{
fungsi 3 yang ingin anda di tampilkan
}
a. Memasang AlertDialog
Supaya dikala pengguna menekan tombol prestasi muncul popup pada tampilan maka anda harus memasang fungsi final AlertDialog.Builder menuAleart = new AlertDialog.Builder(Score.this);Fungsi tersebut sama artinya dengan tampilan peringatan dikala pengguna ingin mengakhiri atau menutup aplikasi. Hanya saja fungsi AlertDialog telah dilakukan sedikit modifikasi semoga sanggup menampilkan prestasi serta score pengguna.
Pada script di atas juga terdapat beberapa pilihan yang bisa ditampilkan dalam pop up yang juga di bagi dalam fungsi case. Dalam belahan list kegiatan java diatas kami memisahkan case ke dalam tiga bab yakni :
- fungsi 1 : menampilkan leaderboard games (Rangking Satu)
- fungsi 2 : menampilkan achievement games (Naik Pangkat)
- fungsi 3 : menampilkan score lokal (Skor lokal)
Anda tinggal menyesuaikan saja penerapan fungsi di atas, apakah ingin di tambahkan atau pun dikurangi.
Sebelumnya anda harus memilih nilai dari setiap pencapaian yang akan terbuka dikala pemain berhasil menuntaskan suatu tahap. Ada baiknya berikan 5 poin untuk mudah, 20 poin untuk sedang dan 50 point untuk sulit. Silakan anda atur nilai atau poin pada setiap levelnya.
Apabila anda telah selesai mengatur poin atau nilai, silakan untuk menyalin ID Achievement pada games_id.xml. Fungsinya sebagai data yang nantinya akan di panggil pada class java.
Simpan ID Achievement di file res → value → games_ids.xml . Kode tersebut sanggup anda temukan pada layanan Game google play.
Caranya :
b. Menentukan Poin
Sebelumnya anda harus memilih nilai dari setiap pencapaian yang akan terbuka dikala pemain berhasil menuntaskan suatu tahap. Ada baiknya berikan 5 poin untuk mudah, 20 poin untuk sedang dan 50 point untuk sulit. Silakan anda atur nilai atau poin pada setiap levelnya.
Apabila anda telah selesai mengatur poin atau nilai, silakan untuk menyalin ID Achievement pada games_id.xml. Fungsinya sebagai data yang nantinya akan di panggil pada class java.
Simpan ID Achievement di file res → value → games_ids.xml . Kode tersebut sanggup anda temukan pada layanan Game google play.
Caranya :
- Buka layanan game
- kemudian pilih Pencapaian
- Selanjutnya klik "Dapatkan sumber daya"
- Akan muncul popup yang berisi ID Achievement beserta ID Leaderboards.
- Salin seluruh source code tersebut dan simpan pada res → value → games_ids.xml
- Jika belum ada games_ids.xml silakan buat terlebih dahulu.
Untuk rujukan ID Achievement yang kami salin dari Layanan games yaitu sebagai berikut:
<?xml version="1.0" encoding="utf-8"?>
<!--
Google Play game services IDs.
Save this file as res/values/games-ids.xml in your project.
-->
<resources>
<!-- app_id -->
<string name="app_id" translatable="false">270281185935</string>
<!-- package_name -->
<string name="package_name" translatable="false">com.farrelstudio.ukg</string>
<!-- achievement Juru Muda -->
<string name="achievement_juru_muda" translatable="false">CgkIj7WO8O4HEAIQEg</string>
<!-- achievement Juru Muda Tk.1 -->
<string name="achievement_juru_muda_tk.1" translatable="false">CgkIj7WO8O4HEAIQAg</string>
</resources>
<!--
Google Play game services IDs.
Save this file as res/values/games-ids.xml in your project.
-->
<resources>
<!-- app_id -->
<string name="app_id" translatable="false">270281185935</string>
<!-- package_name -->
<string name="package_name" translatable="false">com.farrelstudio.ukg</string>
<!-- achievement Juru Muda -->
<string name="achievement_juru_muda" translatable="false">CgkIj7WO8O4HEAIQEg</string>
<!-- achievement Juru Muda Tk.1 -->
<string name="achievement_juru_muda_tk.1" translatable="false">CgkIj7WO8O4HEAIQAg</string>
</resources>
2) Memasang Achievement Client
Langkah selanjutnya, kita harus menghubungkan Games.getAchievementClient(). Hal ini sangat penting untuk membuka setiap tingkat level pencapaian yang telah anda atur pada layanan game google play.Baca juga : Mengatasi Error Leaderboards dan Achievement Games
Sambungkan terlebih dahulu GoogleApiClient semoga tidak muncul error. letakkan di bawah public class ..... extends Activity, source code berikut:
GoogleApiClient mclient;
mclient = getApiClient();
3) Membuka ID Achievement
Agar sanggup membuka sebuah pencapaian, games harus terhubung dengan Games.Achievements.unlock dan tersambung ID Achievement. Anda bisa menghubungkan ID achievement pada games_id.xml.Selanjutnya untuk membuka salah satu pencapaian yang tingkatannya lebih rendah gunakan rujukan source code sebagai berikut:
if(mclient.isConnected())
{
// pangkat juru muda (1A)
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda));
// membuka ID achievement_juru_muda
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);
}
{
// pangkat juru muda (1A)
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda));
// membuka ID achievement_juru_muda
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);
}
Jika anda perhatikan listing kode di atas kita berhasil membuka salah satu level dikala pengguna tersambung ke layanan google games. Perhatikan bahwa anda harus memastikan R.String.achievement harus sama setiap kali harus di buka.
Contoh selanjutnya kita akan membuka level di dikala pengguna memperoleh poin 5 atau lebih besar dari 5. Listing programnya sebagai berikut:
if (result >= 5) {
// pangkat juru muda tk.1 (1B)
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda_tk));
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
4) Menampilkan Achievement
Sebenarnya untuk menampilkan achievement sudah kami tampilkan di atas yakni dengan sorce code berikut:startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);
Agar lebih memahami secara keseluruhan, source kode penerapan Achievement secara lengkap kami sajikan sebagai berikut:
btnHighscore.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final AlertDialog.Builder menuAleart = new AlertDialog.Builder(Score.this);
final String[] menuList = {"Rangking Satu", "Naik pangkat", "Skor Lokal"};
menuAleart.setTitle("Papan Peringkat");
menuAleart.setItems(menuList, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch (item) {
case 0:
if (mclient.isConnected()) {
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(
getApiClient(), getString(R.string.leaderboard_quiz_app)),1);
}
break;
case 1:
if(mclient.isConnected())
{
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda));
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);
}
break;
case 2:
Intent i = new Intent(Score.this, Highest_Score.class);
startActivity(i);
break;
}
}
});
AlertDialog menuDrop = menuAleart.create();
menuDrop.show();
}
});
@Override
public void onSignInSucceeded () {
// TODO Auto-generated method stub
Log.d("sigin succeded", "inside on onSignInSucceeded");
if (mclient.isConnected()) {
Games.Leaderboards.submitScore(getApiClient(),
getString(R.string.leaderboard_quiz_app),
Long.valueOf(score));}
if (result >= 5) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru_muda_tk)); // pangkat juru muda tk.1 (1B)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 10) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_juru)); // pangkat juru (1C)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 16) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur_muda)); // pangkat pengatur muda (2A)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 21) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur_muda_tk)); // pangkat pengatur muda tingkat 1 (2B)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 31) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur)); // pangkat pengatur muda tingkat 1 (2C)
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 41) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_pengatur_tingkat_1)); // PANGKAT 2D
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 51) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_penata_muda)); // PANGKAT 3A
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
if (result >= 61) {
Games.Achievements.unlock(mclient, getString(R.string.achievement_penata_muda_tk_1)); // PANGKAT 3B
startActivityForResult(Games.Achievements.getAchievementsIntent(mclient), 1);}
Silakan anda baca tutorial step by step untuk bisa memahami penerapan achievement. Jika kurang paham silakan masukan komentar.
Demikian postingan kami mengenai "Achievement Games: Cara menerapkan dalam Aplikasi dengan memakai Android Studio" semoga sanggup bermanfaat.
0 Response to "Achievement Games: Cara Menerapkan Memakai Android Studio"
Post a Comment