Mengenali fitur UI Interaction di MacroDroid

MacroDroid UI Interaction

UI Interaction adalah salah satu Action dari sekian banyak Actions yang ada pada MacroDroid. Tapi kalau dibandingkan dengan yang lain, UI Interaction adalah Action yang menurut saya paling unik. Fiturnya cukup powerful dan terasa seperti sebuah aplikasi yang berdiri sendiri. Jadi di sini saya akan membuat tulisan tersendiri untuk membahas mengenai UI Interaction pada MacroDroid.

Karena UI Interaction sendiri hanyalah sebuah Action, maka diharapkan Anda yang membaca ini sudah paham cara menggunakan MacroDroid dan mengerti istilah-istilah dasar yang ada pada MacroDroid.

Baca juga:

Pertama, UI Interaction merupakan fitur yang masih beta alias dalam tahap pengembangan, oleh karena itu untuk bisa mengaksesnya kita harus mengaktifkan Experimental Features pada halaman Settings terlebih dahulu. Mengaktifkan Experimental Features akan mengaktifkan semua fitur yang bersifat eksperimen, dan salah satunya adalah UI Interaction.

Kedua, UI Interaction, sesuai dengan artinya adalah fitur yang memungkinkan pengguna berinteraksi atau membuat interaksi dengan elemen yang ada pada layar, atau pada antarmuka sebuah aplikasi. Interaksinya berasal dari proses yang diotomatisasi, bukan (atau tidak harus) dari input pengguna. Dengan kata lain, UI Interaction akan membuat “fake touch” (interaksi palsu atau interaksi buatan) dengan elemen di layar. Selain itu, UI Interaction hanya bekerja pada antarmuka yang aktif saja, UI Interaction tidak akan aktif kalau kondisi layar mati/OFF.

Menu pada UI Interaction

Oke, setelah UI Interaction diaktifkan, saatnya untuk pengenalan lebih lanjut.

Pada saat menambahkan UI Interaction sebagai sebuah Action, akan ada beberapa pilihan yang muncul, yaitu:

MacroDroid UI Interaction

  • Click: Sebagai klik atau tap.
  • Long click: Tap panjang (tap dan tahan).
  • Copy: Menyalin teks yang sedang disorot.
  • Cut: Memotong atau memindahkan teks yang sedang disorot.
  • Paste: Menempel teks yang telah disalin, asalnya bisa dari clipboard ataupun dari sebuah teks baru.
  • Clear selection: Menghilangkan penyorotan.
  • Gesture: Membuat sebuah gesture.

Click dan Long click

Untuk pilihan Click (dan Long click), di dalamnya terdapat beberapa pilihan lagi, yaitu:

MacroDroid UI Interaction

  • Current focus: Memilih (membuat tap) opsi/pilihan yang menjadi fokus.
  • Berguna untuk memilih opsi atau tombol yang biasanya muncul pada sebuah dialog (bawaan Android, bukan dari aplikasi pihak ketiga) yang berisi dua atau tiga pilihan, yang salah satu menunya menjadi fokus atau pilihan default.

  • Text content: Memilih menu yang berupa teks.
  • Berguna untuk memilih/men-tap opsi atau menu atau tombol yang berupa teks. Teksnya ditentukan sendiri oleh pengguna.

    MacroDroid UI Interaction

  • X,Y location: Membuat tap pada titik koordinat yang ditentukan pengguna.
  • Untuk menentukan titik tap-nya kita perlu mengetahui titik koordinat yang akan dijadikan target. Cara mengetahui titik koordinatnya di layar adalah dengan mengaktifkan ‘Pointer location’ pada Developer options.

    MacroDroid UI Interaction

  • Identify in app: Membuat tap pada tombol atau menu atau elemen spesifik pada sebuah aplikasi.
  • Pada dasarnya ‘Identify in app’ adalah versi kombinasi dari ‘Text content’ dan ‘X,Y location’ karena setiap input yang dihasilkan dari ‘Identify in app’ akan diterjemahkan ke dalam teks dan titik koordinat juga.

    Saat memilih ‘Identify in app’ sebagai metode Click/Long click, akan muncul notifikasi berjudul ‘Identify UI control’ yang akan memandu pengguna mencari elemen yang ingin di-tap.

    Caranya lengkapnya:

    1. Setelah memilih ‘Identify in app’ (lalu OK), maka MacroDroid akan tertutup (berjalan di latar belakang) dan akan muncul homescreen, tapi tenang saja karena ini normal. Pada tahap ini kita perlu mencari dan membuka aplikasi yang bagian tertentunya akan di-tap.
    2. Setelah berada pada halaman aplikasi yang diinginkan, geser status bar untuk memunculkan notifikasi ‘Identify UI control’ tadi lalu tap notifikasi tersebut kalau dirasa sudah berada pada posisi yang pas.
    3. Kemudian, tap tombol atau menu yang dijadikan target pada aplikasi yang dipilih. Setelah men-tap target, MacroDroid akan muncul kembali dengan sebuah Action (UI Interaction) yang berisi titik koordinat dari elemen yang dipilih.

