Cara Integrasi Rainbow API pada Android Apps

Familiar dengan Rainbow API? Kalau belum (atau sudah), mungkin artikel ini cocok buatmu!

Di sini, saya ingin mengupas bagaimana kita developer bisa mengintegrasikan Rainbow API pada aplikasi Android yang sedang kita kembangkan.
Pertama, apa sih Rainbow itu? Rainbow adalah solusi cloud hybrid dari Alcatel Lucent perusahaan teknologi dunia asal Perancis yang menawarkan layanan komunikasi dan kolaborasi fungsional.
Nah, Rainbow API itu Software Development Kit-nya yang juga keluaran Alcatel-Lucent. Dalam pengembangan aplikasi, kita memerlukan Rainbow API agar aplikasi dapat terhubung dengan layanan yang ada pada Rainbow, seperti Authentication, Contacts, Conversation, File Sharing dan masih banyak lainnya.
Rainbow API terdiri dari beberapa SDK yang bisa digunakan, seperti SDK untuk Web, SDK untuk Node.js dan SDK untuk Mobile. SDK untuk Mobile sendiri dapat digunakan dalam pengembangan aplikasi berbasis iOS dan Android.

Pada artikel kali ini kita akan belajar bagaimana cara mengintegrasikan Rainbow API ke dalam project Android.

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Prasyarat Penggunaan Rainbow SDK pada Project Android

Untuk menggunakan Rainbow SDK pada project Android, minimal target API level pada project adalah 16 “JellyBean.” Tools yang digunakan untuk pengembangan adalah Android Studio, yaitu Integrated Development Environment (IDE) resmi dari Google yang didedikasikan bagi pengembangan aplikasi Android.

Konfigurasi Project Android

Pada pembuatan project baru di Android Studio pastikan kamu memilih minimal SDK Version 16 seperti berikut :  

Android Studio

Android Studio

Setelah project berhasil dibuat, pastikan kembali minimal SDK version pada berkas (file) build.gradle adalah 16 dan terdapat juga konfigurasi compileOptions seperti berikut :


Konfigurasi compileOptions di atas penting karena Rainbow SDK memerlukan fitur yang terdapat pada Java 8. Selanjutnya tambahkan konfigurasi maven repository & dependensi Rainbow SDK pada berkas build.gradle yang berada pada module app seperti berikut :


Setelah menambahkan konfigurasi maven repository & dependensi Rainbow, lakukan sinkronisasi project dengan menekan tombol Sync Now.
Rainbow SDK memerlukan beberapa permission yang perlu ditambahkan pada berkas AndroidManifest.xml seperti berikut :


Selanjutnya, tambahkan class baru yang mewarisi class Application. Class ini nantinya akan digunakan untuk inisialisasi Notification Builder & Rainbow.
Untuk inisialisasi Rainbow sendiri terdapat dua kondisi yang bisa digunakan.

  • Kondisi pertama adalah kondisi dimana jika project ingin di hubungkan ke official Rainbow Environment seperti berikut :


    Inisialisasi Rainbow di atas membutuhkan dua parameter, yaitu applicationId & secretKey yang bisa didapat pada dashboard developer di halaman hub.openrainbow.com. Parameter applicationId & secretKey diperlukan untuk mengidentifikasi project seperti apa yang sedang developer kembangkan.
  • Selanjutnya adalah kondisi ketika project ingin dihubungkan ke Developer Sandboxed Rainbow seperti berikut :


    Berbeda dengan kondisi pertama, kondisi di atas tidak membutuhkan applicationId & secretKey. Kenapa? Karena kondisi ini biasa digunakan pada project yang masih dalam tahap pengembangan.

Setelah inisialisasi Notification Builder & Rainbow, selanjutnya mari kita daftarkan class yang digunakan untuk inisialisasi ke dalam AndroidManifest.xml seperti berikut:

Menghubungkan ke Rainbow

Untuk menghubungkan project dengan layanan yang ada pada Rainbow, hal yang pertama dilakukan adalah menjalankan service Rainbow dengan memanggil fungsi start() seperti berikut :


Jika berhasil menjalankan service Rainbow, lanjutkan dengan memanggil fungsi Sign In seperti berikut :


Fungsi Sign In di atas membutuhkan tiga parameter, seperti login, password & host. Parameter login adalah email dari user yang terdaftar pada platform Rainbow.
Untuk parameter host, kita bisa menggunakan sandbox.openrainbow.com jika project terhubung ke Developer Sandboxed Platform. Alternatifnya, bisa juga tanpa parameter host seperti berikut :


Pemanggilan fungsi runThreadOnUI() bertujuan agar komponen yang berjalan pada UI Thread bisa dipanggil dan dijalankan. Sebabnya, Callback Listener dari SigninResponseListener() sendiri masih berada pada Background Thread. Fungsi runThreadOnUI() sendiri masih bisa disederhanakan lagi menjadi seperti berikut :


Semoga saat kamu menjalankan project di atas hingga fungsi Sign in, berhasil yah! Jika ya, akan tampil Toast dengan pesan yang sudah ditentukan seperti ini.

Aturan penggunaan Host

Pemanggilan fungsi Sign In bisa tanpa menggunakan parameter host. Catatan:  

  • Host terakhir yang dipanggil adalah host akan yang digunakan.
  • Jika pemanggilan fungsi Sign In baru pertama kali, maka secara otomatis akan dihubungkan ke Rainbow Official Platform “openrainbow.com”. Namun, jika masih dalam tahap pengembangan disarankan untuk menggunakan Developer Sandboxed Platform.

Semoga artikel ini dapat membantu anda. Jika ada pertanyaan, silakan tinggalkan komentar di halaman blog ini dan kami akan membantu anda.


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.