Lanjut ke konten
16 Mei 2013 / Jeffrey Hermanto Halimsetiawan

Menggunakan Layanan Flurry In-App Analytics pada Java ME

Berdasarkan data dari Cisco, jumlah perangkat mobile akan melebihi populasi manusia yang ada di bumi ini pada akhir tahun 2013. Tentunya bukanlah hal yang mengherankan apabila jumlah aplikasi mobile juga bertambah sangat cepat. Sayangnya, masih banyak pengembang aplikasi mobile yang belum melakukan analisis terhadap pengunaan aplikasi yang dilakukan oleh konsumen. Padahal, hasil analisis tersebut sangatlah berguna untuk menentukan arah pengembangan aplikasi mobile tersebut. Contohnya, sebagai pengembang game mobile kita ingin mengetahui berapa DAU (Daily Active Users), jumlah pengguna yang memainkan game lebih dari 5 kali, atau jumlah pengguna yang mampu mencapai level sekian dari game tersebut. Dari data-data analisis yang diperoleh tersebut, kita dapat mengetahui apakah tingkat kesulitan game tersebut terlalu sulit sehingga perlu menurunkan tingkat kesulitan game atau apakah game tersebut membosankan bagi konsumen sehingga perlu menambahkan fitur-fitur baru yang lebih menarik.

Salah satu layanan yang menawarkan layanan In-App Analytics secara gratis pada Java ME adalah Flurry. Langkah-langkah untuk menggunakan layanan In-App Analytics dari Flurry adalah sebagai berikut:

  1. Mendaftar akun Flurry pada tautan berikut.
  2. Masuk akun Flurry pada tautan berikut.
  3. Pilih tab “Applications”, klik pada pilihan “Add a New Application”.
  4. Pilih ikon “Java”.
    image
  5. Masukkan “Application Name” dan pilih “Categories” yang sesuai dengan aplikasi tersebut.
    image
  6. Pilih cara integrasi layanan Flurry yang diinginkan. Apabila ingin aplikasi di-wrap oleh layanan Flurry secara otomatis dengan hasil analisis yang standar, unggah JAD dan JAR files dari aplikasi tersebut. Namun, pilihan tersebut tidak dapat digunakan apabila kita ingin mempublikasikan aplikasi kita melalui Nokia Store. Nokia Store sangatlah sensitif terhadap privasi pengguna sehingga aplikasi harus menampilkan konfirmasi terlebih dahulu kepada pengguna apakah pengguna bersedia untuk mengirimkan data-data penggunaan aplikasi. Oleh karena itu, layanan Flurry harus diintegrasikan secara manual dengan SDK yang disediakan.
    image
  7. Unduh Flurry SDK for JavaME v1.1.
  8. Tambahkan library FlurryAgent.jar” pada project aplikasi.
  9. Tambahkan MIDlet-Permissions “javax.microedition.io.Connector.http” pada JAD file properties.
  10. Panggil method FlurryAgent.onStartApp(MIDlet, String) untuk memulai session pada saat pengguna telah setuju untuk mengirimkan data-data penggunaan aplikasi.
  11. Panggil method FlurryAgent.onDestroyApp() untuk mengakhiri session pada method destroyApp() yang dimiliki oleh kelas yang merupakan turunan dari MIDlet.
    public void destroyApp(boolean unconditional) {
        if (Utils.ALLOW_FLURRY_ANALYTICS){
            FlurryAgent.onDestroyApp();
        }
    }
  12. Panggil method FlurryAgent.onPauseApp() untuk menghentikan sementara session pada method pauseApp() yang dimiliki oleh kelas yang merupakan turunan dari MIDlet.
    public void pauseApp() {
        if (Utils.ALLOW_FLURRY_ANALYTICS){
            FlurryAgent.onPauseApp();
        }
    }
  13. Panggil method FlurryAgent.onEvent(event, parameter) untuk mengetahui user events yang terjadi pada suatu session seperti berapa kali sebuah button dipilih oleh pengguna.
    public static void logClickButton(String buttonName){
        if (! ALLOW_FLURRY_ANALYTICS)
            return;
    
        String event = "CLICK BUTTON";
        String key = "Count";
        Hashtable table = new Hashtable();
        table.put(key, buttonName);
        FlurryAgent.onEvent(event, table);
    }