Copy, Cut dan Paste

Untuk Copy dan Cut pada dasarnya hampir sama, yaitu akan menyalin teks yang sedang disorot.

Untuk Paste, berguna untuk menempelkan teks ke area teks sebuah aplikasi, entah itu pada aplikasi pembuat catatan, aplikasi pesan, email, ataupun pada kolom pencarian sebuah aplikasi. Sumber teks yang ditempel bisa berasal dari clipboard (teks yang telah di-copy atau di-cut sebelumnya) ataupun berasal teks yang baru dibuat oleh pengguna.

MacroDroid UI Interaction

Gesture

Gesture berguna untuk membuat gesture atau gerakan di layar. Sebuah gerakan harus ditentukan titik awal dan titik akhirnya, oleh karena itu kita perlu mengetahui titik koordinat dari titik awal (Start) dan akhir (End) dari gerakan yang akan dibuat.

MacroDroid UI Interaction

Untuk membuat gesture alias gerakan di layar, pertama aktifkan dulu Pointer location dari Developer options. Setelah Pointer location aktif, maka layar akan memunculkan jejak dari sentuhan dan gerakan yang dibuat di layar. Titik koordinat sentuhan pada layar juga akan ditampilkan pada statistik yang berada pada status bar.

Statistik yang ditampilkan pada status bar saat mengaktifkan Pointer location (pada perangkat Android 9 Pie):

  • P: Jumlah titik sentuh, atau jumlah sentuhan/jari yang terdeteksi
  • X: Titik koordinat X (horizontal).
  • Y: Titik koordinat Y (vertikal).
  • dX: delta X, jarak sentuhan horizontal
  • dY: delta Y, jarak sentuhan vertikal
Keterangan:

Pada saat jari menyentuh layar, X dan Y akan menunjukkan titik koordinat sentuhan, dan pada saat jari diangkat maka X dan Y akan berubah menjadi dX dan dY, dan akan menunjukkan total jarak dari titik awal sentuhan dan titik akhir sentuhan.

Pada perangkat saya yang resolusi layarnya 1080 x 1920, nilai X dihitung dari kiri (0) ke kanan (1080), dan nilai Y dihitung dari atas (0) ke bawah (1920), artinya makin ke kanan nilai X makin besar. Dan makin ke bawah nilai Y juga makin besar. Sehingga, menggesar jari dari kiri ke kanan akan menghasilkan nilai dX yang positif (nilai kecil ke besar) dan menggeser jari dari kanan ke kiri akan menghasilkan nilai dX yang negatif (nilai besar ke kecil). Begitupun dengan menggeser jari dari atas ke bawah (dY positif) dan bawah ke atas (dY negatif). Delta adalah total jarak titik awal dan titik akhir.

Cara agar mudah mencatat nilai titik koordinat:

  1. Tempatkan jari pada titik sentuhan awal, kemudian catat X dan Y-nya.
  2. Geser jari ke atas atau ke bawah sesuai kebutuhan, lalu catat titik di mana jari berhenti, jangan diangkat dulu, lalu catat.
  3. Masukkan nilai-nilai yang sudah dicatat ke kolom nilai Start dan End pada menu Gesture.

Karena Gesture pada UI Interaction hanya membutuhkan input titik awal X,Y dan titik akhir X,Y maka gesture atau gerakan yang bisa diterima hanyalah gerakan yang linear atau berupa garis lurus saja, baik itu dari atas ke bawah, dari bawah ke atas, ataupun gerakan garis diagonal. Kita tidak bisa membuat gerakan yang melengkung seperti gerakan melingkar, gerakan huruf ‘S’, gerakan spiral dan gerakan berkurva lainnya.

Contoh macro dengan UI Interaction

Setelah mengenali fitur dan kegunaannya, saatnya mencoba langsung fitur UI Interaction ini.

Di contoh pertama ini saya akan membuat macro bagaimana menghapus Search History pada aplikasi Instagram.

