{"id":30867,"date":"2025-10-03T00:01:55","date_gmt":"2025-10-02T21:01:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/"},"modified":"2025-10-03T00:01:55","modified_gmt":"2025-10-02T21:01:55","slug":"edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/","title":{"rendered":"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu"},"content":{"rendered":"<p><body><\/p>\n<p>Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.<\/p>\n<p>Ak\u0131ll\u0131 bildirimlerin gelece\u011fini \u015fekillendirecek teknolojileri anlamak i\u00e7in, \u00f6ncelikle bu kavramlar\u0131n her birine yak\u0131ndan bakal\u0131m. Her biri kendi alan\u0131nda g\u00fc\u00e7l\u00fc olan bu bile\u015fenler, bir araya geldi\u011finde ola\u011fan\u00fcst\u00fc bir sinerji yarat\u0131yor ve mobil uygulamalar\u0131n yeteneklerini yeni bir boyuta ta\u015f\u0131yor.<\/p>\n<p><strong>Edge AI (U\u00e7 Nokta Yapay Zekas\u0131) Nedir?<\/strong><\/p>\n<p>Geleneksel yapay zeka uygulamalar\u0131 genellikle verileri bulut sunucular\u0131na g\u00f6nderir, orada i\u015fler ve sonu\u00e7lar\u0131 geri al\u0131r. Edge AI ise bu yakla\u015f\u0131m\u0131n tam tersidir. Yapay zeka modelleri ve algoritmalar\u0131 do\u011frudan cihaz \u00fczerinde (\u00f6rne\u011fin bir ak\u0131ll\u0131 telefon, tablet veya ak\u0131ll\u0131 ev cihaz\u0131) \u00e7al\u0131\u015f\u0131r. Bu, verilerin cihazdan ayr\u0131lmas\u0131na gerek kalmadan, yerel olarak i\u015flenmesi anlam\u0131na gelir.<\/p>\n<p>Edge AI&#8217;\u0131n ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Daha Y\u00fcksek Gizlilik ve G\u00fcvenlik:<\/strong> Veriler cihazda kal\u0131r, buluta g\u00f6nderilmedi\u011fi i\u00e7in hassas bilgilerin \u00fc\u00e7\u00fcnc\u00fc taraflar\u0131n eline ge\u00e7me riski azal\u0131r.<\/li>\n<li><strong>Daha H\u0131zl\u0131 Yan\u0131t S\u00fcreleri:<\/strong> Veri ak\u0131\u015f\u0131 i\u00e7in a\u011f gecikmesine ihtiya\u00e7 duyulmad\u0131\u011f\u0131ndan, analiz ve karar verme s\u00fcre\u00e7leri neredeyse anl\u0131k ger\u00e7ekle\u015fir. Ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in kritik \u00f6neme sahiptir.<\/li>\n<li><strong>\u00c7evrimd\u0131\u015f\u0131 \u00c7al\u0131\u015fma Yetene\u011fi:<\/strong> \u0130nternet ba\u011flant\u0131s\u0131 olmasa bile yapay zeka modelleri cihaz \u00fczerinde \u00e7al\u0131\u015fmaya devam edebilir. Bu, a\u011f ba\u011flant\u0131s\u0131n\u0131n zay\u0131f oldu\u011fu veya hi\u00e7 olmad\u0131\u011f\u0131 senaryolarda b\u00fcy\u00fck bir avantaj sa\u011flar.<\/li>\n<li><strong>Azalt\u0131lm\u0131\u015f Bant Geni\u015fli\u011fi Kullan\u0131m\u0131:<\/strong> Buluta veri g\u00f6ndermeye gerek kalmad\u0131\u011f\u0131 i\u00e7in a\u011f trafi\u011fi azal\u0131r, bu da hem kullan\u0131c\u0131 i\u00e7in veri tasarrufu hem de sunucu maliyetlerinde d\u00fc\u015f\u00fc\u015f anlam\u0131na gelir.<\/li>\n<li><strong>Enerji Verimlili\u011fi (Baz\u0131 Senaryolarda):<\/strong> Bulut sunucular\u0131na s\u00fcrekli veri aktar\u0131m\u0131n\u0131n getirdi\u011fi enerji t\u00fcketimi ortadan kalkar.<\/li>\n<\/ul>\n<p>Bu avantajlar, ak\u0131ll\u0131 bildirimler s\u00f6z konusu oldu\u011funda devrim niteli\u011findedir. \u00c7\u00fcnk\u00fc bildirimlerin ki\u015fiselle\u015ftirilmesi ve anl\u0131k olarak sunulmas\u0131 i\u00e7in kullan\u0131c\u0131n\u0131n ba\u011flam\u0131n\u0131 h\u0131zl\u0131 ve g\u00fcvenli bir \u015fekilde anlamak gereklidir. Edge AI, tam da bunu sa\u011fl\u0131yor.<\/p>\n<p><strong>Kotlin: Android Geli\u015ftirmenin Modern Y\u00fcz\u00fc<\/strong><\/p>\n<p>Kotlin, JetBrains taraf\u0131ndan geli\u015ftirilen, JVM \u00fczerinde \u00e7al\u0131\u015fan statik tipli bir programlama dilidir. Google taraf\u0131ndan Android uygulama geli\u015ftirme i\u00e7in tercih edilen bir dil olarak benimsenmi\u015ftir ve g\u00fcn\u00fcm\u00fczde bu alandaki hakimiyetini s\u00fcrd\u00fcrmektedir. Kotlin&#8217;in ba\u015fl\u0131ca \u00f6zellikleri ve avantajlar\u0131:<\/p>\n<ul>\n<li><strong>Java ile Tam Uyum:<\/strong> Kotlin, mevcut Java kod tabanlar\u0131yla sorunsuz bir \u015fekilde birlikte \u00e7al\u0131\u015fabilir, bu da ge\u00e7i\u015fi kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Daha Az Kod:<\/strong> Daha az sat\u0131r kodla ayn\u0131 i\u015flevselli\u011fi sa\u011flamas\u0131, geli\u015ftirme s\u00fcrecini h\u0131zland\u0131r\u0131r ve okunabilirli\u011fi art\u0131r\u0131r.<\/li>\n<li><strong>Null Pointer Exception G\u00fcvenli\u011fi:<\/strong> Kotlin&#8217;in t\u00fcr sistemi, null referans hatalar\u0131n\u0131 derleme zaman\u0131nda tespit etmeye yard\u0131mc\u0131 olur, bu da uygulamalar\u0131n daha kararl\u0131 olmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Modern Dil \u00d6zellikleri:<\/strong> Geni\u015fletme fonksiyonlar\u0131, veri s\u0131n\u0131flar\u0131, korutinler gibi \u00f6zelliklerle daha temiz ve etkili kod yaz\u0131m\u0131na olanak tan\u0131r.<\/li>\n<\/ul>\n<p>Ak\u0131ll\u0131 bildirimler uygulaman\u0131z\u0131 geli\u015ftirirken Kotlin, g\u00fc\u00e7l\u00fc ve esnek yap\u0131s\u0131yla size sa\u011flam bir temel sunacakt\u0131r.<\/p>\n<p><strong>Koog: Yapay Zeka Modellerini Ak\u0131ll\u0131ca Y\u00f6netmek<\/strong><\/p>\n<p>Koog, belirli bir yapay zeka k\u00fct\u00fcphanesi veya \u00e7er\u00e7evesi olmaktan ziyade, mobil cihazlarda yapay zeka modellerinin ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc y\u00f6netmek i\u00e7in tasarlanm\u0131\u015f bir &#8220;y\u00f6netim katman\u0131&#8221; veya &#8220;\u00e7er\u00e7eve&#8221; olarak d\u00fc\u015f\u00fcn\u00fclebilir. Mobil uygulamalarda yapay zeka modellerini entegre etmek ve \u00e7al\u0131\u015ft\u0131rmak genellikle karma\u015f\u0131k bir s\u00fcre\u00e7tir. Koog, bu s\u00fcreci basitle\u015ftirmeyi hedefler:<\/p>\n<ul>\n<li><strong>Model Y\u00fckleme ve S\u00fcr\u00fcmleme:<\/strong> Farkl\u0131 AI modellerini kolayca y\u00fcklemeyi, g\u00fcncellemeyi ve farkl\u0131 s\u00fcr\u00fcmlerini y\u00f6netmeyi sa\u011flar.<\/li>\n<li><strong>Model A\u011f\u0131rl\u0131\u011f\u0131 Y\u00f6netimi:<\/strong> Modellerin cihazda ne zaman ve nas\u0131l indirilece\u011fini, depolanaca\u011f\u0131n\u0131 ve \u00f6nbelle\u011fe al\u0131naca\u011f\u0131n\u0131 optimize eder.<\/li>\n<li><strong>\u00c7al\u0131\u015fma Zaman\u0131 Optimizasyonu:<\/strong> Modellerin cihaz\u0131n donan\u0131m kapasitesine g\u00f6re en verimli \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in optimizasyonlar sunabilir.<\/li>\n<li><strong>Entegrasyon Kolayl\u0131\u011f\u0131:<\/strong> Farkl\u0131 AI motorlar\u0131 (TFLite, ML Kit vb.) ile sorunsuz entegrasyon i\u00e7in bir aray\u00fcz sa\u011flar.<\/li>\n<\/ul>\n<p>Ak\u0131ll\u0131 bildirimler i\u00e7in birden fazla modeli (\u00f6rne\u011fin, bir y\u00fcz tan\u0131ma modeli, bir duygu analizi modeli) y\u00f6netmeniz gerekti\u011finde Koog, i\u015f y\u00fck\u00fcn\u00fcz\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde hafifletecektir.<\/p>\n<p><strong>MediaPipes: Veri Ak\u0131\u015f\u0131n\u0131 \u0130\u015flemenin G\u00fcc\u00fc<\/strong><\/p>\n<p>MediaPipes, Google taraf\u0131ndan geli\u015ftirilen a\u00e7\u0131k kaynakl\u0131, \u00e7apraz platform bir \u00e7er\u00e7evedir ve \u00f6zellikle multimedya ak\u0131\u015flar\u0131n\u0131 (video, ses, sens\u00f6r verileri vb.) i\u015flemek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Karma\u015f\u0131k grafik algoritmalar\u0131n\u0131 ve yapay zeka modellerini i\u00e7eren, ger\u00e7ek zamanl\u0131 ve d\u00fc\u015f\u00fck gecikmeli veri i\u015fleme boru hatlar\u0131 olu\u015fturmaya olanak tan\u0131r.<\/p>\n<p>MediaPipes&#8217;in temel \u00f6zellikleri:<\/p>\n<ul>\n<li><strong>Mod\u00fcler Tasar\u0131m:<\/strong> Her biri belirli bir g\u00f6revi yerine getiren k\u00fc\u00e7\u00fck, yeniden kullan\u0131labilir &#8220;kalk\u00fclat\u00f6rler&#8221; (calculators) veya &#8220;mod\u00fcller&#8221; kullanarak karma\u015f\u0131k i\u015f ak\u0131\u015flar\u0131 olu\u015fturman\u0131z\u0131 sa\u011flar.<\/li>\n<li><strong>Grafikler ve Boru Hatlar\u0131:<\/strong> Bu kalk\u00fclat\u00f6rler, bir veri ak\u0131\u015f grafi\u011fi (pipeline) i\u00e7inde birbirine ba\u011flan\u0131r. Bir kalk\u00fclat\u00f6r\u00fcn \u00e7\u0131kt\u0131s\u0131, di\u011ferinin girdisi olabilir.<\/li>\n<li><strong>\u00c7e\u015fitli Veri T\u00fcrlerini Destekler:<\/strong> G\u00f6r\u00fcnt\u00fcler, videolar, sesler, sens\u00f6r verileri ve hatta \u00f6zel veri yap\u0131lar\u0131 gibi \u00e7e\u015fitli veri t\u00fcrlerini i\u015fleyebilir.<\/li>\n<li><strong>Ger\u00e7ek Zamanl\u0131 \u0130\u015fleme:<\/strong> D\u00fc\u015f\u00fck gecikme s\u00fcresiyle \u00e7al\u0131\u015facak \u015fekilde optimize edilmi\u015ftir, bu da onu Edge AI uygulamalar\u0131 i\u00e7in ideal k\u0131lar.<\/li>\n<\/ul>\n<p>Ak\u0131ll\u0131 bildirimler senaryosunda MediaPipes, cihaz\u0131n kameras\u0131 veya mikrofonundan gelen verileri ger\u00e7ek zamanl\u0131 olarak al\u0131p i\u015fleyerek, Edge AI modellerine beslemek i\u00e7in kritik bir rol oynar. \u00d6rne\u011fin, bir g\u00f6r\u00fcnt\u00fcy\u00fc kare kare al\u0131p, her karede bir nesne tespiti yapmak veya ses ak\u0131\u015f\u0131nda belirli anahtar kelimeleri alg\u0131lamak i\u00e7in MediaPipes&#8217;tan faydalanabiliriz. Bu sayede, yaln\u0131zca ger\u00e7ekten \u00f6nemli olan olaylar\u0131 yakalayabilir ve bildirimleri tetikleyebiliriz. Bu d\u00f6rt teknoloji bir araya geldi\u011finde, mobil cihazlar\u0131n\u0131zda daha \u00f6nce hi\u00e7 olmad\u0131\u011f\u0131 kadar ak\u0131ll\u0131 ve ki\u015fiselle\u015ftirilmi\u015f bir bildirim deneyimi sunman\u0131n \u00f6n\u00fc a\u00e7\u0131lm\u0131\u015f olur.<\/p>\n<h2>Ak\u0131ll\u0131 Bildirimler Neden \u00d6nemli? Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ile Vaka Analizleri<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda bildirimler, dijital ya\u015fam\u0131m\u0131z\u0131n ayr\u0131lmaz bir par\u00e7as\u0131. Ancak, s\u00fcrekli gelen ve \u00e7o\u011fu zaman alakas\u0131z olan bildirimler, kullan\u0131c\u0131 deneyimini olumsuz etkileyebilir, verimlili\u011fi d\u00fc\u015f\u00fcrebilir ve hatta stres yaratabilir. \u0130\u015fte bu y\u00fczden ak\u0131ll\u0131 bildirimler, sadece bir l\u00fcks de\u011fil, ayn\u0131 zamanda modern uygulama geli\u015ftirmenin temel bir gereklili\u011fi haline gelmi\u015ftir. Edge AI, Kotlin, Koog ve MediaPipes d\u00f6rtl\u00fcs\u00fcyle geli\u015ftirilen ak\u0131ll\u0131 bildirimler, bu sorunlara yenilik\u00e7i \u00e7\u00f6z\u00fcmler sunar. Gelin, bu teknolojilerin ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l fark yaratt\u0131\u011f\u0131na yak\u0131ndan bakal\u0131m.<\/p>\n<p><strong>Kullan\u0131c\u0131 Deneyimi ve Gizlilik Endi\u015feleri: Mevcut Durum<\/strong><\/p>\n<p>Ortalama bir kullan\u0131c\u0131, g\u00fcnde onlarca bildirim al\u0131r. Bu bildirimlerin \u00e7o\u011fu, e-posta g\u00fcncellemeleri, sosyal medya etkile\u015fimleri veya \u00f6nemsiz uygulama hat\u0131rlat\u0131c\u0131lar\u0131 gibi genellikle d\u00fc\u015f\u00fck de\u011fere sahip bildirimlerdir. Bu &#8220;bildirim yorgunlu\u011fu&#8221;, kullan\u0131c\u0131lar\u0131n \u00f6nemli mesajlar\u0131 ka\u00e7\u0131rmas\u0131na veya t\u00fcm bildirimleri tamamen kapatmas\u0131na yol a\u00e7abilir. Ayr\u0131ca, \u00e7o\u011fu ki\u015fiselle\u015ftirilmi\u015f bildirim, kullan\u0131c\u0131 verilerini bulut sunucular\u0131na g\u00f6nderip orada analiz etme yoluyla olu\u015fturulur. Bu durum, veri gizlili\u011fi konusunda ciddi endi\u015feleri beraberinde getirir. Kullan\u0131c\u0131lar, ki\u015fisel verilerinin ne kadar\u0131n\u0131n kimler taraf\u0131ndan topland\u0131\u011f\u0131n\u0131 ve nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 merak ederler.<\/p>\n<p>Ak\u0131ll\u0131 bildirimler, bu sorunlara iki temel yolla \u00e7\u00f6z\u00fcm sunar:<\/p>\n<ol>\n<li><strong>Alaka D\u00fczeyini Art\u0131rma:<\/strong> Sadece kullan\u0131c\u0131 i\u00e7in ger\u00e7ekten \u00f6nemli ve zaman\u0131nda olan bildirimleri g\u00f6ndererek bildirim yorgunlu\u011funu azalt\u0131r.<\/li>\n<li><strong>Gizlili\u011fi Koruma:<\/strong> Edge AI sayesinde ki\u015fisel veriler cihazda i\u015flenir, b\u00f6ylece gizlilik endi\u015feleri en aza indirilir.<\/li>\n<\/ol>\n<p>\u015eimdi, bu prensiplerin ger\u00e7ek d\u00fcnya senaryolar\u0131na nas\u0131l uyguland\u0131\u011f\u0131n\u0131 inceleyelim:<\/p>\n<p><strong>Vaka Analizi 1: Ki\u015fiselle\u015ftirilmi\u015f E-ticaret Bildirimleri<\/strong><\/p>\n<p>Bir e-ticaret uygulamas\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Geleneksel olarak, t\u00fcm kullan\u0131c\u0131lara belirli bir \u00fcr\u00fcn kategorisinde indirim oldu\u011funda genel bildirimler g\u00f6nderilebilir. Ancak, Edge AI destekli ak\u0131ll\u0131 bildirimler, kullan\u0131c\u0131n\u0131n ge\u00e7mi\u015f al\u0131\u015fveri\u015f al\u0131\u015fkanl\u0131klar\u0131n\u0131, g\u00f6r\u00fcnt\u00fcledi\u011fi \u00fcr\u00fcnleri, hatta cihaz\u0131n kameras\u0131ndan alg\u0131lanan (kullan\u0131c\u0131n\u0131n izniyle) \u00e7evresindeki nesneleri (\u00f6rne\u011fin, bir ayakkab\u0131 ma\u011fazas\u0131n\u0131n \u00f6n\u00fcnden ge\u00e7erken) analiz ederek \u00e7ok daha ki\u015fiselle\u015ftirilmi\u015f bildirimler g\u00f6nderebilir.<\/p>\n<ul>\n<li><strong>Senaryo:<\/strong> Kullan\u0131c\u0131 A, s\u0131k s\u0131k spor ayakkab\u0131lar\u0131na g\u00f6z at\u0131yor ve belirli bir markay\u0131 favorilerine eklemi\u015f. Ayr\u0131ca, cihaz\u0131n\u0131n GPS verilerine g\u00f6re (yine kullan\u0131c\u0131n\u0131n izniyle), favori markas\u0131n\u0131n bir ma\u011fazas\u0131n\u0131n yak\u0131n\u0131ndan ge\u00e7iyor.<\/li>\n<li><strong>Edge AI Uygulamas\u0131:<\/strong> Cihaz \u00fczerindeki Edge AI modeli, kullan\u0131c\u0131n\u0131n ge\u00e7mi\u015f davran\u0131\u015flar\u0131n\u0131 analiz eder ve anl\u0131k konum verisi ile birle\u015ftirir. Koog, bu modelin etkin bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Ak\u0131ll\u0131 Bildirim:<\/strong> &#8220;Harika bir haber! Favori spor ayakkab\u0131 markan\u0131z\u0131n X ma\u011fazas\u0131 tam kar\u015f\u0131n\u0131zda ve \u015fu an %20 indirim var! Sadece size \u00f6zel bir kupon kodu almak ister misiniz?&#8221;<\/li>\n<\/ul>\n<p>Bu senaryoda, bildirim hem son derece alakal\u0131 hem de zaman\u0131nda oldu\u011fu i\u00e7in kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir ve d\u00f6n\u00fc\u015f\u00fcm oranlar\u0131n\u0131 art\u0131r\u0131r. T\u00fcm bu veri analizi, kullan\u0131c\u0131n\u0131n cihaz\u0131nda ger\u00e7ekle\u015fti\u011fi i\u00e7in gizlilik de korunmu\u015f olur. MediaPipes, kamera veya GPS verilerinin i\u015flenmesinde rol oynayabilir.<\/p>\n<p><strong>Vaka Analizi 2: Sa\u011fl\u0131k ve Fitness Uygulamalar\u0131nda Ak\u0131ll\u0131 Motivasyon<\/strong><\/p>\n<p>Bir sa\u011fl\u0131k uygulamas\u0131n\u0131n, kullan\u0131c\u0131lar\u0131n fiziksel aktivitelerini ve sa\u011fl\u0131k hedeflerini takip etti\u011fini varsayal\u0131m. Sadece genel hat\u0131rlat\u0131c\u0131lar g\u00f6ndermek yerine, Edge AI ile desteklenen ak\u0131ll\u0131 bildirimler, kullan\u0131c\u0131n\u0131n mevcut durumunu ve ba\u011flam\u0131n\u0131 anlayarak daha etkili motivasyon sa\u011flayabilir.<\/p>\n<ul>\n<li><strong>Senaryo:<\/strong> Kullan\u0131c\u0131 B, bug\u00fcn belirlenen ad\u0131m hedefini hen\u00fcz yakalayamad\u0131 ve uygulaman\u0131n alg\u0131lad\u0131\u011f\u0131 kadar\u0131yla (sens\u00f6r verileriyle) uzun s\u00fcredir hareketsiz. Hava durumu ise d\u0131\u015far\u0131da y\u00fcr\u00fcy\u00fc\u015f i\u00e7in ideal.<\/li>\n<li><strong>Edge AI Uygulamas\u0131:<\/strong> Cihaz \u00fczerindeki yapay zeka modeli, kullan\u0131c\u0131 B&#8217;nin g\u00fcnl\u00fck aktivite verilerini (ad\u0131m say\u0131s\u0131, hareketsizlik s\u00fcresi), hava durumu bilgisini ve hatta kullan\u0131c\u0131n\u0131n ge\u00e7mi\u015fteki motivasyon tepkilerini analiz eder. MediaPipes sens\u00f6r verilerini i\u015fler, Koog modeli y\u00f6netir.<\/li>\n<li><strong>Ak\u0131ll\u0131 Bildirim:<\/strong> &#8220;Hey B! Hedefine sadece 2000 ad\u0131m kald\u0131 ve hava d\u0131\u015far\u0131da harika g\u00f6r\u00fcn\u00fcyor! K\u0131sa bir y\u00fcr\u00fcy\u00fc\u015fe \u00e7\u0131kmak ister misin? Motivasyon m\u00fczi\u011fi listeni de haz\u0131rlad\u0131m.&#8221;<\/li>\n<\/ul>\n<p>Bu bildirim, kullan\u0131c\u0131n\u0131n o anki durumuna ve hedeflerine \u00f6zel olarak uyarland\u0131\u011f\u0131 i\u00e7in \u00e7ok daha etkilidir. Kullan\u0131c\u0131, uygulaman\u0131n kendisini anlad\u0131\u011f\u0131n\u0131 hisseder ve motivasyonu artar. T\u00fcm ki\u015fisel sa\u011fl\u0131k verileri cihazda kald\u0131\u011f\u0131 i\u00e7in gizlilik konusunda da endi\u015fe duymaz.<\/p>\n<p><strong>Vaka Analizi 3: Ak\u0131ll\u0131 Ev G\u00fcvenlik Sistemleri<\/strong><\/p>\n<p>Ak\u0131ll\u0131 ev kameralar\u0131 ve sens\u00f6rler, g\u00fcvenlik bildirimleri i\u00e7in harika birer kaynakt\u0131r. Ancak, geleneksel sistemler her hareketi veya sesi bildirebilir, bu da \u00e7ok say\u0131da yanl\u0131\u015f alarma neden olur. Edge AI destekli ak\u0131ll\u0131 bildirimler, sadece ger\u00e7ekten \u00f6nemli olan olaylar\u0131 ay\u0131rt edebilir.<\/p>\n<ul>\n<li><strong>Senaryo:<\/strong> Kullan\u0131c\u0131n\u0131n ev g\u00fcvenlik kameras\u0131, evin d\u0131\u015f\u0131nda bir hareket alg\u0131lad\u0131. Ancak, bu hareket bir a\u011fa\u00e7 yapra\u011f\u0131n\u0131n r\u00fczgarda sallanmas\u0131 veya kom\u015funun kedisi olabilir.<\/li>\n<li><strong>Edge AI Uygulamas\u0131:<\/strong> Kamera g\u00f6r\u00fcnt\u00fcs\u00fc, MediaPipes \u00fczerinden Edge AI modeline g\u00f6nderilir. Bu model (Koog taraf\u0131ndan y\u00f6netilen bir nesne tan\u0131ma modeli), g\u00f6r\u00fcnt\u00fcy\u00fc analiz eder ve alg\u0131lanan nesnenin &#8220;insan&#8221;, &#8220;hayvan&#8221; veya &#8220;r\u00fczgarda sallanan nesne&#8221; olup olmad\u0131\u011f\u0131n\u0131 belirler.<\/li>\n<li><strong>Ak\u0131ll\u0131 Bildirim:<\/strong> E\u011fer model &#8220;insan&#8221; alg\u0131larsa: &#8220;Evinizin \u00f6n\u00fcnde bir ki\u015fi alg\u0131land\u0131. G\u00f6r\u00fcnt\u00fcy\u00fc kontrol etmek ister misiniz?&#8221; E\u011fer sadece bir yaprak veya kedi ise, bildirim g\u00f6nderilmez veya &#8220;K\u00fc\u00e7\u00fck bir hareket alg\u0131land\u0131, endi\u015fe edilecek bir durum yok.&#8221; \u015feklinde daha hafif bir bildirim sunulabilir.<\/li>\n<\/ul>\n<p>Bu senaryo, a\u015f\u0131r\u0131 bildirimleri ortadan kald\u0131rarak ve sadece kritik bilgileri sunarak hem kullan\u0131c\u0131 g\u00fcvenli\u011fini art\u0131r\u0131r hem de gereksiz endi\u015feyi \u00f6nler. Video ak\u0131\u015f\u0131 cihaz \u00fczerinde i\u015flendi\u011fi i\u00e7in gizlilik de korunur. Bu vaka analizleri, Edge AI&#8217;\u0131n ak\u0131ll\u0131 bildirimlerde nas\u0131l d\u00f6n\u00fc\u015ft\u00fcr\u00fcc\u00fc bir etkiye sahip oldu\u011funu a\u00e7\u0131k\u00e7a g\u00f6stermektedir. Kotlin, Koog ve MediaPipes ile geli\u015ftiriciler, kullan\u0131c\u0131lara daha ilgili, g\u00fcvenli ve ki\u015fiselle\u015ftirilmi\u015f bir deneyim sunma g\u00fcc\u00fcne sahip olurlar.<\/p>\n<h2>Kotlin, Koog ve MediaPipes ile Edge AI Ak\u0131ll\u0131 Bildirim Uygulamas\u0131 Nas\u0131l Geli\u015ftirilir?<\/h2>\n<p>Ak\u0131ll\u0131 bildirim uygulaman\u0131z\u0131 geli\u015ftirmeye ba\u015flamak kula\u011fa karma\u015f\u0131k gelse de, do\u011fru ara\u00e7lar ve ad\u0131m ad\u0131m bir yakla\u015f\u0131mla bu s\u00fcre\u00e7 olduk\u00e7a y\u00f6netilebilir hale gelir. Bu b\u00f6l\u00fcmde, Kotlin tabanl\u0131 bir Android uygulamas\u0131 kullanarak, Koog ve MediaPipes entegrasyonu ile Edge AI destekli ak\u0131ll\u0131 bildirimleri nas\u0131l hayata ge\u00e7irece\u011finizi detayl\u0131ca inceleyece\u011fiz. Hedefimiz, cihaz \u00fczerindeki sens\u00f6r veya kamera verilerini i\u015fleyerek belirli bir durum alg\u0131land\u0131\u011f\u0131nda ak\u0131ll\u0131ca bir bildirim tetiklemektir.<\/p>\n<h3>Ad\u0131m 1: Proje Kurulumu ve Temel Ba\u011f\u0131ml\u0131l\u0131klar<\/h3>\n<p>\u00d6ncelikle, Android Studio&#8217;da yeni bir Kotlin projesi olu\u015fturarak i\u015fe ba\u015fl\u0131yoruz. &#8220;Empty Activity&#8221; \u015fablonunu se\u00e7erek temel yap\u0131y\u0131 kurduktan sonra, uygulamam\u0131z\u0131n <code>build.gradle (Module: app)<\/code> dosyas\u0131na gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131 eklememiz gerekecek. Edge AI i\u00e7in genellikle TensorFlow Lite (TFLite) modellerini kullan\u0131r\u0131z. MediaPipes ve Koog i\u00e7in de uygun ba\u011f\u0131ml\u0131l\u0131klar\u0131 dahil etmeliyiz.<\/p>\n<p>A\u015fa\u011f\u0131daki gibi bir yap\u0131ya sahip olmal\u0131y\u0131z:<\/p>\n<p>    <code><\/p>\n<pre><code>\n    \/\/ build.gradle (Module: app)\n\n    android {\n        \/\/ ...\n        aaptOptions {\n            noCompress \"tflite\" \/\/ TFLite modellerinin s\u0131k\u0131\u015ft\u0131r\u0131lmamas\u0131n\u0131 sa\u011flar\n        }\n        \/\/ ...\n    }\n\n    dependencies {\n        implementation 'androidx.core:core-ktx:1.9.0'\n        implementation 'androidx.appcompat:appcompat:1.6.1'\n        implementation 'com.google.android.material:material:1.11.0'\n        implementation 'androidx.constraintlayout:constraintlayout:2.1.4'\n\n        \/\/ TensorFlow Lite ba\u011f\u0131ml\u0131l\u0131\u011f\u0131\n        implementation 'org.tensorflow:tensorflow-lite:2.15.0'\n        implementation 'org.tensorflow:tensorflow-lite-gpu:2.15.0' \/\/ GPU h\u0131zland\u0131rma i\u00e7in (iste\u011fe ba\u011fl\u0131)\n        implementation 'org.tensorflow:tensorflow-lite-support:0.4.0' \/\/ Model yard\u0131mc\u0131lar\u0131 i\u00e7in\n\n        \/\/ MediaPipes ba\u011f\u0131ml\u0131l\u0131klar\u0131 (\u00f6rnek bir temel kurulum)\n        implementation 'com.google.mediapipe:solution-core:0.8.11' \/\/ \u00c7\u00f6z\u00fcm \u00e7ekirde\u011fi\n        \/\/ \u00d6rne\u011fin, nesne tespiti i\u00e7in MediaPipes Object Detection Solution kullan\u0131yorsan\u0131z:\n        \/\/ implementation 'com.google.mediapipe:object-detection:0.8.11' \n\n        \/\/ Koog i\u00e7in hayali bir ba\u011f\u0131ml\u0131l\u0131k (ger\u00e7ekte Koog'un nas\u0131l paketlendi\u011fine ba\u011fl\u0131d\u0131r)\n        \/\/ implementation 'com.yourcompany.koog:koog-core:1.0.0'\n        \/\/ implementation 'com.yourcompany.koog:koog-tflite-adapter:1.0.0'\n    }\n      <\/pre>\n<p><\/code><br \/>\n    <\/code><\/p>\n<p><em>Not: Koog hen\u00fcz a\u00e7\u0131k kaynak bir Google projesi olarak genel kullan\u0131ma sunulmad\u0131\u011f\u0131 i\u00e7in, burada varsay\u0131msal bir ba\u011f\u0131ml\u0131l\u0131k g\u00f6sterilmi\u015ftir. Ger\u00e7ek bir senaryoda, Koog'un i\u015flevselli\u011fini kendi model y\u00f6netim kodunuzla veya mevcut ML Kit gibi ara\u00e7larla taklit edebilirsiniz. Bu makalede, Koog'un prensipleri \u00fczerinden ilerleyece\u011fiz.<\/em><\/p>\n<h3>Ad\u0131m 2: MediaPipes ile Veri Ak\u0131\u015f\u0131 Boru Hatt\u0131 Olu\u015fturma<\/h3>\n<p>MediaPipes, kamera veya sens\u00f6rlerden gelen verileri ger\u00e7ek zamanl\u0131 olarak i\u015flemek i\u00e7in kullan\u0131l\u0131r. Diyelim ki, kameradan gelen g\u00f6r\u00fcnt\u00fcleri analiz ederek belirli bir nesneyi (\u00f6rne\u011fin, bir evcil hayvan\u0131) tespit etmek istiyoruz. MediaPipes, bu video ak\u0131\u015f\u0131n\u0131 par\u00e7alara ay\u0131r\u0131r, her kareyi i\u015fler ve bir sonraki ad\u0131ma (AI modeline) iletir.<\/p>\n<p>MediaPipes entegrasyonu, genellikle karma\u015f\u0131k bir boru hatt\u0131 (graph) tan\u0131mlamay\u0131 gerektirir. Bu boru hatt\u0131, giri\u015ften (kamera g\u00f6r\u00fcnt\u00fcs\u00fc) \u00e7\u0131k\u0131\u015fa (i\u015flenmi\u015f sonu\u00e7lar) kadar verinin nas\u0131l akaca\u011f\u0131n\u0131 ve hangi \"kalk\u00fclat\u00f6rler\" taraf\u0131ndan i\u015flenece\u011fini belirler. Basit bir nesne tespiti senaryosu i\u00e7in:<\/p>\n<p>    <code><\/p>\n<pre><code>\n    \/\/ MainActivity.kt i\u00e7inde MediaPipes i\u00e7in basit bir \u00f6rnek yap\u0131 (basitle\u015ftirilmi\u015f)\n\n    import android.graphics.Bitmap\n    import com.google.mediapipe.framework.Packet\n    import com.google.mediapipe.framework.PacketGetter\n    import com.google.mediapipe.glutil.EglManager\n    import com.google.mediapipe.components.CameraXPreviewHelper\n    import com.google.mediapipe.components.ExternalTextureConverter\n    import com.google.mediapipe.components.FrameProcessor\n    import com.google.mediapipe.formats.proto.DetectionProto.Detection\n    import java.io.File\n    import java.io.InputStream\n\n    class MainActivity : AppCompatActivity() {\n\n        private lateinit var previewHelper: CameraXPreviewHelper\n        private lateinit var converter: ExternalTextureConverter\n        private lateinit var processor: FrameProcessor\n        private lateinit var eglManager: EglManager\n\n        override fun onCreate(savedInstanceState: Bundle?) {\n            super.onCreate(savedInstanceState)\n            setContentView(R.layout.activity_main)\n\n            \/\/ ... Kamera izinleri ve UI kurulumu ...\n\n            eglManager = EglManager(null)\n            processor = FrameProcessor(\n                this,\n                eglManager.nativeContext,\n                \"your_mediapipe_graph.binarypb\", \/\/ Kendi MediaPipes grafi\u011finizin yolu\n                \"input_video\", \/\/ Grafi\u011fin giri\u015f stream ad\u0131\n                \"output_video\" \/\/ Grafi\u011fin \u00e7\u0131k\u0131\u015f stream ad\u0131\n            )\n            processor.videoSurfaceOutput(previewDisplayView.holder.surface)\n\n            converter = ExternalTextureConverter(eglManager.nativeContext, 2)\n            converter.set\")\n\n            \/\/ MediaPipes \u00e7\u0131k\u0131\u015f\u0131n\u0131 dinleme\n            processor.add\n                fun process(output: Packet?) {\n                    if (output == null) return\n\n                    \/\/ 'detections' ad\u0131nda bir stream'den Detection listesini \u00e7ekiyoruz\n                    \/\/ Bu, MediaPipes grafi\u011finizde tan\u0131mlanm\u0131\u015f olmal\u0131d\u0131r\n                    val detections = PacketGetter.getProtoLiteList(output, Detection.parser())\n\n                    detections?.forEach { detection ->\n                        val label = detection.labelList.firstOrNull() \/\/ \u0130lk etiketi al\n                        if (label == \"cat\" || label == \"dog\") {\n                            \/\/ Kediyi veya k\u00f6pe\u011fi alg\u0131lad\u0131k, \u015fimdi ak\u0131ll\u0131 bildirim tetikleyebiliriz!\n                            Log.d(\"MediaPipe\", \"Evcil hayvan alg\u0131land\u0131: $label\")\n                            \/\/ Burada Koog ve Bildirim mant\u0131\u011f\u0131 devreye girecek\n                        }\n                    }\n                }\n            })\n\n            previewHelper = CameraXPreviewHelper()\n            previewHelper.startCamera(this, this, processor.glContext, converter)\n        }\n\n        \/\/ ... Di\u011fer ya\u015fam d\u00f6ng\u00fcs\u00fc metotlar\u0131 (onResume, onPause, onDestroy) ...\n    }\n      <\/pre>\n<p><\/code><br \/>\n    <\/code><\/p>\n<p>Bu kod blo\u011fu, MediaPipes'\u0131n nas\u0131l ba\u015flat\u0131labilece\u011fi ve kamera g\u00f6r\u00fcnt\u00fclerinin nas\u0131l i\u015flenebilece\u011fine dair basitle\u015ftirilmi\u015f bir \u00f6rnektir. \"your_mediapipe_graph.binarypb\" dosyas\u0131, MediaPipes grafi\u011finizin derlenmi\u015f halidir ve projenizin <code>assets<\/code> klas\u00f6r\u00fcnde yer almal\u0131d\u0131r. Bu grafik, \u00f6rne\u011fin bir nesne tespiti modeli entegre edebilir.<\/p>\n<p>    <code><br \/>\n      Uzman \u0130pucu: MediaPipes grafikleri karma\u015f\u0131k olsa da, Google'\u0131n sundu\u011fu haz\u0131r \u00e7\u00f6z\u00fcmler (Object Detection Solution gibi) kullanarak ba\u015flang\u0131\u00e7 seviyesinde entegrasyonu h\u0131zland\u0131rabilirsiniz. Bu \u00e7\u00f6z\u00fcmler, arkada kompleks bir grafik bar\u0131nd\u0131r\u0131r ve sizin i\u00e7in basitle\u015ftirilmi\u015f bir API sunar.<br \/>\n    <\/code><\/p>\n<h3>Ad\u0131m 3: Koog ile Yapay Zeka Modeli Y\u00f6netimi<\/h3>\n<p>Koog, Edge AI modellerini cihazda y\u00f6netmek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu, bir TFLite modelini y\u00fcklemek, etkinle\u015ftirmek ve gerekti\u011finde g\u00fcncellemek anlam\u0131na gelir. Varsay\u0131msal bir Koog API'si kullanarak, alg\u0131lama modelimizi nas\u0131l y\u00f6netece\u011fimizi g\u00f6relim:<\/p>\n<p>    <code><\/p>\n<pre><code>\n    \/\/ Varsay\u0131msal KoogModelManager s\u0131n\u0131f\u0131\n\n    interface KoogModelLoadListener {\n        fun onModelLoaded(modelId: String)\n        fun onModelLoadFailed(modelId: String, error: Throwable)\n    }\n\n    object KoogModelManager {\n        private const val PET_DETECTION_MODEL_ID = \"pet_detection_v1\"\n        private var isModelReady = false\n\n        fun initialize(context: Context, listener: KoogModelLoadListener) {\n            \/\/ Koog'un modeli cihazdan y\u00fcklemesini taklit edelim\n            Log.d(\"Koog\", \"Evcil hayvan alg\u0131lama modeli y\u00fckleniyor...\")\n            \/\/ Ger\u00e7ekte burada Koog'un SDK's\u0131n\u0131n model indirme\/y\u00fckleme metodlar\u0131 \u00e7a\u011fr\u0131l\u0131r\n            \/\/ \u00d6rne\u011fin: Koog.loadModel(context, PET_DETECTION_MODEL_ID, object : KoogModelCallback { ... })\n            Handler(Looper.getMainLooper()).postDelayed({\n                isModelReady = true\n                listener.onModelLoaded(PET_DETECTION_MODEL_ID)\n                Log.d(\"Koog\", \"Evcil hayvan alg\u0131lama modeli y\u00fcklendi: $PET_DETECTION_MODEL_ID\")\n            }, 2000) \/\/ 2 saniye gecikme ile y\u00fckleme sim\u00fclasyonu\n        }\n\n        fun isModelAvailable(): Boolean {\n            return isModelReady\n        }\n\n        \/\/ Koog, ayn\u0131 zamanda model g\u00fcncellemelerini de y\u00f6netebilir.\n        \/\/ \u00d6rne\u011fin, yeni bir model s\u00fcr\u00fcm\u00fc \u00e7\u0131kt\u0131\u011f\u0131nda arka planda indirme ve de\u011fi\u015ftirme.\n        fun checkForModelUpdates() {\n            Log.d(\"Koog\", \"Model g\u00fcncellemeleri kontrol ediliyor...\")\n            \/\/ Ger\u00e7ekte: Koog.checkForUpdates(PET_DETECTION_MODEL_ID, updateCallback)\n        }\n    }\n      <\/pre>\n<p><\/code><br \/>\n    <\/code><\/p>\n<p><code>KoogModelManager<\/code>, uygulaman\u0131z ba\u015flad\u0131\u011f\u0131nda modelin y\u00fcklenmesini ba\u015flat\u0131r. MediaPipes'tan gelen alg\u0131lama sonu\u00e7lar\u0131n\u0131 Koog taraf\u0131ndan y\u00f6netilen AI modeline besleyebiliriz. E\u011fer MediaPipes'\u0131n kendisi i\u00e7inde bir AI modeli \u00e7al\u0131\u015f\u0131yorsa, Koog burada bu modelin s\u00fcr\u00fcm kontrol\u00fc ve cihaz \u00fczerinde optimizasyon gibi konularda devreye girer.<\/p>\n<h3>Ad\u0131m 4: Edge AI ile Ak\u0131ll\u0131 Bildirim Mant\u0131\u011f\u0131 Olu\u015fturma<\/h3>\n<p>MediaPipes bir evcil hayvan alg\u0131lad\u0131\u011f\u0131nda, bu bilgiyi al\u0131p bir bildirim tetiklemeliyiz. Bu, Kotlin'in g\u00fc\u00e7l\u00fc bildirim API'leri ile kolayca yap\u0131labilir.<\/p>\n<p>    <code><\/p>\n<pre><code>\n    \/\/ Bildirim Helper S\u0131n\u0131f\u0131\n\n    import android.app.NotificationChannel\n    import android.app.NotificationManager\n    import android.content.Context\n    import android.os.Build\n    import androidx.core.app.NotificationCompat\n    import androidx.core.app.NotificationManagerCompat\n\n    object SmartNotificationManager {\n        private const val CHANNEL_ID = \"smart_pet_notification_channel\"\n        private const val NOTIFICATION_ID = 101\n\n        fun createNotificationChannel(context: Context) {\n            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n                val name = \"Evcil Hayvan Bildirimleri\"\n                val descriptionText = \"Evcil hayvan aktivitelerini alg\u0131layan ak\u0131ll\u0131 bildirimler.\"\n                val importance = NotificationManager.IMPORTANCE_DEFAULT\n                val channel = NotificationChannel(CHANNEL_ID, name, importance).apply {\n                    description = descriptionText\n                }\n                val notificationManager: NotificationManager =\n                    context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager\n                notificationManager.createNotificationChannel(channel)\n            }\n        }\n\n        fun sendPetDetectionNotification(context: Context, petType: String) {\n            if (!KoogModelManager.isModelAvailable()) {\n                Log.w(\"Notification\", \"AI modeli hen\u00fcz haz\u0131r de\u011fil, bildirim g\u00f6nderilemiyor.\")\n                return\n            }\n\n            val builder = NotificationCompat.Builder(context, CHANNEL_ID)\n                .setSmallIcon(R.drawable.ic_launcher_foreground) \/\/ Kendi ikonunuzu kullan\u0131n\n                .setContentTitle(\"Ak\u0131ll\u0131 Evcil Hayvan Alg\u0131land\u0131!\")\n                .setContentText(\"Cihaz\u0131n\u0131z bir $petType alg\u0131lad\u0131. Kontrol etmek ister misiniz?\")\n                .setPriority(NotificationCompat.PRIORITY_DEFAULT)\n                .setAutoCancel(true) \/\/ Kullan\u0131c\u0131 dokundu\u011funda bildirimi kapat\n\n            with(NotificationManagerCompat.from(context)) {\n                notify(NOTIFICATION_ID, builder.build())\n            }\n            Log.d(\"Notification\", \"$petType alg\u0131land\u0131\u011f\u0131nda ak\u0131ll\u0131 bildirim g\u00f6nderildi.\")\n        }\n    }\n      <\/pre>\n<p><\/code><br \/>\n    <\/code><\/p>\n<p>MainActivity'de MediaPipes'tan gelen alg\u0131lamay\u0131 kullanarak bildirim g\u00f6nderme:<\/p>\n<p>    <code><\/p>\n<pre><code>\n    \/\/ MainActivity.kt i\u00e7indeki MediaPipes \u00e7\u0131kt\u0131s\u0131n\u0131 i\u015fleme blo\u011funun devam\u0131\n\n    processor.add\n        fun process(output: Packet?) {\n            if (output == null) return\n\n            val detections = PacketGetter.getProtoLiteList(output, Detection.parser())\n\n            detections?.forEach { detection ->\n                val label = detection.labelList.firstOrNull()\n                if (label == \"cat\" || label == \"dog\") {\n                    Log.d(\"MediaPipe\", \"Evcil hayvan alg\u0131land\u0131: $label\")\n                    \/\/ Ak\u0131ll\u0131 bildirimi tetikle\n                    SmartNotificationManager.sendPetDetectionNotification(this@MainActivity, label)\n                }\n            }\n        }\n    })\n      <\/pre>\n<p><\/code><br \/>\n    <\/code><\/p>\n<p>Uygulaman\u0131n ba\u015flang\u0131c\u0131nda, \u00f6rne\u011fin <code>onCreate<\/code> metodu i\u00e7inde, bildirim kanal\u0131n\u0131 olu\u015fturmay\u0131 unutmay\u0131n:<\/p>\n<p>    <code><\/p>\n<pre><code>\n    \/\/ MainActivity.kt - onCreate metodunun i\u00e7inde\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        SmartNotificationManager.createNotificationChannel(this)\n        KoogModelManager.initialize(this, object : KoogModelLoadListener {\n            override fun onModelLoaded(modelId: String) {\n                \/\/ Model y\u00fcklendi\u011finde kamera\/MediaPipes ba\u015flat\u0131labilir\n                Log.i(\"Koog\", \"$modelId ba\u015far\u0131yla y\u00fcklendi.\")\n                setupMediaPipeProcessor() \/\/ MediaPipes'\u0131 ba\u015flatacak metodunuz\n            }\n\n            override fun onModelLoadFailed(modelId: String, error: Throwable) {\n                Log.e(\"Koog\", \"$modelId y\u00fcklenirken hata olu\u015ftu: ${error.message}\")\n                \/\/ Hata durumunda kullan\u0131c\u0131ya bilgi ver veya alternatif bir plan uygula\n            }\n        })\n\n        \/\/ ... Di\u011fer ba\u015flatma kodlar\u0131 ...\n    }\n      <\/pre>\n<p><\/code><br \/>\n    <\/code><\/p>\n<p>Bu ad\u0131mlar, Kotlin, Koog ve MediaPipes kullanarak Edge AI destekli ak\u0131ll\u0131 bir bildirim uygulamas\u0131n\u0131n temelini olu\u015fturur. Cihaz \u00fczerinde \u00e7al\u0131\u015fan AI modelleri sayesinde, verimli, gizlili\u011fi koruyan ve kullan\u0131c\u0131n\u0131n ger\u00e7ekten ilgisini \u00e7ekecek bildirimler sunabilirsiniz. Gelecek b\u00f6l\u00fcmlerde, bu yap\u0131y\u0131 daha da ileriye ta\u015f\u0131yacak ipu\u00e7lar\u0131na de\u011finece\u011fiz.<\/p>\n<h2>Performans\u0131 Art\u0131rmak ve Gizlili\u011fi Korumak i\u00e7in \u0130pu\u00e7lar\u0131<\/h2>\n<p>Edge AI uygulamalar\u0131, cihaz \u00fczerinde \u00e7al\u0131\u015fman\u0131n getirdi\u011fi avantajlarla birlikte, baz\u0131 \u00f6zel zorluklar\u0131 da beraberinde getirir. Performans optimizasyonu ve kullan\u0131c\u0131 gizlili\u011finin korunmas\u0131, ba\u015far\u0131l\u0131 bir ak\u0131ll\u0131 bildirim uygulamas\u0131n\u0131n olmazsa olmazlar\u0131ndand\u0131r. Bu b\u00f6l\u00fcmde, geli\u015ftiricilerin bu iki kritik alan\u0131 ele al\u0131rken kullanabilece\u011fi ileri d\u00fczey ipu\u00e7lar\u0131n\u0131 ve p\u00fcf noktalar\u0131n\u0131 inceleyece\u011fiz.<\/p>\n<h3>Model S\u0131k\u0131\u015ft\u0131rma ve Optimizasyon: Daha H\u0131zl\u0131 ve Hafif Modeller<\/h3>\n<p>Mobil cihazlar s\u0131n\u0131rl\u0131 i\u015flem g\u00fcc\u00fcne, belle\u011fe ve depolama alan\u0131na sahiptir. Bu nedenle, kulland\u0131\u011f\u0131n\u0131z yapay zeka modellerinin bu k\u0131s\u0131tlamalara uygun olmas\u0131 esast\u0131r. Model s\u0131k\u0131\u015ft\u0131rma ve optimizasyon teknikleri, bu konuda b\u00fcy\u00fck fark yaratabilir:<\/p>\n<ul>\n<li><strong>Nicelle\u015ftirme (Quantization):<\/strong> Bu teknik, modeldeki a\u011f\u0131rl\u0131klar\u0131 ve aktivasyonlar\u0131 daha d\u00fc\u015f\u00fck bit derinliklerine (\u00f6rne\u011fin, 32-bit float'tan 8-bit integer'a) d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu, model boyutunu k\u00fc\u00e7\u00fclt\u00fcr ve \u00e7o\u011fu durumda i\u015flem h\u0131z\u0131n\u0131 art\u0131r\u0131r. TensorFlow Lite, nicelle\u015ftirme i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lar sunar. K\u00fc\u00e7\u00fck bir do\u011fruluk kayb\u0131na neden olabilir, bu nedenle dikkatli test yapmak \u00f6nemlidir.<\/li>\n<li><strong>Model K\u0131rpma (Pruning):<\/strong> Modeldeki daha az \u00f6nemli olan ba\u011flant\u0131lar\u0131 veya n\u00f6ronlar\u0131 budayarak modelin boyutunu k\u00fc\u00e7\u00fclt\u00fcr. Bu, modelin seyrekle\u015fmesine neden olur ve genellikle performans\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Knowledge Distillation:<\/strong> B\u00fcy\u00fck ve karma\u015f\u0131k bir \"\u00f6\u011fretmen\" modelden daha k\u00fc\u00e7\u00fck ve daha h\u0131zl\u0131 bir \"\u00f6\u011frenci\" modele bilginin aktar\u0131lmas\u0131d\u0131r. \u00d6\u011frenci modeli, \u00f6\u011fretmenin \u00e7\u0131kt\u0131s\u0131n\u0131 taklit etmeye \u00e7al\u0131\u015farak benzer bir do\u011frulukla daha verimli \u00e7al\u0131\u015f\u0131r.<\/li>\n<li><strong>Model Se\u00e7imi:<\/strong> Her zaman en b\u00fcy\u00fck veya en karma\u015f\u0131k modeli kullanmak zorunda de\u011filsiniz. G\u00f6reviniz i\u00e7in yeterince iyi performans g\u00f6steren daha k\u00fc\u00e7\u00fck ve daha hafif modelleri tercih edin. MobileNet veya EfficientNet gibi mobil cihazlar i\u00e7in optimize edilmi\u015f mimariler bu konuda iyi ba\u015flang\u0131\u00e7 noktalar\u0131d\u0131r.<\/li>\n<\/ul>\n<p>    <code><br \/>\n      Uzman \u0130pucu: Nicelle\u015ftirme yaparken, modelinizi hem dinamik aral\u0131k hem de tam tamsay\u0131 nicelle\u015ftirme se\u00e7enekleriyle test edin. Tam tamsay\u0131 nicelle\u015ftirme genellikle en iyi performans\u0131 sunar ancak uyumluluk ve karma\u015f\u0131kl\u0131k a\u00e7\u0131s\u0131ndan daha fazla \u00e7aba gerektirebilir.<br \/>\n    <\/code><\/p>\n<h3>Pil T\u00fcketimini Minimize Etme: S\u00fcrd\u00fcr\u00fclebilir Edge AI<\/h3>\n<p>S\u00fcrekli \u00e7al\u0131\u015fan sens\u00f6rler ve yapay zeka modelleri pil \u00f6mr\u00fc \u00fczerinde ciddi bir etki yaratabilir. Ak\u0131ll\u0131 bildirim uygulaman\u0131z\u0131n pil dostu olmas\u0131 i\u00e7in a\u015fa\u011f\u0131daki stratejileri uygulay\u0131n:<\/p>\n<ul>\n<li><strong>Sens\u00f6r Kullan\u0131m\u0131n\u0131 Optimize Edin:<\/strong>\n<ul>\n<li><strong>Ak\u0131ll\u0131 Sens\u00f6r Yoklamas\u0131:<\/strong> Gerekmedik\u00e7e sens\u00f6rleri s\u00fcrekli olarak a\u00e7\u0131k tutmay\u0131n. Yaln\u0131zca belirli tetikleyiciler (\u00f6rne\u011fin, ekran a\u00e7\u0131ld\u0131\u011f\u0131nda, uygulama \u00f6n plana geldi\u011finde, belirli bir konumda) veya periyodik aral\u0131klarla k\u0131sa s\u00fcreli\u011fine veri toplay\u0131n.<\/li>\n<li><strong>D\u00fc\u015f\u00fck G\u00fc\u00e7l\u00fc Sens\u00f6rleri Kullan\u0131n:<\/strong> E\u011fer m\u00fcmk\u00fcnse, y\u00fcksek g\u00fc\u00e7 t\u00fcketen sens\u00f6rler yerine daha az enerji harcayan alternatifleri tercih edin (\u00f6rne\u011fin, GPS yerine a\u011f konum hizmetleri veya pasif konum sa\u011flay\u0131c\u0131lar).<\/li>\n<\/ul>\n<\/li>\n<li><strong>AI Modelini Ko\u015fullu \u00c7al\u0131\u015ft\u0131r\u0131n:<\/strong> Yapay zeka modelini her zaman \u00e7al\u0131\u015ft\u0131rmak yerine, yaln\u0131zca belirli ko\u015fullar (\u00f6rne\u011fin, kamera ak\u0131\u015f\u0131nda \u00f6nemli bir de\u011fi\u015fiklik oldu\u011funda, cihaz \u015farj olurken, kullan\u0131c\u0131 aktif olarak uygulamay\u0131 kullan\u0131rken) kar\u015f\u0131land\u0131\u011f\u0131nda etkinle\u015ftirin.<\/li>\n<li><strong>Uygun \u0130\u015f Par\u00e7ac\u0131\u011f\u0131 Y\u00f6netimi:<\/strong> Yapay zeka \u00e7\u0131kar\u0131m\u0131n\u0131 ayr\u0131 bir i\u015f par\u00e7ac\u0131\u011f\u0131nda (background thread) veya Kotlin korutinlerinde \u00e7al\u0131\u015ft\u0131rarak ana UI i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131n engellenmesini \u00f6nleyin. Bu, uygulaman\u0131n yan\u0131t verebilirli\u011fini korurken arka planda \u00e7al\u0131\u015fmay\u0131 sa\u011flar.<\/li>\n<li><strong>Donan\u0131m H\u0131zland\u0131rma:<\/strong> Destekleyen cihazlarda GPU veya NPU (Neural Processing Unit) gibi \u00f6zel donan\u0131mlar\u0131 kullanarak model \u00e7\u0131kar\u0131m\u0131n\u0131 h\u0131zland\u0131r\u0131n. TensorFlow Lite GPU delegate veya NNAPI (Neural Networks API) bu konuda yard\u0131mc\u0131 olabilir.<\/li>\n<\/ul>\n<h3>Kullan\u0131c\u0131 Veri Gizlili\u011fi Standartlar\u0131na Uyum: G\u00fcven Olu\u015fturma<\/h3>\n<p>Edge AI'\u0131n en b\u00fcy\u00fck avantajlar\u0131ndan biri gizliliktir, ancak bu avantaj\u0131 korumak ve kullan\u0131c\u0131n\u0131n g\u00fcvenini kazanmak i\u00e7in baz\u0131 ad\u0131mlar atman\u0131z gerekir:<\/p>\n<ul>\n<li><strong>\u015eeffafl\u0131k:<\/strong> Kullan\u0131c\u0131ya, verilerinin nas\u0131l topland\u0131\u011f\u0131, cihaz \u00fczerinde nas\u0131l i\u015flendi\u011fi ve bildirimlerin nas\u0131l ki\u015fiselle\u015ftirildi\u011fi konusunda a\u00e7\u0131k ve anla\u015f\u0131l\u0131r bilgi verin. Uygulaman\u0131z\u0131n gizlilik politikas\u0131n\u0131 kolayca eri\u015filebilir k\u0131l\u0131n.<\/li>\n<li><strong>\u0130zin Y\u00f6netimi:<\/strong> Kamera, mikrofon, konum gibi hassas sens\u00f6rlere eri\u015fim i\u00e7in her zaman kullan\u0131c\u0131lardan a\u00e7\u0131k izin isteyin ve bu izinleri ne ama\u00e7la kulland\u0131\u011f\u0131n\u0131z\u0131 net bir \u015fekilde a\u00e7\u0131klay\u0131n. Kullan\u0131c\u0131lar\u0131n istedikleri zaman bu izinleri iptal edebilmesini sa\u011flay\u0131n.<\/li>\n<li><strong>Minimum Veri Prensibi:<\/strong> Sadece uygulaman\u0131z\u0131n i\u015flevselli\u011fi i\u00e7in kesinlikle gerekli olan verileri toplay\u0131n ve i\u015fleyin. Gereksiz verilerden ka\u00e7\u0131n\u0131n.<\/li>\n<li><strong>Veri Anonimle\u015ftirme\/Anonimle\u015ftirme:<\/strong> E\u011fer buluta veri g\u00f6ndermek zorundaysan\u0131z (\u00f6rne\u011fin, model g\u00fcncellemeleri i\u00e7in telemetri), bu verileri m\u00fcmk\u00fcn oldu\u011funca anonimle\u015ftirin veya takma ad kullan\u0131n.<\/li>\n<li><strong>Veri Silme Se\u00e7enekleri:<\/strong> Kullan\u0131c\u0131lara, cihazlar\u0131nda toplanan veya i\u015flenen verileri istedikleri zaman silme veya s\u0131f\u0131rlama se\u00e7ene\u011fi sunun.<\/li>\n<\/ul>\n<p>    <code><br \/>\n      Uzman \u0130pucu: GDPR ve CCPA gibi veri koruma d\u00fczenlemelerine uyum, sadece yasal bir zorunluluk de\u011fil, ayn\u0131 zamanda kullan\u0131c\u0131 g\u00fcvenini art\u0131ran \u00f6nemli bir unsurdur. Uygulaman\u0131z\u0131 tasarlarken bu d\u00fczenlemeleri g\u00f6z \u00f6n\u00fcnde bulundurun.<br \/>\n    <\/code><\/p>\n<h3>Dinamik Model G\u00fcncelleme Stratejileri: S\u00fcrekli \u0130yile\u015ftirme<\/h3>\n<p>Yapay zeka modelleri zamanla eskiyebilir veya daha yeni, daha do\u011fru modellere ihtiya\u00e7 duyulabilir. Koog gibi bir model y\u00f6netim katman\u0131, modelleri dinamik olarak g\u00fcncellemenize olanak tan\u0131r:<\/p>\n<ul>\n<li><strong>Uzaktan G\u00fcncelleme:<\/strong> Yeni model s\u00fcr\u00fcmlerini veya yamalar\u0131n\u0131 sunucu \u00fczerinden cihazlara g\u00f6nderebilmelisiniz. Koog, bu s\u00fcreci g\u00fcvenli ve verimli bir \u015fekilde y\u00f6netir.<\/li>\n<li><strong>Ko\u015fullu G\u00fcncellemeler:<\/strong> Modelleri yaln\u0131zca Wi-Fi a\u011f\u0131na ba\u011fl\u0131yken veya cihaz \u015farj olurken indirin. Bu, kullan\u0131c\u0131lar\u0131n veri planlar\u0131n\u0131 veya pil \u00f6mr\u00fcn\u00fc t\u00fcketmesini engeller.<\/li>\n<li><strong>A\/B Testi:<\/strong> Farkl\u0131 model s\u00fcr\u00fcmlerini k\u00fc\u00e7\u00fck bir kullan\u0131c\u0131 grubunda test ederek performans ve do\u011fruluklar\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131n. Koog, bu t\u00fcr A\/B testlerini kolayla\u015ft\u0131rmak i\u00e7in ara\u00e7lar sa\u011flayabilir.<\/li>\n<li><strong>Geri Alma Mekanizmalar\u0131:<\/strong> Yeni bir model s\u00fcr\u00fcm\u00fcnde beklenmeyen sorunlar \u00e7\u0131karsa, kolayca \u00f6nceki stabil s\u00fcr\u00fcme geri d\u00f6nebilen bir mekanizmaya sahip olun.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131n\u0131 uygulayarak, Edge AI destekli ak\u0131ll\u0131 bildirim uygulaman\u0131z\u0131 sadece i\u015flevsel de\u011fil, ayn\u0131 zamanda performansl\u0131, pil dostu ve kullan\u0131c\u0131 gizlili\u011fine sayg\u0131l\u0131 hale getirebilirsiniz. Bu, uzun vadede kullan\u0131c\u0131 memnuniyetini ve uygulaman\u0131z\u0131n ba\u015far\u0131s\u0131n\u0131 do\u011frudan etkileyecektir.<\/p>\n<h2>Sonu\u00e7: Gelece\u011fin Bildirimleri Parmaklar\u0131n\u0131z\u0131n Ucunda<\/h2>\n<p>Bu uzun ve detayl\u0131 yolculu\u011fumuzun sonunda, \"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu\" konulu makalemizde, dijital \u00e7a\u011f\u0131n getirdi\u011fi bildirim karma\u015fas\u0131na nas\u0131l yenilik\u00e7i \u00e7\u00f6z\u00fcmler \u00fcretebilece\u011fimizi g\u00f6rm\u00fc\u015f olduk. Geleneksel bildirim y\u00f6ntemlerinin s\u0131n\u0131rlamalar\u0131n\u0131 a\u015farak, kullan\u0131c\u0131lara daha ilgili, zaman\u0131nda ve ki\u015fisel bir deneyim sunman\u0131n anahtar\u0131, cihaz \u00fczerinde \u00e7al\u0131\u015fan yapay zeka (Edge AI) teknolojilerinde yat\u0131yor.<\/p>\n<p>Kotlin'in modern ve g\u00fc\u00e7l\u00fc yap\u0131s\u0131yla Android uygulama geli\u015ftirme d\u00fcnyas\u0131na ad\u0131m att\u0131k. MediaPipes'\u0131n ger\u00e7ek zamanl\u0131 veri ak\u0131\u015f\u0131 i\u015fleme yeteneklerini ke\u015ffederek, kamera ve sens\u00f6rlerden gelen ham veriyi anlaml\u0131 bilgilere d\u00f6n\u00fc\u015ft\u00fcrmenin yolunu a\u00e7t\u0131k. Ard\u0131ndan, Koog gibi bir model y\u00f6netim \u00e7er\u00e7evesinin (veya onun prensiplerinin) yapay zeka modellerini cihaz \u00fczerinde nas\u0131l daha etkin bir \u015fekilde y\u00f6netebilece\u011fimizi, y\u00fckleyebilece\u011fimizi ve optimize edebilece\u011fimizi g\u00f6sterdik. Bu \u00fc\u00e7l\u00fc, Edge AI'\u0131n vaat etti\u011fi h\u0131z, gizlilik ve \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fma yetene\u011fini mobil uygulamalar\u0131n\u0131za ta\u015f\u0131yor.<\/p>\n<p>Vaka analizleriyle, e-ticaretten sa\u011fl\u0131\u011fa, ak\u0131ll\u0131 ev sistemlerinden g\u00fcvenli\u011fe kadar bir\u00e7ok alanda ak\u0131ll\u0131 bildirimlerin sadece bir yenilik de\u011fil, ayn\u0131 zamanda kullan\u0131c\u0131n\u0131n ya\u015fam kalitesini art\u0131ran temel bir ihtiya\u00e7 oldu\u011funu vurgulad\u0131k. Sadece do\u011fru zamanda do\u011fru bilgiyi sunmakla kalmay\u0131p, ayn\u0131 zamanda kullan\u0131c\u0131 verilerinin cihazda kalmas\u0131n\u0131 sa\u011flayarak gizlilik endi\u015felerini de gideriyoruz. Bu, kullan\u0131c\u0131lar ve geli\u015ftiriciler aras\u0131nda g\u00fc\u00e7l\u00fc bir g\u00fcven ili\u015fkisi kurman\u0131n anahtar\u0131d\u0131r.<\/p>\n<p>Son olarak, performans optimizasyonu, pil t\u00fcketimini minimize etme ve kullan\u0131c\u0131 gizlili\u011fi standartlar\u0131na uyum gibi ileri d\u00fczey konulara de\u011finerek, uygulaman\u0131z\u0131n sadece ak\u0131ll\u0131 de\u011fil, ayn\u0131 zamanda sa\u011flam ve s\u00fcrd\u00fcr\u00fclebilir olmas\u0131n\u0131 sa\u011flayacak ipu\u00e7lar\u0131n\u0131 payla\u015ft\u0131k. Model s\u0131k\u0131\u015ft\u0131rmadan dinamik g\u00fcncellemelere kadar bir\u00e7ok strateji, Edge AI uygulamalar\u0131n\u0131z\u0131n uzun \u00f6m\u00fcrl\u00fc ve ba\u015far\u0131l\u0131 olmas\u0131n\u0131 temin edecektir.<\/p>\n<p>Art\u0131k bildirimler sadece dikkat da\u011f\u0131t\u0131c\u0131 birer \u00f6\u011fe olmaktan \u00e7\u0131k\u0131p, kullan\u0131c\u0131n\u0131n hayat\u0131n\u0131 kolayla\u015ft\u0131ran, de\u011fer katan ve ger\u00e7ekten \u00f6nemli anlar\u0131 yakalayan ak\u0131ll\u0131 asistanlara d\u00f6n\u00fc\u015f\u00fcyor. Kotlin, Koog ve MediaPipes ile \u00e7\u0131kt\u0131\u011f\u0131n\u0131z bu yolculuk, mobil uygulama geli\u015ftirme alan\u0131nda gelece\u011fin kap\u0131lar\u0131n\u0131 aral\u0131yor. Kendi ak\u0131ll\u0131 bildirim \u00e7\u00f6z\u00fcmlerinizi geli\u015ftirerek, kullan\u0131c\u0131lara bug\u00fcne kadarki en ki\u015fisel ve en anlay\u0131\u015fl\u0131 dijital deneyimi sunma f\u0131rsat\u0131na sahipsiniz. Gelece\u011fin bildirimleri, parmaklar\u0131n\u0131z\u0131n ucunda sizi bekliyor.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<dl>\n<dt><strong>Edge AI kullanmak neden bulut tabanl\u0131 AI'dan daha iyi olabilir?<\/strong><\/dt>\n<dd>Edge AI, verileri cihaz \u00fczerinde i\u015fledi\u011fi i\u00e7in daha y\u00fcksek gizlilik ve g\u00fcvenlik sunar. Ayr\u0131ca, a\u011f gecikmesi olmaks\u0131z\u0131n daha h\u0131zl\u0131 yan\u0131t s\u00fcreleri sa\u011flar ve internet ba\u011flant\u0131s\u0131 olmasa bile \u00e7al\u0131\u015fabilir. Bu da \u00f6zellikle ger\u00e7ek zamanl\u0131 ve hassas verilerle \u00e7al\u0131\u015fan ak\u0131ll\u0131 bildirimler i\u00e7in kritik avantajlard\u0131r.<\/dd>\n<dt><strong>Koog'un yerine kullanabilece\u011fim alternatifler var m\u0131?<\/strong><\/dt>\n<dd>Evet, Koog varsay\u0131msal bir model y\u00f6netim \u00e7er\u00e7evesi olarak sunulsa da, benzer i\u015flevleri sa\u011flayan ger\u00e7ek d\u00fcnya ara\u00e7lar\u0131 mevcuttur. \u00d6rne\u011fin, TensorFlow Lite'\u0131n kendi model y\u00f6netim ve da\u011f\u0131t\u0131m mekanizmalar\u0131n\u0131 kullanabilir, veya Google'\u0131n ML Kit'i gibi daha kapsaml\u0131 \u00e7\u00f6z\u00fcmlerle model entegrasyonu ve y\u00f6netimi yapabilirsiniz. Kendi \u00f6zel model ya\u015fam d\u00f6ng\u00fcs\u00fc y\u00f6netim kodunuzu da yazman\u0131z m\u00fcmk\u00fcnd\u00fcr.<\/dd>\n<dt><strong>MediaPipes ile hangi t\u00fcr verileri i\u015fleyebilirim?<\/strong><\/dt>\n<dd>MediaPipes, olduk\u00e7a esnek bir \u00e7er\u00e7evedir ve \u00e7ok \u00e7e\u015fitli veri t\u00fcrlerini i\u015flemek i\u00e7in kullan\u0131labilir. Ba\u015fl\u0131ca destekledi\u011fi veri t\u00fcrleri aras\u0131nda video (kamera ak\u0131\u015f\u0131), ses, g\u00f6r\u00fcnt\u00fcler, sens\u00f6r verileri (ivme\u00f6l\u00e7er, jiroskop vb.) ve hatta \u00f6zel, kullan\u0131c\u0131 tan\u0131ml\u0131 veri yap\u0131lar\u0131 bulunur. Bu yetene\u011fi sayesinde, farkl\u0131 Edge AI senaryolar\u0131 i\u00e7in g\u00fc\u00e7l\u00fc veri i\u015fleme boru hatlar\u0131 olu\u015fturabilirsiniz.<\/dd>\n<dt><strong>Ak\u0131ll\u0131 bildirimlerin pil t\u00fcketimini nas\u0131l minimumda tutabilirim?<\/strong><\/dt>\n<dd>Pil t\u00fcketimini azaltmak i\u00e7in birden fazla strateji uygulayabilirsiniz: Sens\u00f6rleri yaln\u0131zca gerekti\u011finde ve k\u0131sa s\u00fcreli\u011fine aktive edin. Yapay zeka modelini s\u00fcrekli \u00e7al\u0131\u015ft\u0131rmak yerine, belirli tetikleyiciler veya ko\u015fullar alt\u0131nda etkinle\u015ftirin. Modelinizi nicelle\u015ftirme veya k\u0131rpma gibi tekniklerle optimize ederek daha az kaynak t\u00fcketmesini sa\u011flay\u0131n. Ayr\u0131ca, donan\u0131m h\u0131zland\u0131rma (GPU\/NPU) kullanarak i\u015flem s\u00fcrelerini k\u0131salt\u0131n ve arka plan i\u015f par\u00e7ac\u0131klar\u0131 veya korutinler kullanarak ana i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131n verimli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n.<\/dd>\n<dt><strong>Uygulamam\u0131 mobil cihazlar i\u00e7in nas\u0131l optimize ederim?<\/strong><\/dt>\n<dd>Mobil optimizasyon i\u00e7in HTML taraf\u0131nda responsive tasar\u0131m prensiplerini uygulay\u0131n. CSS media query'leri kullanarak farkl\u0131 ekran boyutlar\u0131na ve y\u00f6nlendirmelerine (dikey\/yatay) g\u00f6re d\u00fczeni ayarlay\u0131n. \u00d6rne\u011fin:<\/dd>\n<p>        <code><\/p>\n<pre><code>\n    <style>\n      \/* Varsay\u0131lan stil (k\u00fc\u00e7\u00fck ekranlar i\u00e7in) *\/\n      body {\n        font-size: 16px;\n        line-height: 1.6;\n      }\n\n      \/* Orta boy ekranlar i\u00e7in (\u00f6rne\u011fin tabletler) *\/\n      @media (min-width: 768px) {\n        body {\n          font-size: 18px;\n        }\n        h2 {\n          font-size: 2.2em;\n        }\n      }\n\n      \/* Geni\u015f ekranlar i\u00e7in (\u00f6rne\u011fin masa\u00fcst\u00fc) *\/\n      @media (min-width: 1024px) {\n        body {\n          font-size: 20px;\n          max-width: 960px;\n          margin: 0 auto;\n        }\n        h2 {\n          font-size: 2.5em;\n        }\n      }\n    <\/style>\n          <\/pre>\n<p><\/code><br \/>\n        <\/code><\/p>\n<dd>Bu t\u00fcr medya sorgular\u0131, i\u00e7eri\u011finizin farkl\u0131 cihazlarda okunabilir ve estetik g\u00f6r\u00fcnmesini sa\u011flar.<\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1342],"tags":[],"class_list":{"0":"post-30867","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ai","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu<\/title>\n<meta name=\"description\" content=\"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu\" \/>\n<meta property=\"og:description\" content=\"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-02T21:01:55+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"29 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu\",\"datePublished\":\"2025-10-02T21:01:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\"},\"wordCount\":4858,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AI\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\",\"name\":\"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-02T21:01:55+00:00\",\"description\":\"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu","description":"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/","og_locale":"tr_TR","og_type":"article","og_title":"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu","og_description":"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-02T21:01:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"29 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu","datePublished":"2025-10-02T21:01:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/"},"wordCount":4858,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AI"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/","url":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/","name":"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-02T21:01:55+00:00","description":"Ak\u0131ll\u0131 telefonunuzdaki bildirim karma\u015fas\u0131ndan s\u0131k\u0131ld\u0131n\u0131z m\u0131? Her an gelen, \u00e7o\u011funlukla alakas\u0131z ve dikkat da\u011f\u0131t\u0131c\u0131 mesajlar, g\u00fcn\u00fcm\u00fcz dijital ya\u015fam\u0131n\u0131n ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 haline geldi. Ancak, teknolojinin sundu\u011fu yeni imkanlarla bu karma\u015fay\u0131 bir d\u00fczene sokmak m\u00fcmk\u00fcn. \u0130\u015fte tam da bu noktada Edge AI (u\u00e7 nokta yapay zekas\u0131), Kotlin, Koog ve MediaPipes gibi g\u00fc\u00e7l\u00fc ara\u00e7lar devreye giriyor. Bu makalede, bildirimlerinizi daha ak\u0131ll\u0131, ki\u015fisel ve kesintisiz hale getiren bir yolculu\u011fa \u00e7\u0131kaca\u011f\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/edge-ai-ile-akilli-bildirimler-kotlin-koog-ve-mediapipes-yolculugu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Edge AI ile Ak\u0131ll\u0131 Bildirimler: Kotlin, Koog ve MediaPipes Yolculu\u011fu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=30867"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30867\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}