Berikut adalah contoh screen yang digunakan untuk meminta persetujuan pengguna untuk mengirimkan data-data pengunaan aplikasinya pada game Tourism Quiz.WP_000048

NOTE: Jangan lupa memilih pilihan “yes” pada isian “App contains analytics” ketika mengunggah content files pada Nokia Store Publish.

Mudah sekali bukan untuk menambahkan fitur In-App Analytics pada aplikasi yang tentunya akan sangat bermanfaat pada pengembangan aplikasi mobile tersebut ke depannya. Selain Flurry, masih banyak penyedia layanan In-App Analytics lainnya yang bisa dicoba. Sudahkah rekan-rekan memanfaatkan layanan In-App Analytics pada aplikasi mobile nya?

Semoga bermanfaat!

22 April 2013 / Jeffrey Hermanto Halimsetiawan

Menampilkan Pengingat Rate Aplikasi dengan Telerik’s RateAppReminder pada Windows Phone

Tinggi dan banyak nya rating dari suatu aplikasi merupakan salah satu faktor yang menentukan ranking suatu aplikasi pada application store. Salah satu cara untuk meningkatkan rating dari aplikasi tersebut adalah dengan selalu mengingatkan pengguna agar melakukan rate & review terhadap aplikasi kita sehingga kemungkinan pengguna untuk memberikan rating semakin besar. Cara sederhanya yang dapat digunakan untuk mengimplementasikannya adalah:

  1. Tambahkan sebuah counter bertipe data Integer yang disimpan pada IsolatedStorageSettings.
  2. Ketika aplikasi dijalankan, lakukan increment pada nilai counter tersebut.
  3. Apabila nilai counter tersebut dibagi dengan periode rate reminder akan ditampilkan bersisa 0 maka tampilkan sebuah MessageBox pengingat.
  4. Jika user memilih OK pada MessageBox tersebut, manfaatkan MarketplaceReviewTask untuk menampilkan halaman rate dari aplikasi kita pada Windows Phone Store.

Kini dengan adanya Nokia Premium Developer Program yang memberikan Rad Controls for Windows Phone dari Telerik, hal tersebut dapat dilakukan dengan lebih mudah dan cepat. Langkah-langkah nya adalah sebagai berikut:

  1. Lakukan inisialisasi dari static class ApplicationUsageHelper dengan memasukkan parameter berupa versi dari aplikasi pada Application_Launching dan Application_Activated dalam App.xaml.cs.
    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        ApplicationUsageHelper.Init("1.1.0.0");
    }
    
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        ApplicationUsageHelper.OnApplicationActivated();
    }
  2. Tambahkan referensi beberapa .dll files yang diberikan oleh Telerik seperti Telerik.Windows.Core.dll dan Telerik.Windows.Controls.Primitives.dll ke dalam project. Kemudian, tambahkan definisi namespace berikut:
    using Telerik.Windows.Controls
  3. Tambahkan potongan kode berikut pada bagian kode yang akan digunakan untuk menampilkan RateAppReminder, misalnya pada Main Menu.
    RadRateApplicationReminder rateReminder = new RadRateApplicationReminder();
    rateReminder.RecurrencePerUsageCount = 10;
    rateReminder.Notify();

    Maksud dari kode tersebut adalah RateAppReminder akan ditampilkan setiap 10 kali aplikasi dijalankan. Pilihan lain yang dapat digunakan adalah RateAppReminder akan ditampilan setiap periode tertentu dengan mengubah property RecurrencePerTimePeriod.

Hasil dari potongan kode di atas ada seperti pada gambar berikut:

Screen Capture (2)

