Cara buat widget sisa quota internet / pulsa di android
Kamu capek dengan cara cek quota / pulsa yg ribet via USSD atau SMS atau aplikasi khusus yang seringnya malah minta update melulu ?
Ada nggak sih cara yg nggak ribet buat cek quota / pulsa, misalnya selalu tampil di widget gitu ?
Pada screenshot di atas, penulis berhasil membuat widget yang menampilkan sisa quota internet, tanggal kadaluarsa dan sisa hari sebelum kadaluarsa.
Berikut adalah aplikasi yang diperlukan :
Cara yang penulis lakukan adalah berbasis web, yaitu cek quota / pulsa dengan menyadap alamat web yang diakses oleh aplikasi MyTelkomsel dengan menggunakan Packet Capture.
Langkah-langkahnya adalah :
A. Packet Capture
- instal & buka aplikasi Packet Capture
- instal sertifikat SSL
- mulai proses sadap dengan tap tombol Play1 :
- pilih aplikasi MyTelkomsel dari daftar aplikasi yang ditampilkan :
- buka aplikasi MyTelkomsel sampai informasi sisa pulsa & quota selesai ditampilkan
- kembali ke Packet Capture dan tap tombol Stop :
- buka tiap2 hasil sadapan sampai ketemu alamat web /api/subscriber/bonuses di baris GET :
(panah merah = sisa quota internet dalam satuan bytes)
- copy alamat web lengkapnya (gabung baris Host & GET), yaitu menjadi tdw.telkomsel.com/api/subscriber/bonuses
- copy otorisasi login di baris Authorization, mulai Bearer sampai dengan sebelum baris User-Agent
- copy baris MYTELKOMSEL-MOBILE-APP-VERSION
- copy baris CHANNELID
B. Zooper Widget
- buat widget Zooper di homescreen
- di widget tersebut, buat 3 elemen RichText untuk menampilkan sisa quota, tanggal kadaluarsa, dan sisa hari
- untuk teks sisa quota, di menu Edit text manually, masukkan #Tquota#
- untuk teks tanggal kadaluarsa, di menu Edit text manually, masukkan #Texpired#
- untuk teks sisa hari, di menu Edit text manually, masukkan #Texpdays#
C. Tasker
Bagi yang belum berpengalaman dengan Tasker, harap pelajari dasar-dasarnya di SINI dan banyak berlatih dulu sebelum mencoba membuat task cek quota ini.
Berikut ini adalah task lengkapnya :
Berikut ini adalah penjelasan masing-masing aksinya :
1. buat aksi Plugin ⇒ RESTask (untuk mengakses halaman web dengan tambahan header pada proses GET-nya).
Di tab Settings, isi Host dengan alamat lengkap web yang sudah dicopy tadi, yaitu tdw.telkomsel.com/api/subscriber/bonuses
Di tab Headers, tap +AddMore untuk membuat 3 header sehingga menjadi seperti berikut :
Header pertama adalah MYTELKOMSEL-MOBILE-APP-VERSION, isi dengan teks yang dicopy sebelumnya, lalu tap Save :
Header kedua adalah Authorization, isi dengan teks yang dicopy sebelumnya, lalu tap Save :
Header ketiga adalah CHANNELID, isi dengan teks yang dicopy sebelumnya, lalu tap Save :
Setelah ketiga header jadi, JANGAN LUPA tap ikon Save di toolbar atas.
2. buat aksi Variables ⇒ Variable Search Replace (untuk mengecek apakah halaman web tersebut berhasil diakses atau tidak).
Variable isi %rtres yang menyimpan data hasil akses ke web tdw.telkomsel.com/api/subscriber/bonuses.
Search isi Unable
Store Matches In isi %error
3. buat aksi Task ⇒ If (untuk menampilkan error jika web tidak bisa diakses).
Variable isi %error(#)
tipe komparasi pilih > (Maths: Greater than)
Value isi 0
4. buat aksi Plugin ⇒ ZooperWidget
tap ikon Edit di kanan Configuration
ZW Variable isi quota
ZW Text isi CAN'T CONNECT
lalu tap ikon Save di bawah
5. buat aksi Plugin ⇒ ZooperWidget
tap ikon Edit di kanan Configuration
ZW Variable isi expired
ZW Text tidak usah diisi
lalu tap ikon Save di bawah
6. buat aksi Task ⇒ Stop
7. buat aksi Task ⇒ End if
8. buat aksi Variables ⇒ Variable Split (untuk mendapatkan teks sesudah kata "Internet" di hasil RESTask, agar bukan quota video yg diproses)
Name isi %rtres
Splitter isi Internet
9. buat aksi Variables ⇒ Variable Search Replace (untuk mendapatkan teks quota beserta nilainya)
Variable isi %rtres2
Search isi quota":"\d*"
Store Matches In isi %quota
10. buat aksi Variables ⇒ Variable Search Replace (untuk mendapatkan teks numerik quota saja)
Variable isi %quota1
Search isi \d+
Store Matches In isi %quotanum
11. buat aksi Variables ⇒ Variable Set (untuk konversi quota dari satuan bytes jadi MegaBytes)
Name isi %quotamb
To isi %quotanum1 / 1024 / 1024
centang Do Maths
12. buat aksi Variables ⇒ Variable Split (untuk membuang angka kuota yg di belakang koma)
Name isi %quotamb
Splitter isi .
13. buat aksi Variables ⇒ Variable Search Replace (untuk mendapatkan tanggal kadaluarsa)
Variable isi %rtres2
Search isi date":"\d+-\d+-\d+
Store Matches In isi %exp
14. buat aksi Variables ⇒ Variable Search Replace (untuk membuang teks date di tanggal kadaluarsa)
Variable isi %exp1
Search isi date":"
centang Replace Matches
15. buat aksi Variables ⇒ Variable Convert (untuk konversi dari format YYYY-MM-DD menjadi detik)
Name isi %exp1
Function pilih Date time to seconds
Store Result In isi %expsec
16. buat aksi Variables ⇒ Variable Convert (untuk konversi dari detik menjadi bulan-tanggal)
Name isi %expsec
Function pilih Seconds to medium date time
Store Result In isi %exp1
17. buat aksi Variables ⇒ Variable Set (untuk menghitung sisa hari, yaitu detik kadaluarsa dikurangi detik sekarang, lalu dibagi detik sehari)
Name isi %expdays
To isi ceil( ( %expsec - %TIMES ) / (3600*24) )
centang Do Maths
18. buat aksi Variables ⇒ Variable Split (untuk memisah tahun kadaluarsa dari bulan & tanggal)
Name isi %exp1
Splitter isi ,
19. buat aksi Plugin ⇒ ZooperWidget (untuk update quota di widget)
tap ikon Edit di kanan Configuration
ZW Variable isi quota
ZW Text isi %quotamb1 MB
lalu tap ikon Save di bawah
20. buat aksi Plugin ⇒ ZooperWidget (untuk update tanggal kadaluarsa di widget)
tap ikon Edit di kanan Configuration
ZW Variable isi expired
ZW Text isi exp. %exp11
lalu tap ikon Save di bawah
21. buat aksi Plugin ⇒ ZooperWidget (untuk update sisa hari di widget)
tap ikon Edit di kanan Configuration
ZW Variable isi expdays
ZW Text isi %expdays days left
lalu tap ikon Save di bawah
Agar quota terupdate di widget secara berkala, jadwalkan task yang sudah dibuat di Tasker tersebut untuk berjalan tiap jam misalnya.
Jika kamu ingin membuat widget sisa pulsa juga bisa, caranya mirip dengan di atas, hanya saja ada 2 perbedaan, yaitu :
- alamat web yang perlu diakses adalah tdw.telkomsel.com/api/subscriber/v3/profile?msisdn=nomor_teleponmu
- teks yang perlu dicari di variabel %rtres adalah balance":"\d*"
(panah merah = sisa pulsa)
SELAMAT PUSING !!!