Pertama, kita harus mengetahui bagaimana langkah-langkah menghapus riwayat pencarian di Instagram. Caranya adalah:

  1. Buka aplikasi Instagram
  2. Masuk ke halaman profil
  3. Tap menu di sudut kanan atas
  4. Buka Settings yang ada di bawahnya
  5. Masuk ke Privacy and Security
  6. Buka Clear Search History
  7. Tap Clear Search History
  8. Konfirmasi

Setelah kita memahami alurnya, selanjutnya adalah membuat macro berdasarkan langkah-langkah sebelumnya.

(T): Empty Trigger
(A): Launch Application > Instagram > Force New
(A): Wait Before Next Action > Seconds > 2
(A): UI Interaction > Click > Identify in app > [tap ikon profil Instagram di kanan bawah]
(A): UI Interaction > Click > Identify in app > [tap ikon tombol menu di kanan atas]
(A): UI Interaction > Click > Text content > [Settings]
(A): UI Interaction > Click > Text content > [Privacy]
(A): UI Interaction > Gesture > [Isi dengan titik koordinat awal dan akhir]
(A): UI Interaction > Click > Text content > [Clear Search History]
(A): UI Interaction > Click > Text content > [Clear Search History]
(A): UI Interaction > Click > Text content > [Yes]
(A): UI Interaction > Click > Identify in app > [tap ikon home untuk kembali ke beranda]
(A): Launch Home Screen
(C): –

Catatan:

Empty Trigger adalah trigger yang kosong, artinya tidak akan merespon apa-apa kecuali dipanggil atau dieksekusi oleh macro lainnya. Sengaja saya pilih karena ini hanya contoh. Anda boleh memilih Trigger apa saja sebagai pemicunya sesuai dengan kebutuhan.

Saya juga membuat dua Action tambahan, yaitu UI Interaction untuk men-tap ikon Home Instagram, dan Action untuk kembali ke Home Screen. Tujuannya biar saat saya menjalankan Instagram lagi maka yang terbuka adalah halaman utamanya, bukan menu Settings lagi. Anda pun bisa saja menambahkan Action apa saja yang Anda rasa perlu.

Wait Before Next Action adalah Action yang akan menunda eksekusi Action berikutnya. Saya memberi 2 detik untuk menunggu agar halaman Instagram dimuat secara sempurna terlebih dulu sebelum lanjut ke Action berikutnya.

Nah, di sini Wait Before Next Action diperlukan karena kita perlu membuat jeda. Kenapa butuh jeda? Karena kalau dibandingkan dengan Action lain yang bisa dijalankan di latar belakang secara langsung, UI Interaction sangat bergantung pada kecepatan loading atau transisi antarmuka sebuah aplikasi. Ini karena UI Interaction berinteraksi dengan elemen pada antarmuka aplikasi dan hanya bisa berjalan baik kalau elemen yang menjadi target sudah dimuat dengan sempurna. Pada umumnya jeda satu detik antara UI Interaction sudah cukup, namun terkadang pada kasus tertentu seperti saat memuat aplikasi dari awal (bukan dari recent apps) dibutuhkan waktu 3-5 detik sampai antarmuka aplikasinya ditampilkan sempurna.

Atas pertimbangan kecepatan menjalankan dan memuat konten aplikasi, maka secara real macro di atas bisa bekerja dengan benar sesuai keinginan hanya kalau di tiap UI Interaction-nya diberikan jeda, dan dalam contoh ini jedanya satu detik, seperti pada gambar di bawah.

MacroDroid UI Interaction

Akhir kata

Selain contoh macro di atas, masih banyak lagi contoh ide-ide yang bisa dijadikan sebuah macro yang memanfaatkan UI Interaction. Seperti yang sudah saya bilang sebelumnya, UI Interaction terasa seperti aplikasi yang berbeda, seperti sebuah dunia tersendiri, yang masih harus di-explore lebih lanjut.

Silakan berkreasi sendiri, menciptakan dan mengembangkan ide-ide kreatif Anda dengan menggabungkan UI Interaction dengan Actions lainnya. Semoga penjelasan saya di atas bisa dimengerti dan bisa membantu. Kalau Anda butuh bantuan silakan tanyakan pada kolom komentar di bawah.

MacroDroid - Device Automation
MacroDroid - Device Automation
Developer: ArloSoft
Price: Free+
Referensi: https://developer.android.com/studio/debug/dev-options?hl=id#input

You may also like...