GİRİŞ
Uzun zamandır MacroDroid ile ilgili bir şeyler yazmak istiyordum. Gerek uygulamanın kapsamının genişliği gerek benim zamanımın darlığı bu teşebbüsü oldukça ertelememe neden oldu. Nihayet biraz boş zaman buldum ve MacroDroid’in tek bir yazıya sığmayacağına, bir yazı dizisinde ele alınması gerektiğine karar verdim. Bu da o dizinin ilk yazısını teşkil ediyor.
Otomasyon Kavramı ve Uygulamalar
Dizinin ilk ve giriş yazısı olması dolayısıyla öncelikle “otomasyon” kavramıyla başlayalım. Otomasyon, TDK’ye göre “bir işin insan aracılığı olmadan makineler eliyle yapılması”dır. Türkçe Vikipedi’de ise kavram, bir işin insan ve makine arasında paylaşılması şeklinde ele alınır ve toplam işin paylaşım oranının otomasyonun düzeyini belirlediği ifade edilir. Kanımca ikinci tanım otomasyonu daha iyi karşılıyor. Teknolojinin geçmişine ve bugün geldiği noktaya baktığımızda, insan ile makine arasındaki bu paylaşımın sürekli değiştiğini; makinenin üstlendiği payın giderek arttığını görmek mümkün.
Android üzerinde otomasyon işini yapan birçok uygulama var. Benim ilk karşılaştığım uygulama IFTTT adında, cihaz içi otomasyondan çok cihazlar arası görevlere odaklanan bir uygulamaydı. Daha sonra Tasker’ın karmaşasına yenik düşüp başka bir uygulama arayışında MacroDroid’i buldum. Benzer nitelikte Samsung cihazlarda yer alan Modlar ve Rutinler uygulaması, Automate ve özellikle bahsettiğim Tasker uygulaması mevcut. Ancak MacroDroid’in sunduğu olanakların genişliği açısından Tasker’a kafa tutabileceğini, kullanım kolaylığı bakımından ise bana göre daha ileri bir noktada olduğunu söyleyebilirim.
Windows tarafında Power Automate güçlü bir otomasyon uygulaması. Apple ortamındaysa Apple’ın Kestirmeler uygulaması ve macOS özelinde Betik Düzenleyici benzer otomasyon özelliklerini barındırıyor.
Kısa bir not olarak MacroDroid’in ücretli Pro sürümünün olduğunu, beş makrodan fazlası için ve az sayıda bazı bileşenle özelliğin Pro gerektirdiğini belirtmekte fayda var. İtiraf etmeliyim ki uzun zaman önce 7 TL’ye Pro aldığım için bu notu yazıyı bitirdikten sonra ekledim.
MacroDroid ve Temelleri
MacroDroid’de otomasyon süreçlerini içeren paketlere makro deniyor. Makrolar, otomasyon sürecinin paketlendiği senaryolar olarak değerlendirilebilir. Makroların içinde temel olarak üç bileşen bulunur. Bunlar: tetikleyiciler, eylemler ve kısıtlamalardır. Bileşenler bunlarla sınırlı olmasa da giriş yazısının konusunu bunlar oluşturacak. Müteakip yazılarda ileri düzey bileşenlerle de karşılaşacağız.
Şimdi temel bileşenlerle tanışalım.
Kısıtlamalar
MacroDroid kullanıcıları kısıtlamalarla başlamış olmama şaşıracaktır. Doğal olanı da hem uygulamada bulundukları her yerde hem de yukarıda da olduğu gibi anlatımlarda da sıralandıkları gibi açıklamak olsa da ben bu sırayı tercih etmiyorum. Zira kısıtlamalar bir makroyu çevreleyen zar gibidir.
Kısıtlama (Constraint), bir koşulun sağlanması ya da sağlanmamasına bağlı olarak makronun çalışıp çalışmayacağını belirler. Makro genelinde kısıtlama ayarlanabildiği gibi her tetikleyici veya eylem için de o ögeye özgülenen bir kısıtlama belirlenebilir.
Örnek olarak sabah dokuzda tetiklenecek bir makronun sadece hafta içi çalışması için kısıtlamalara cumartesi ve pazarları çalışmaması kısıtı eklenebilir.
Kısıtlamalar, her ne kadar makroların temel bir unsuru olsa da zorunlu değillerdir. Bir makro tetikleyici olmadan çalışmayacak veya eylem olmadan herhangi bir işlevi yerine getirmeyecek olsa da kısıtlama olmadan da bunları yapabilir.
Tetikleyiciler
Tetikleyici (trigger), bir makronun çalışmasını, harekete geçmesini sağlayan unsurdur. Bu olmaksızın bir makro hiçbir zaman çalışamayacaktır. El ile çalıştırmaktan tutun cihazda gerçekleşecek herhangi bir eyleme, günün saatinden gelen bir mesaja birçok olay tetikleyici olabilir. Bu olayın oluşuyla makro tetiklenmiş olur ve eylemler gerçekleşmeye başlar.
Eylemler
Eylem (action), makronun tetiklenmesiyle çalışmaya başlayacak işlemlerdir. Makronun gövdesini oluşturur. Tetikleme olduğunda cihaz üzerinde birçok eylem gerçekleştirilebilir. Eylemler peş peşe gerçekleştirilir ve aralarında belli bir süre beklenmesi sağlanabilir.
İzinler ve Hizmetler
MacroDroid’in kapsamlı tetikleyici, eylem ve kısıtlama kütüphanesi, kullanılacak özelliğe göre çeşitli Android izinlerine veya MacroDroid’e ait erişilebilirlik hizmetlerinin etkinleştirilmesine ihtiyaç duyabilir. Ancak bunların tamamını baştan etkinleştirmek gerekmez; ihtiyaçlar kullanılan bileşene göre değişir. Tetikleyici, eylem ve kısıtlamaların açıklamalarına ve ihtiyaç duydukları izinlere ilgili bileşene uzun basarak ulaşılabilir.
İlk Makromuzu Yapalım
Buraya kadar kavramları ve uygulama temellerini anlattım. Şimdi ise bunu pratiğe dökerek pekiştireceğiz.
İnşa edeceğimiz makronun senaryosu şöyle olacak:
Cihazımız, Wi-Fi ağına bağlıyken bir Bluetooth cihazına bağlandığında müzik oynatmaya başlayacak.
Burada Bluetooth cihazına bağlanma tetikleyiciyi, müzik oynatmaya başlamak eylemi ve Wi-Fi’ya bağlı olması şartı kısıtlamayı oluşturuyor.
Bunun için MacroDroid uygulamasını açıp Yuva (Home) sekmesindeyken makro ekle kutucuğunu bulup tıklayalım. Karşımıza boş bir makro çıkacak.
Burada öncelikle bir makro adı, yani başlığı girelim. Zira başlıksız bir makro kaydedilemiyor.
Ardından Tetikleyiciler başlığının devamındaki tetikleyici ekle düğmesini tıklayarak kategoriler hâlinde sıralanan tetikleyicileri listeleyen pencereyi açalım.
Kategori listesinin ikinci öğesi olan “Bağlantı” düğmesine tıklayarak kategoriyi genişletelim. Başlığın altında kategoriye ait tetikleyiciler listelenecek. Bunlardan Bluetooth Durumu bizim aradığımız tetikleyici. Tıklayalım.
Karşımıza çıkan diyalogda bu tetikleyicinin yapılandırmasını yapacağız. Burada listelenen olay ve durumlardan Cihaz Bağlandığında seçeneğini işaretleyip Tamam’a basalım.
Yeni diyalog penceresinde seçebileceğimiz cihazlar yer alıyor. Burada ya herhangi bir cihaz seçeneğini ya da listelenen ve daha önce eşleştirilmiş cihazlardan birini seçelim. Bizim senaryomuzda belirli bir Bluetooth cihazıyla sınırlama yapmayacağımız için “Herhangi bir cihaz” seçeneğiyle devam edelim.
Tetikleme eklendiğinde bizi artık boş olmayan makro sayfasına geri götürecek. Buradan Eylemler başlığına gidelim ve Eylem ekle düğmesini bulalım.
Benzer kategorileme burada da mevcut. Medya kategorisindeki Medya Kontrolü eylemini tıkladığımızda karşımıza çıkan diyalogda medya kontrol türünü seçmemiz istenecek. Öncesinde eğer bu eyleme ait düğmeye uzun basarsak bu seçimle ilgili bilgi alabiliriz. Bu bilgilendirmede “Medya oturumunu kontrol et” seçeneğinin kullanılması öneriliyor. Ancak bu, öncesinde uygulamanın aktif olarak başlatılmış olmasını gerektirdiği için “Medya düğmesi işlevini gör” seçeneğini seçelim.
Devamında hangi işlevin kullanılacağını seçeceğimiz diyalog gösteriliyor. Burada bizim amacımıza uygun olan “Oynat” veya “Oynat/Duraklat” seçenekleri mevcut. Biz, cihaz bağlandığında müzik çalmasını istediğimiz için yalnızca “Oynat” yazanı seçelim. Zira müzik oynatılırken Bluetooth bağlantısı yapıldığında müziğin duraklatılmasını istemeyiz.
Ardından bizden uygulama seçmemiz isteniyor. En baştaki seçenek herhangi bir uygulamayla çalışmasını sağlıyor. Bu da o esnada aktif olan ve ses oynatan uygulamaya komut gönderilmesi anlamına geliyor.
Herhangi bir uygulama seçeneğini ya da istediğimiz uygulamayı seçtikten sonra Tamam’a basıp eylem ekleme sürecini tamamlıyoruz.
Makro ekleme penceresine döndükten sonra kısıtlamalar başlığını ve kısıtlama ekle düğmesini bulalım.
Buradaki kategorilerden “Bağlantılar”ı, ardından Wi-Fi durumu kısıtlamasını tıklayalım. Açılan diyalogda “Wi-Fi şuraya bağlıyken” seçeneğini seçip Tamam’a basalım.
Biraz bekledikten sonra mevcut ağlar listelenecek. Burada en baştaki “herhangi bir ağ” seçeneğini seçerek devam edelim.
Tekrar makro ekleme sayfasına döneceğiz. Artık boş makromuz temel üç unsuru barındıran eksiksiz bir makroya dönüştü. “Kabul et” düğmesiyle makroyu kaydedebilir ve çalıştırmak için bir Bluetooth cihazına bağlayarak tetikleyebiliriz.
Daha Fazla Bilgi İsteyenler İçin
Yukarıda, her ögeye uzun basıldığında o ögeye ait bilgi diyaloğunun açıldığını belirtmiştim. Eğer bu giriş yazısıyla yetinmek ya da dizinin diğer yazılarını beklemek istemiyorsanız MacroDroid Wiki sayfalarında sizi kapsamlı bir keşif serüveni bekliyor. İncelediğim sayfaların Türkçe çevirilerinin de bulunduğu Wiki aracılığıyla MacroDroid hakkında oldukça ayrıntılı bilgi edinebilirsiniz. Ancak Wiki’nin anlatımının yer yer oldukça teknik olduğunu da belirtmekte fayda var.
Sonuç
MacroDroid’in yeteneklerine ve kapsamına bakıldığında oldukça küçük bir alanı kapsayan bu yazının giriş niteliğini hakkıyla taşımasını umuyorum. Uygulamanın bütün tetikleyici, eylem ve kısıtlamalarını tek tek ele almak bu dizinin amacı değil. Bunlar için MacroDroid’in kapsamlı Wiki sayfasından yararlanılabilir. Bu yazı dizisinde ise mümkün olduğunca gerçek kullanım örnekleri üzerinden ilerleyerek MacroDroid’in neler yapabildiğini birlikte keşfedeceğiz. Amacım, uygulamayı merak ettiği hâlde kapsamı veya ilk bakışta karmaşık görünmesi nedeniyle başlamaktan çekinenlerin önündeki bu eşiği biraz olsun alçaltmak.
Sürçülisan ettiysem affola.

Yorumlar