Terima kasih kepada momod dan enthusiast subforum android yang telah memberikan izin untuk membuat rumah baru untuk membahas app automation : Automagic. Trit ini akan membahas salah satu app automation di Android, yang secara teoritis memungkinkan kita untuk melakukan apapun yang bisa dilakukan di dunia android. Bagi agan yang mungkin belum pernah mendengar Automagic, mungkin app lain yang jauh lebih terkenal di berbagai forum adalah Tasker. Ane sendiri ada ex tasker user, termasuk sering postingjuga di trit tasker sebelumnya. Nantinya ane akan menyajikan alasan mengapa ane akhirnya pindah ke Automagic, yang jauh lebih powerful daripada tasker.
Bagi agan yang belum pernah kenal dengan app automation, ane akan menyediakan pembahasan dengan perumpamaan sederhana serta contoh2 penggunaan automagic ini. Sementara untuk yang sudah pernah memakai app automation lain, terutama tasker, agan bisa membaca daftar alasan kenapa ane pindah ke automagic dan perbandingan fitur serupa di automagic vs tasker. Untuk agan2 yang mungkin ane arahkan ke trit ini dari postingan ane di trit lain, pertimbangkan dulu apakah agan memang perlu app ini untuk kebutuhan agan yang spesifik. Solusi terbaik belum tentu wajib pake automagic, bisa jadi ada alternatif lain yang lebih efektif dan hemat waktu.
Apa yang dibahas dimari
Trit ini berfungsi sebagai wadah diskusi all about automagic, termasuk :
- bertanya penjelasan fitur/fungsi di automagic
- Share flow yang sudah agan buat (baca panduan di bawah)
- Request flow untuk kebutuhan tertentu (baca panduan di bawah)
- Troubleshooting flow yang tidak berjalan sesuai yang diinginkan
- Plugins spesifik ataupun advanced function
- Tools pendukung seperti Intent Interception, RegEx UI, LogCat Extreme, adb di PC
- Penggunaan automagic untuk home automation ataupun internet of thing
- Pengembangan untuk konsep yang lebih luas di dunia nyata
Daftar isi trit ini
01. Pengenalan
02. Kisah ane bertemu Automagic
03. Automagic vs Tasker, Haruskah automagic, Persyaratan
04. Setup awal Automagic
05. Flow, Trigger, Condition
06. Action, Flow Navigation, Flow Element & Connector
07. Flow List, Execution, Variable
08. Custom Widget
09. FAQ
10. Flow sharing/request guide dan Daftar Flow sharing
Diubah oleh Desmanto 23-07-2017 11:25
raditzava5 dan 4 lainnya memberi reputasi
5
83.5K
Kutip
782
Balasan
Komentar yang asik ya
Mari bergabung, dapatkan informasi dan teman baru!
Tergantung agan download dari mana, step ini bisa berbeda. Intinya adalah agan install Automagic. Buka Automagic dan pilih aktifkan service nya. Jika automagic tidak aktif, semua flow tidak akan dieksekusi meskipun trigger terjadi dan flow nya enable.
Prompt Permission
Tergantung HH agan, terutama untuk HH Marshmallow ke atas dan beberapa ROM yang ada permission monitor; kemungkinan besar ketika buka pertama akan ada prompt minta izin permission, misalnya allow access to bla....Atau bisa juga ketika buat action/condition/trigger tertentu, akan muncul prompt untuk minta allow permission tambahan. Misalnya ketika setting action send SMS, maka akan muncul prompt allow sms; action Location, maka muncul prompt allow location access dan sebagainya. Agan perlu allow permission ini supaya automagic bisa melakukan fungsinya dengan sempurna. Kebanyakan jika ada error tidak bisa deteksi trigger tertentu atau action tidak bisa dijalankan, itu karena permission ataupun access yang belum diberikan ke automagic.
Kalau agan malas allow satu persatu, agan bisa cek permission monitor di setting HH agan. Letaknya berbeda2 di setiap HH, namanya juga bisa berbeda2, biasanya ada di Settings > Security > Permission Monitor; atau untuk HH yang MIUI-ish, ada di app terpisah dengan nama mobile security/security manager. Di setting permission ini, agan bisa langsung set permission mana aja yang agan allow untuk automagic. Jika agan percaya dengan dev nya, bisa langsung trust this app aja, artinya semua permissionnya diallow. Tentunya pastikan agan sudah tahu fungsi dari semua permission yang diminta.
Apakah dev dari automagic bisa dipercaya?
Untuk App automation seperti ini, biasanya yang pakai adalah power user dan dev lain juga. Mereka kurang lebih tahu cara mendeteksi apakah app nya ada malware atau tidak. Memang perlu research mendalam untuk menemukan aktivitas tersembunyi yang berbahaya. Tapi cukup satu aja tingkah laku aneh yang berbahaya, pasti akan memicu sejumlah dev untuk membedah app nya. Tentunya bedakan ini dengan bug yang tidak disengaja. Bisa terlihat perbedaannya dari niat dev nya ketika bug ditemukan, seberapa cepat dia merespon dan memperbaiki bug tersebut.
App automation yang uda terkenal dan sudah beberapa tahun seperti tasker, automagic, automate, llama rata2 sudah mempunyai reputasi yang bagus. Seandainya dev nya berulah, menyisipkan malware di dalamnya, hukuman dari para power user dan dev lain adalah sangat kejam. Nama mereka dan app mereka akan muncul jadi headline di sejumlah website dengan sejumlah daftar dosa yang mereka lakukan. Reputasi mereka akan hancur seketika, usaha mereka bertahun2 akan sia2. Nama mereka akan diblacklist, dijelek2kan namanya dan akan jadi bahan bully setidaknya untuk beberapa bulan ke depan. Lihat kasus airdroid, Es File Explorer versi free. Lihat juga kasus SuperSU yang ketika mereka mencoba menambahkan beberapa permission yang tidak diperlukan.
Tentunya semuanya itu kembali kepada agan masing2. Ane sendiri sejauh ini belum menemukan ada tingkah laku aneh yang berbahaya dari app ini. Fungsinya jauh melebihi dan menutupi perlunya permission yang segitu banyak. Sama seperti halnya agan mungkin tidak pernah mengeluhkan banyaknya permission dari app Facebook, Twitter, BBM, Whatsapp, dan masih banyak lainnya.
Additional setting
Spoiler for Additional Settings:
Selain permission standard, kemungkinan agan perlu mengaktifkan beberapa setting tambahan dari android, supaya automagic bisa berfungsi normal di beberapa trigger/condition/action yang membutuhkannya. Kebanyakan setting di bawah bisa diakses dari preferences Automagic. Buka Automagic > 3 dot menu (atau menu button) > Manage > Preferences. Untuk mengakses beberapa setting ini, jika tidak bisa ditemukan secara normal di Setting HH agan, bisa menggunakan shortcut activities dari Quickshortcutmaker. Bisa juga menggunakan Action Launch Activityyang ada di automagic.
1. Accessibility
Penjelasan : Semua app yang perlu mengakses berbagai elemen dari UI layout tanpa interaksi user, wajib mengaktifkan accessibility.
Diperlukan : Semua action/trigger yang berhubungan dengan UI control, seperti Control UI dan UI event.
Contoh : tap OK button di app lain, ataupun mengcopy text dari kotak url di browser.
Cara Setting : Automagic Preferences > Accessibility service > pilih Automagic > On dan konfirm. Atau jika agan carinya di settings, biasanya ada di bagian language & input atau more settings. Shortcut activities : com.android.settings/.Settings$AccessibilitySettingsActivity (Settings - Accessibility)
2. Device Administrators
Penjelasan : Setting ini berhubungan dengan permission apakah app boleh lock device atau tidak. Catatan khusus untuk setting ini adalah, begitu agan mengaktifkan device admin untuk app tertentu, android tidak akan membiarkan agan uninstall app ini secara normal. Jika agan aktifkan device admin untuk automagic dan ingin uninstall automagic, perlu uncheck dulu setting Device admin nya, baru bisa uninstall. Tapi untuk update/reinstall, tidak masalah.
Diperlukan : action/trigger yang berhubungan dengan lock, lockscreen dan PIN/Password, seperti Lock Device.
Contoh : menghidupkan HH dari sleep, melakukan flow tertentu dan kemudian sleep lagi; atau lock device ketika keluar dari jaringan wifi tertentu.
Cara Setting : Automagic Preferences > Device admin functions > Activate. Jika agan aktifkannya dari settings, biasanya ada di settings security > Device Administrators > Automagic > Activate. Shortcut activities : com.android.settings/.Settings$DeviceAdminSettingsActivity (Settings - Device administration settings)
3. Notification Access
Penjelasan : App biasanya hanya bisa mengakses notification mereka sendiri saja. Supaya bisa mengakses notif app lain, perlu grant access ini.
Diperlukan : trigger/condition/action yang mengakses ke notification dari app lain, seperti : Notification On Statusbar Displayed, Perfom Action on Notification on Statubar
Contoh : Jika ada notif sms masuk dengan kata kunci tertentu (SMS spam), hapus notif nya; Cek notifikasi bar apakah sudah selesai download, matikan wifi setelahnya
cara Setting : Automagic Preferences > Access to notifications > Centang Automagic dan konfirm. Atau jika aktifkan dari settings, biasanya ada di language & input atau more settings. Shortcut activities : com.android.settings/.Settings$NotificationAccessSettingsActivity (Settings - Notification Access)
4. App Usage Access
Penjelasan : Sejak LP 5.0, semua app yang mo mengakses statistik penggunaan app harus melalui App Usage Access ini.
Diperlukan : trigger/condition/action yang perlu mengecek running apps. Tidak semua nya harus menggunakan access ini, karena biasanya ada alternatif pengecekannya.
Contoh : mengecek jika app sedang running, maka set display ke full brightness; Jika app masuk ke background, set volume suara menjadi minimum
cara Setting : Tidak ada cara untuk setting langsung dari automagic. Agan tetap harus set dari settings, biasanya ada di settings security > App with usage access > centang Automagic. Shortcut activities : com.android.settings/.Settings$UsageAccessSettingsActivity (Settings - Apps with usage access)
5. External SDcard access
Penjelasan : Android JellyBean 4.3 ke bawah tidak perlu access ini (karena memang ga ada). Android Kitkat 4.4 tidak punya access ini karena limitasi dari google. External SDCard access diperlukan untuk Android Lollipop 5.0 karena adanya Storage Access Framework atau SAF (prompt select SDCard). Di mana setiap app yang mau write ke microsd/OTG flashdisk harus mendapatkan permission ini dulu. Tanpa External SDcard access granted, Automagic tidak bisa save/write file ke microsd/flashdisk. Prompt SAF ini disimpan per storage, jadi kalau ada write ke microsd/flashdisk baru, harus grant lagi untuk storage baru tersebut.
Diperlukan : Action yang save/write file ke microsd. Tergantung path nya, belum tentu harus perlu permission ini
Contoh : Otomatis memindahkan foto dari internal sdcard ke microsd setiap malam jam 12.
cara Setting : Automagic Preferences > External SD card access dan kemudian pilih microsd agan dari prompt Select SDcard nya. SAF disediakan oleh app bernama Documents (com.android.documentsui). Khusus HH siomay, agan perlu setting lagi karena limitasi bawaan dari HH mereka. Tidak ada cara untuk setting langsung dari Settings HH. Agan tetap harus munculkan prompt ini dari Automagic, supaya path ke microsdnya bisa digrant ke automagic.
6. Write Secure Settings
Penjelasan : Tidak semua app boleh mengubah system setting secara bebas. Ada beberapa value yang hanya boleh diubah oleh system app ataupun user app yang telah digrant permission Write_secure_setting. Ini untuk mencegah sembarangan app bisa mengubah settingan critical dan merusak sistem
Diperlukan : terutama untuk action set system setting, karena perlu mengakses database secure dari setting
Contoh : Set heads-up notification menjadi off selama main game tertentu.
cara Setting : Untuk grant secure setting, hanya bisa dilakukan via adb di PC. Agan perlu install adb dan drivernya, kemudian enable USB debugging di HH dulu. Setelah adb bisa dikenalin di PC, ketikkan command adb shell pm grant ch.gridvision.ppam.androidautomagic android.permission.WRITE_SECURE_SETTINGS
Jika agan uda root, maka bisa langsung pilih pake root saja, sehingga adb tidak diperlukan lagi.
7. Root Access
Penjelasan : Ini adalah advanced usage. Agan hanya bisa pilih ini kalau sudah root.
Diperlukan : trigger/condition/action yang butuh root untuk eksekusinya. Ada beberapa setting yang sudah dilimit di android versi baru, sehingga butuh root untuk mengubahnya.
Contoh : Toggle wifi <> mobile data, Toggle airplane mode ataupun cellular state, sejak android JB 4.2 ke atas sudah perlu root
Cara Setting : Automagic Preferences > Root functions (Experimental) > Prompt dari App root nya (biasanya SuperSU), Grant access nya.
Perhatian khusus
Spoiler for Perhatian Khusus:
Selain access tambahan yang perlu diberikan untuk trigger/condition/action tertentu, masih ada beberapa hal yang perlu diperhatikan
1. Automagic Persistent Notification
Setting ini ada di Automagic Preferences > Show status icon. Default sudah dicentang. Meskipun kadang terkesan mengganggu, karena makan space di notification; tapi persistent notification automagic ini akan menjaganya supaya tidak kena kill ketika HH low memory. Sama seperti BBM yang juga menerapkan cara yang sama. Agan bisa saja menonaktifkan persistent notification nya, tapi jangan heran kalau seandainya dari waktu ke waktu mendadak task agan tidak bisa jalan sempurna, terutama task yang critical. Ane sendiri tetap aktifkan persistent notif ini.
2. Exclude task killer/power saver
Jika HH agan sudah punya task killer / power saver bawaan, pastikan automagic sudah diwhitelist atau exclude dari daftar pembunuhan. Meskipun ada persistent notification service untuk menjaga supaya service nya automagic tetap alive meskipun free RAM berkurang; tapi adakalanya task killer aggresif dari HH bisa membunuh automagic secara total. Jadi kalau agan ga mau sampai flow agan ga dieksekusi hanya gara2 automagic dikill system, pastikan untuk sudah whitelist.
3. Tombol Kill All
Pastikan juga agan tidak pernah pake "tombol peluncuran nuklir" yang mungkin ada di beberapa HH, yaitu tombol "Kill All, "Clear All", "Clean RAM", "Release RAM" atau sejenisnya. Tombol destruktif ini biasanya akan force stop semua app. Automagic mungkin akan auto restart service backgroundnya, tapi ada beberapa variabel yang mungkin akan kereset dan hilang isinya. Beberapa access tambahan juga mungkin akan hilang, terutama Accessibility, sehingga perlu diaktifkan dahulu supaya flow yang memerlukannya bisa berjalan sempurna.
4. Auto Run / Startup management
Di beberapa HH, ada setting tambahan autorun/startup. Jika automagic tidak diallow startup, maka setiap HH restart, automagic perlu dijalankan lagi secara manual. Tentunya sangat ribet dan bisa membuat agan miss flow tertentu kalau ternyata agan juga ada pake schedule HH on/off dalam aktivitas sehari2. Di mana setelah HH on, automagic tidak otomatis start juga, sehingga banyak flow terlewatkan triggernya.
5. Install to internal/phone storage
Automagic wajib diinstall di internal storage. Secara default, inilah Automagic memang akan terinstall di Internal storage. Tapi ada kalanya ada beberapa ROM dari HH tertentu yang akan memaksa installasi Automagic ke External storage (Move2SD). Jika ini yang terjadi, maka banyak fitur yang akan menjadi cacat. Auto run akan gagal, widget tidak bisa dibuat, automagic sering kena kill, batere lebih boros dan masih banyak masalah lainnya. Untuk menghindarinya, pastikan di app info Automagic sudah terinstall di internal (tidak ada tombol move to phone lagi, berarti sudah di internal).
6. Firewall
Di luar permission network dan internet access, ada HH yang membuat firewall terpisah. Atau mungkin agan juga ada pake firewall 3rd party sepeti Netguard dan sejenisnya. Jika ada, pastikan automagic diexclude dan diallow mengakses wifi atau internet secara langsung. Jika agan block, maka flow yang berhubungan dengan internet/wifi akan gagal ataupun error tanpa alasan yang jelas. Misalnya agan ada buat flow untuk download pdf koran digital setiap pagi, maka flow ini akan error terus jika akses internetnya automagic diblock.
7. Call/sms blocker
Jika agan ingin set flow yang auto intercept call/sms dari nomor tertentu, pastikan nomor tersebut tidak diblok oleh call/sms blocker bawaan HH (jika ada). Di beberapa HH, blocking ini terjadi di system level dan tidak menjadi event untuk app lain, sehingga automagic tidak bisa mendapatkan triggernya.
8. Draw over other app
Jika agan menggunakan custom widget overlay, maka pastikan agan sudah allow permission draw over other app. Ada beberapa HH yang ROM nya memblok permission ini secara terpisah, karena memang bisa disalahgunakan. Namanya bisa berbeda, tapi kurang lebih seperti : display pop up, app that can appear on top, overlay permission, show overlay dan sejenisnya.