Sebagai tambahan, judul dan isi dari MessageBox tersebut juga dapat diubah dengan mengubah property MessageBoxInfo dari RadRateAppReminder.

Semoga bermanfaat!

21 April 2013 / Jeffrey Hermanto Halimsetiawan

Menampilkan Custom Message Box dengan Telerik’s RadMessageBox pada Windows Phone

Dalam mengembangkan sebuah aplikasi, seringkali kita memerlukan untuk menampilkan notifikasi atau respon tertentu kepada user, misalnya: konfirmasi atas pilihan yang dilakukan oleh user ataupun informasi terhadap pilihan yang diberikan oleh user. Dalam Windows Phone SDK sendiri telah menyediakan kelas MessageBox yang dapat digunakan untuk memudahkan hal tersebut.

MessageBox

Potongan kode yang dapat digunakan untuk menampilkan MessageBox di atas adalah sebagai berikut:

string title = AppResources.ResetGameMessageBoxTitle;
string message = AppResources.ResetGameMessageBoxMessage;
MessageBoxResult mb = MessageBox.Show(message, title, MessageBoxButton.OKCancel);

if (mb == MessageBoxResult.OK)
{
    // TODO: Add reset implementation here.

}

Sayangnya, pilihan respon yang disediakan terbatas hanya ‘”ok” dan “cancel” sehingga kita tidak dapat mengubah pilihan tersebut menjadi lebih banyak atau mengubahnya dengan kata lain. Kini dengan adanya Nokia Premium Developer Program yang memberikan Rad Controls for Windows Phone dari Telerik, hal tersebut dapat dilakukan dengan lebih mudah dan cepat. Langkah-langkah manualnya adalah sebagai berikut:

  1. Tambahkan referensi beberapa .dll files yang diberikan oleh Telerik seperti Telerik.Windows.Core.dll dan Telerik.Windows.Controls.Primitives.dll ke dalam project. Kemudian, tambahkan definisi namespace berikut:

    using Telerik.Windows.Controls;

  2. Tambahkan potongan kode berikut pada bagian kode yang akan digunakan untuk menampilkan MessageBox.
    string title = AppResources.EliminateKeyMessageBoxTitle;
    string msg = AppResources.EliminateKeyMessageBoxMessage;
    List<object> btnContent = new List<object>(){AppResources.DefaultGameMessageBoxOption1, 
                                                    AppResources.DefaultGameMessageBoxOption2};
    RadMessageBox.Show(btnContent, title, msg, null, false, false, HorizontalAlignment.Left, VerticalAlignment.Top, OnMsgBoxKeyboardClosed);
  3. Tambahkan Action<MessageBoxClosedEventArgs> yang berguna sebagai event handler ketika user telah memilih pilihan tertentu.
    private void OnMsgBoxKeyboardClosed(MessageBoxClosedEventArgs e)
    {
        if (e.Result == DialogResult.OK)
        {
            Button btn = e.ClickedButton;
            string command = btn.Content.ToString();
            if (command.Equals(AppResources.DefaultGameMessageBoxOption1))
            {
                // TODO: Response User Option
    
            }
        }
    }

Berikut adalah tampilan dari potongan kode tersebut:

RadMessageBox - 2 Options

Potongan kode tersebut juga dapat disesuaikan sehingga menampilkan 3 pilihan pada MessageBox seperti pada gambar berikut:

RadMessageBox - 3 Options

Semoga bermanfaat!

10 April 2013 / Jeffrey Hermanto Halimsetiawan

Travel Freaks

Travelling telah menjadi salah satu common interest bagi banyak orang. Kadang kala hanya melihat gambar-gambar object wisata dapat menjadi aktivitas yang menarik, apalagi jika kita dapat berkesempatan melihat langsung objek wisata tersebut. Di sisi lain, game bertipe quiz / trivia meskipun simpel tetapi selalu memancing rasa keingintahuan dari pemainnya untuk bermain terus menerus. Bagaimana jika keduanya sisi tersebut digabungkan? Tentunya akan sangat menarik sekali bukan dan Travel Freaks merupakan jawabannya.

Travel Freaks

Borobudur, Eiffel, Great Wall of China, and Kuta Beach are a few of famous tourist attractions. However, can you recognize all of tourist attractions around the world?
Travel Freaks challenges you to guess it using visual clues. Don’t worry if you know nothing because there are several help modes which can be used to beat the highest score. Enjoy the game!

Game ini telah tersedia pada Nokia Store dalam 2 versi, yaitu: paid apps dan try & buy bagi pengguna Nokia Asha Full Touch, Touch & Type, dan juga Belle.

Selamat mencoba! Have fun!

10 April 2013 / Jeffrey Hermanto Halimsetiawan

Series 40 On-Device Debugger

Saat melakukan proses debugging pada pengembangan aplikasi mobile, cara yang paling lazim dilakukan adalah dengan melakukan proses debug pada emulator dari mobile device. Namun, umumnya performa dari emulator cenderung lamban dan ada kalanya tidak 100 persen sama dengan respon yang diberikan pada device aslinya sehingga banyak orang yang menggunakan on-device debugging. Dalam pengembangan aplikasi Java pada Series 40, Nokia telah menyediakan sebuah tool yang dapat melakukan hal tersebut yaitu Series 40 On-Device Debugger.

Berikut adalah langkah-langkah untuk melakukan on-device debugging pada Nokia Series 40 (device yang digunakan adalah Nokia Asha 311 yang terhubung pada wireless network yang sama dengan notebook):

  1. Unduh Series 40 On-Device Debugger
    image
  2. Extract Series_40_On_Device_Debugger_v0_3_en.zip yang baru saja diunduh semisal pada: D:\Nokia\Devices
    image
  3. Buka Netbeans IDE yang telah terinstall Java ME SDK. image
  4. Pilih menu bar Tools – Java Platform
    image
  5. Klik button Add Platform
    image
  6. Pilih Java ME MIDP Platform Emulator dan klik button Next
    image
  7. Klik button Find More Java ME Platform Folders, pilih D:\Nokia\Devices\Series_40_On_Device_Debugger_v0_3_en\myplatform pada file chooser, dan tekan button Next
    image
  8. Klik button Finish
    image
  9. Buka folder D:\Nokia\Devices\Series_40_On_Device_Debugger_v0_3_en\myplatform\application, kemudian copy Debugger.jad dan Debugger.jar ke memory card device
    image
  10. Buka folder D:\Nokia\Devices\Series_40_On_Device_Debugger_v0_3_en\myplatform\bin, kemudian jalankan ConnectionManager.exe
    image
  11. Klik Add Device
    image
  12. Centang pilihan IP (e.g. 127.0.0.2) dan klik Next
    image
  13. Klik Connect
    image
  14. Jalankan aplikasi Debugger pada Nokia Asha 311
  15. Pilih IP Connection
  16. Pada Host address, masukkan alamat IP dari notebook dan pilih command Connect
  17. Apabila koneksi telah berhasil, pada aplikasi Debugger akan menampilkan teks “Phone is connected to the PC via IP connection, waiting for session to be started” dan pada aplikasi Connection Manager akan menampilkan gambar di bawah ini.
    image
  18. Buka salah satu project Java ME pada Netbeans IDE
  19. Klik kanan project name pada Projects Explorer dan pilih Run With …
    image
  20. Pilih series 40 on-device debugger version 0.2 beta pada Platform dan series_40_real_device pada Device dan klik OK
    image
  21. Proses On-Device Debugging telah siap berjalan.
    image

On-Device Debugging merupakan salah satu alternatif yang dapat digunakan untuk mempermudah dan mempercepat proses debugging. Sangat mudah bukan langkah-langkah yang harus dilakukan? Semoga bermanfaat!

Rancang situs seperti ini dengan WordPress.com
Mulai