← Blog
MOBİLMOBILE·29 TEMMUZ 2026JUL 29, 2026·10 DK OKUMA10 MIN READ

Ajan uyumlu uygulama tasarımı: uygulamanızı artık sadece insanlar kullanmayacakAgent-ready app design: your app's next user isn't a person

2026'da iki mobil platform da işletim sistemi seviyesindeki yapay zekâ ajanlarına uygulama içi eylem çağırma yetkisi verdi. Apple, 8 Haziran 2026'da SiriKit'i emekliye ayırıp App Intents'i Siri'nin tek giriş kapısı yaptı; Google ise AppFunctions ile Android uygulamalarını cihaz üstünde birer MCP sunucusuna dönüştürüyor. Sonuç net: yeteneklerinizi makine-okunur biçimde ilan etmiyorsanız ajan sizi atlar ve aynı işi yapan rakibinizi çağırır.

In 2026 both mobile platforms gave OS-level AI agents the right to invoke in-app actions. On 8 June 2026 Apple deprecated SiriKit and made App Intents the only way into Siri; Google's AppFunctions turns Android apps into on-device MCP servers. The consequence is blunt: if your capabilities aren't declared in machine-readable form, the agent skips you and calls a competitor that does the same job.

Naylalabs · MühendislikEngineering

01Kullanıcı uygulamanızı hiç açmazsa ne olur?What happens when the user never opens your app?

On yıldır mobil ürün geliştirmenin temel varsayımı şuydu: kullanıcı telefonunu açar, ikonunuzu bulur, uygulamanıza girer, akışlarınızda gezinir. Bütün onboarding, navigasyon ve dönüşüm optimizasyonu bu varsayımın üzerine kuruluydu.

For a decade, mobile product development rested on one assumption: the user unlocks their phone, finds your icon, opens your app and moves through your flows. Onboarding, navigation and conversion optimization were all built on top of it.

2026'da bu varsayım çatlamaya başladı. Kullanıcı artık şunu diyebiliyor: "Lisa'nın e-postasındaki makarna tarifini bul ve malzemeleri alışveriş listeme ekle." Bu cümlede iki farklı uygulama görev alıyor ama kullanıcı ikisini de açmıyor. Aradaki işi işletim sistemindeki ajan yapıyor.

In 2026 that assumption started to crack. A user can now say: "Find the pasta recipe in Lisa's email and add the ingredients to my shopping list." Two different apps do work in that sentence, and the user opens neither. The agent in the operating system does the joining.

Buradaki kritik soru şu: ajan, sizin uygulamanızın ne yapabildiğini nereden bilecek? Cevap ikonunuz, ekran tasarımınız veya App Store açıklamanız değil. Cevap, uygulamanızın makine tarafından okunabilir biçimde ilan ettiği yetenek listesi. İlan etmiyorsanız ajan sizi atlar.

Which raises the question that matters: how does the agent know what your app can do? Not from your icon, your screens or your App Store description. From the capability list your app publishes in machine-readable form. Don't publish one, and the agent routes around you.

Web'de içeriğiniz ne kadar iyi olursa olsun, Google onu tarayamıyorsa yoktur. Mobilde artık aynı katman var: ajan yeteneklerinizi okuyamıyorsa, uygulamanız yoktur.
On the web, however good your content is, it doesn't exist if Google can't crawl it. Mobile now has the same layer: if the agent can't read your capabilities, your app doesn't exist.

02İki yol: ön kapı mı, pencere mi?Two ways in: the front door or the window

Burada çoğu ekibin kaçırdığı bir gerçek var: ajanların uygulamanızı kullanıp kullanmayacağına siz karar vermiyorsunuz. Yalnızca ön kapıdan mı yoksa pencereden mi gireceklerine karar veriyorsunuz.

Here's the part most teams miss: you don't get to decide whether agents use your app. You only decide whether they come through the front door or climb in through the window.

Google ikisini de yayına aldı. Uygulamanız entegre değilse Gemini onu güvenli, sanal bir pencerede açıyor; bulut tarafı ekranı okuyup nereye dokunacağını, kaydıracağını ve yazacağını söylüyor — yani kullanıcının elle yaptığı adımları taklit ediyor. Google bunu entegre olmayan uygulamalar için açıkça bir yedek çözüm olarak konumlandırıyor. Entegreyseniz iş cihaz üstünde, tipli fonksiyon çağrılarıyla dönüyor.

Google shipped both. If your app isn't integrated, Gemini opens it in a secure virtual window and the cloud side reads the screen to decide where to tap, scroll and type — imitating the steps a user would take by hand. Google positions this explicitly as a fallback for apps that haven't integrated. If you are integrated, the work happens on-device through typed function calls.

Ekran otomasyonu (yedek)Screen automation (fallback) Tanımlı fonksiyonlarDeclared functions
Nasıl çalışırHow it works Ajan ekranı okur, dokunur, yazarThe agent reads the screen, taps and types Ajan ilan ettiğiniz fonksiyonu çağırırThe agent calls a function you declared
Kod değişikliğiCode change GerekmezNone needed App Intents / AppFunctions gerekirApp Intents / AppFunctions required
Nerede çalışırWhere it runs Bulut kontrollü, ağ gidiş-dönüşü varCloud-driven, with network round-trips Cihaz üstünde, yerelOn-device, locally
Arayüzünüz değişinceWhen your UI changes Kırılabilir — akış ekrana bağlıCan break — the flow is tied to the screen Etkilenmez — sözleşme ayrıUnaffected — the contract is separate
Kullanım limitiUsage limits Var (ücretsiz ve Pro katmanlarında)Yes (on free and Pro tiers) Yerel çalıştığı için limit yokNone, since it runs locally
Kontrol sizde mi?Do you control it? Hayır — ne çağrıldığını siz belirlemezsinizNo — you don't define what gets invoked Evet — isimler, parametreler, onaylar sizinYes — names, parameters and confirmations are yours

Tablodaki son satır en önemlisi. Ekran otomasyonunda ajan, "sipariş ver" ile "aboneliği iptal et" arasındaki farkı sizin ürün mantığınızdan değil, ekrandaki butonlardan çıkarır. Tanımlı fonksiyonlarda hangi eylemin onay istediğini siz yazarsınız.

That last row matters most. Under screen automation the agent infers the difference between "place order" and "cancel subscription" from the buttons on screen, not from your product logic. With declared functions, you're the one who writes down which action needs confirmation.

03Apple tarafı: SiriKit emekli, App Intents zorunluApple: SiriKit retired, App Intents mandatory

WWDC 2026'nın manşeti yeni Siri oldu ama geliştiriciler için asıl haber altta kaldı: Apple, App Intents'i Siri için zorunlu entegrasyon yüzeyi ilan etti ve 2016'dan beri sesli asistan özelliklerini çalıştıran SiriKit'e resmi kullanımdan kaldırma bildirimi verdi. Mevcut SiriKit kodu derlenmeye devam ediyor, Xcode 27'de yalnızca uyarı üretiyor.

The headline at WWDC 2026 was the new Siri, but the developer news underneath it was bigger: Apple declared App Intents the mandatory integration surface for Siri and issued a formal deprecation notice for SiriKit, which had powered voice-assistant features since 2016. Existing SiriKit code still compiles; it just emits deprecation warnings in Xcode 27.

Zaman çizelgesi iki katmanlı ilerliyor. Yumuşak son tarih asıl acıtan: iOS 27'nin halka açık sürümüyle birlikte SiriKit tabanlı uygulamalar yeni Siri için görünmez hale geliyor — ses trafiği, Spotlight indekslemesi ve Apple Intelligence kişiselleştirmesi almıyorlar. Sert son tarih ise 2028–2029 aralığında; o zamana kadar uygulamalar çalışmaya devam ediyor ama yeni Siri'nin muhakeme yeteneğinden faydalanamıyor. Yani kod tabanınız bozulmuyor, sistemin dikkatinden düşüyorsunuz — uzun vadede daha pahalı bir kayıp.

The timeline runs in two layers. The soft deadline is the one that hurts: with the public release of iOS 27, SiriKit-based apps become invisible to the new Siri — no voice traffic, no Spotlight indexing, no Apple Intelligence personalization. The hard deadline sits in the 2028–2029 window; until then apps keep working but get none of the new Siri's reasoning. Your codebase doesn't break — you just drop out of the system's attention, which is the more expensive loss.

App Intents iOS 16'dan beri var; değişen şey artık opsiyonel olmaması. Temel yapı üç parçadan oluşuyor: bir eylemi temsil eden AppIntent, tipli parametreler ve perform() metodu.

App Intents has existed since iOS 16; what changed is that it's no longer optional. The shape is three parts: an AppIntent representing one action, typed parameters, and a perform() method.

CreateReservationIntent.swift
struct CreateReservationIntent: AppIntent {
    static var title: LocalizedStringResource = "Rezervasyon Oluştur""Create Reservation"
    static var description = IntentDescription(
        "Seçilen restoran için belirtilen tarih ve kişi sayısında rezervasyon oluşturur.""Creates a reservation at the chosen restaurant for the given date and party size."
    )

    @Parameter(title: "Restoran""Restaurant")
    var restaurant: RestaurantEntity   // AppEntity olmalı// must be an AppEntity

    @Parameter(title: "Kişi sayısı""Party size")
    var partySize: Int

    func perform() async throws -> some IntentResult {
        let reservation = try await ReservationService.create(
            restaurant: restaurant, partySize: partySize
        )
        return .result(value: reservation.confirmationCode)
    }
}

Buradaki RestaurantEntity'nin AppEntity protokolüne uyması gerekiyor; ajanın "hangi restoran?" sorusunu çözebilmesi için varlıklarınızı bu şekilde tanımlamanız şart. iOS 27 ile gelen sürüm bunun üzerine akış halinde yanıtlar (uzun süren işlemler ilerleme bildirebiliyor), çok turlu diyalog takibi ve ekrandaki öğelere referans veren bir View Annotations API'si ekliyor — kullanıcı "şu fotoğraf" dediğinde Siri hangisini kastettiğini çözebiliyor. Yeni API detaylarını uygulamadan önce Apple'ın güncel dokümantasyonundan doğrulayın.

That RestaurantEntity has to conform to AppEntity — defining your entities this way is what lets the agent resolve "which restaurant?". The iOS 27 release adds streaming responses on top (long-running actions can report progress), multi-turn conversational follow-ups, and a View Annotations API for on-screen references, so Siri can work out which item "that photo" means. Verify the newer API details against Apple's current documentation before you build on them.

04Google tarafı: uygulamanız cihaz üstünde bir MCP sunucusuGoogle: your app as an on-device MCP server

Google'ın cevabı AppFunctions. Resmi tanım net: Android MCP entegrasyonunu basitleştirmek için tasarlanmış bir platform API'si ve beraberindeki Jetpack kütüphanesi; uygulamalarınızın cihaz üstünde MCP sunucusu gibi davranmasını, Gemini gibi ajan ve asistanların araç olarak kullanabileceği fonksiyonlar sunmasını sağlıyor. Kavram tanıdık geliyorsa yanılmıyorsunuz — MCP'yi ayrıntılı anlattığımız yazı aynı modelin sunucu tarafını konu alıyor.

Google's answer is AppFunctions. The official definition is precise: a platform API with an accompanying Jetpack library designed to simplify Android MCP integration, letting your apps behave like on-device MCP servers that contribute functions for agents and assistants such as Gemini. If the concept feels familiar, it should — our post on MCP covers the server side of the same model.

Mimari fark önemli: AppFunctions, Android'e özgü, işletim sistemi seviyesinde ve yerel çalışan bağlantı noktalarıdır; standart bir MCP sunucusu ise platformdan bağımsızdır ama bulut yürütmesine ve ağ gidiş-dönüşlerine dayanır. Resmi dokümantasyona göre durum ve gereksinimler:

The architectural difference matters: AppFunctions are Android-specific, OS-level hooks that execute locally, whereas a standard MCP server is platform-agnostic but depends on cloud execution and network round-trips. Per the official documentation:

Ölçeğe dair fikir veren şu: Gemini'nin çok adımlı görev devri, Pixel 10 serisi ve Galaxy S26 cihazlarda, önce ABD ve Güney Kore'de, yemek teslimatı, market ve araç çağırma kategorilerinden seçili uygulamalarla başladı — ilk dalgada Uber, Lyft, DoorDash, Grubhub ve Starbucks gibi isimler var. Yani kategori sıralaması şimdiden yapılıyor ve ilk dalgaya girmek sonradan girmekten çok daha değerli.

For a sense of scale: Gemini's multi-step task delegation launched on Pixel 10 series and Galaxy S26 devices, first in the US and South Korea, with selected apps in food delivery, grocery and ride-hailing — the first wave includes names like Uber, Lyft, DoorDash, Grubhub and Starbucks. The category ordering is already being decided, and being in the first wave is worth far more than joining later.

KDoc artık dokümantasyon değil, arayüz

KDoc isn't documentation any more — it's the interface

AppFunctions'ın en ilginç yanı şu: fonksiyonunuzun açıklaması, ajanın onu anlamasının birincil yolu. isDescribedByKDoc = true ile işaretlediğinizde KDoc yorumlarınız doğrudan aracın şemasına derleniyor. Google'ın kendi tavsiyesi net: açık ve emir kipinde fiiller kullanın, parametre kısıtlarını yazın. "Rezervasyon oluşturur" yazarsanız ajan tahminde bulunur; "belirtilen tarih ve kişi sayısı için restoran rezervasyonu oluşturur" yazarsanız doğru parametrelerle çağırır. Yeni ASO, KDoc yazmaktır demek abartı olmaz.

The most interesting thing about AppFunctions: your function's description is the agent's primary way of understanding it. Mark it with isDescribedByKDoc = true and your KDoc compiles straight into the tool's schema. Google's own advice is explicit: use clear, imperative verbs and state parameter constraints. Write "creates a reservation" and the agent guesses; write "creates a restaurant reservation for the given date and party size" and it calls you with the right parameters. Calling KDoc the new ASO is barely an exaggeration.

ReservationFunctions.kt
/**
 * Belirtilen tarih ve kişi sayısı için restoran rezervasyonu oluşturur.Creates a restaurant reservation for the given date and party size.
 *
 * @param params Rezervasyonun nasıl oluşturulacağını tarif eden parametreler.Parameters describing how to create the reservation.
 * @return Onay kodunu içeren rezervasyon kaydı.The reservation record, including its confirmation code.
 */
@AppFunction(isDescribedByKDoc = true)
suspend fun createReservation(
    params: CreateReservationParams,
): Reservation = withContext(Dispatchers.IO) { // UI thread'i bloklamayın// don't block the UI thread
    reservationRepository.create(params)
}

@AppFunctionSerializable(isDescribedByKDoc = true)
data class CreateReservationParams(
    val restaurantName: String,
    val dateTime: LocalDateTime,
    val partySize: Int,
)

İki teknik not: dönüş tipiniz ve parametre sınıflarınız @AppFunctionSerializable ile işaretlenmeli — şemayı bu üretiyor. Ve AppFunctions varsayılan olarak UI thread'inde çalışır; ağ veya disk işi yapıyorsanız withContext(Dispatchers.IO) kullanın. Kaydolup kaydolmadıklarını adb shell cmd app_function list-app-functions ile doğrulayabilir, Google'ın test ajanı uygulamasıyla konuşma davranışını gözlemleyebilirsiniz.

Two technical notes: your return type and parameter classes must be annotated with @AppFunctionSerializable — that's what generates the schema. And AppFunctions run on the UI thread by default, so wrap network or disk work in withContext(Dispatchers.IO). Verify registration with adb shell cmd app_function list-app-functions, and use Google's testing agent app to watch the conversational behavior.

05Ajan sözleşmesinin kurallarıRules for the agent contract

Bir ajan sizin arayüzünüzü değil, sözleşmenizi kullanır. Ajan uyumlu bir uygulama dört şeyi net biçimde dışa açar: eylemler (atomik işlemler), varlıklar (bir Not, bir Sipariş, bir Antrenman gibi tipli nesneler), bağlam ve durum (ajanın karar verebilmesi için gereken bilgi) ve onay sınırları (hangi eylem doğrudan yapılabilir, hangisi kullanıcı onayı ister). Dördüncüsü genelde atlanıyor ve en tehlikelisi o.

An agent doesn't use your interface, it uses your contract. An agent-ready app exposes four things clearly: actions (atomic operations), entities (typed objects — a Note, an Order, a Workout), context and state (what the agent needs to decide), and confirmation boundaries (which actions run directly and which require user approval). The fourth is the one teams skip, and it's the dangerous one.

06Güvenlik, gizlilik ve mağaza kurallarıSecurity, privacy and store rules

Yetenekleri dışa açmak, saldırı yüzeyini de açmak demek. Yetkilendirme sizin sorumluluğunuzda: ajanın fonksiyonu çağırabiliyor olması, o kullanıcının o veriye erişim hakkı olduğu anlamına gelmez. Oturum ve yetki kontrolünü fonksiyonun içinde tekrar yapın.

Exposing capabilities means exposing attack surface. Authorization stays your responsibility: the fact that an agent can call a function doesn't mean that user is entitled to that data. Re-check session and permissions inside the function itself.

Dolaylı komut enjeksiyonu gerçek bir risk. Ajan; e-posta, web sayfası veya belge gibi dış kaynaklardan gelen metni okuyup ona göre hareket edebilir. Farkı şurada: bir sohbet botunda enjeksiyon yanlış bir cevap üretir, ajan sisteminde yanlış bir eylem. Model katmanında bu sorun henüz çözülmediği için 2026'daki çalışan strateji sınırlamadır — bazı enjeksiyonların geçeceğini varsayın ve geçtiğinde fazla bir şey yapamamasını sağlayın: her araç için en düşük yetki, geri alınamaz işlemler öncesinde insan onayı, ödeme ve hesap kurtarma gibi kritik adımlarda ek kimlik doğrulama. Apple'ın WWDC26'daki "Secure your app: mitigate risks to agentic features" oturumu ve OWASP'ın ajan güvenliği rehberi bu konuda iyi başlangıç noktaları.

Indirect prompt injection is a real risk. An agent may read text from external sources — email, a web page, a document — and act on it. The difference matters: in a chatbot an injection produces a wrong answer; in an agentic system it produces a wrong action. Since the problem isn't solved at the model layer, the working strategy in 2026 is containment — assume some injections land, and make sure a landed one can't do much: least privilege per tool, human approval before anything irreversible, step-up authentication for payments and account recovery. Apple's WWDC26 session "Secure your app: mitigate risks to agentic features" and OWASP's agent security guidance are good starting points.

Mağaza tarafı sıkılaşıyor. Apple, 8 Haziran 2026'da hem App Review Guidelines'ı hem Apple Developer Program License Agreement'ı güncelledi; lisans sözleşmesinde yapay zekâ ve makine öğrenimi teknolojileri 3.3.11 numaralı bölümde toplandı ve Foundation Models çerçevesinin kullanım gereklilikleri yenilendi. Apple'ın kuralları, kişisel verilerin üçüncü taraflarla — üçüncü taraf yapay zekâ servisleri dahil — paylaşılmadan önce kullanıcı onayı alınmasını zaten şart koşuyor. KVKK açısından da aynı mantık geçerli: ajana açtığınız her veri akışı aydınlatma metninizde yerini almalı. Gönderim öncesi kontrol listesi için mağaza redleri yazımıza bakabilirsiniz.

The store side is tightening. On 8 June 2026 Apple updated both the App Review Guidelines and the Apple Developer Program License Agreement; AI and machine-learning technologies were grouped under section 3.3.11 and the Foundation Models framework's usage requirements were refreshed. Apple's rules already require user consent before personal data is shared with third parties — third-party AI services included. The same logic applies under GDPR/KVKK: every data flow you open to an agent belongs in your privacy notice. For a pre-submission checklist, see our post on store rejections.

0730 günlük uygulama planıA 30-day implementation plan

agent-readiness.plan
# 1. hafta — envanter# Week 1 — inventory
[ ] Tüm kullanıcı akışlarını listeleyin[ ] List every user flow
[ ] Her biri için sorun: "kullanıcı bunu tek cümleyle söyleyebilir mi?"[ ] Ask of each: "could a user say this in one sentence?"
[ ] Evet diyenlerden en çok kullanılan 3'ünü seçin[ ] Pick the 3 most-used flows that qualify

# 2. hafta — sözleşmeyi yazın# Week 2 — write the contract
[ ] Kod yazmadan: isim, parametreler, dönüş tipi[ ] Before any code: name, parameters, return type
[ ] Hata durumları ve onay gerekip gerekmediği[ ] Error cases, and whether confirmation is required
[ ] Tabloyu ürün ve mühendislikle birlikte gözden geçirin[ ] Review the table with product and engineering together

# 3. hafta — uygulayın# Week 3 — implement
[ ] iOS: App Intents · Android: AppFunctions[ ] iOS: App Intents · Android: AppFunctions
[ ] Varlıkları tanımlayın (AppEntity / @AppFunctionSerializable)[ ] Define your entities (AppEntity / @AppFunctionSerializable)
[ ] adb shell cmd app_function list-app-functions ile doğrulayın[ ] Verify with adb shell cmd app_function list-app-functions

# 4. hafta — test edin ve ölçün# Week 4 — test and measure
[ ] Yanlış parametre, eksik yetki, ağ hatası senaryoları[ ] Wrong parameter, missing permission, network failure
[ ] Yıkıcı eylemlerde onay akışını doğrulayın[ ] Verify the confirmation flow on destructive actions
[ ] Yeni metriği izlemeye başlayın ↓[ ] Start tracking the new metric ↓
    uygulama açılmadan tamamlanan işlem sayısı    tasks completed without the app being opened

O son satır önemli. Önümüzdeki iki yılda "uygulama açılmadan tamamlanan işlem sayısı", oturum süresi kadar temel bir ürün metriği olacak — ve bugün çoğu ekibin panosunda hiç yok.

That last line matters. Over the next two years, "tasks completed without the app being opened" will become as basic a product metric as session length — and today it's on almost nobody's dashboard.

Kısa liste.Short list. Ajan uyumluluğu için asgari set: App Intents (iOS) ve AppFunctions (Android) ile en değerli 3 akış ✓ · varlıklar tipli tanımlı ✓ · açıklamalar ajan için yazılmış ✓ · yıkıcı eylemler onaya bağlı ✓ · yetki kontrolü fonksiyon içinde ✓ · hata mesajları alternatif önerilebilir düzeyde ✓. Bunlar yoksa ajan sizi ekranınızdan okumaya çalışır — ya da hiç uğraşmaz.The minimum set for agent readiness: your 3 most valuable flows exposed via App Intents (iOS) and AppFunctions (Android) ✓ · entities typed and declared ✓ · descriptions written for the agent ✓ · destructive actions gated behind confirmation ✓ · authorization re-checked inside the function ✓ · error messages specific enough to suggest an alternative ✓. Without these, the agent falls back to reading your screen — or skips you entirely.

08Sık sorulanlarFrequently asked questions

SiriKit kullanan uygulamam bozulacak mı? Hemen bozulmayacak. Kod derlenmeye devam eder, Xcode 27'de yalnızca uyarı alırsınız. Asıl kayıp iOS 27 ile başlar: yeni Siri sizi çağırmaz, Spotlight indekslemesi ve Apple Intelligence kişiselleştirmesi almazsınız. Bir çökme değil, sessiz bir görünmezlik.

Will my SiriKit app break? Not immediately. It keeps compiling; you just get deprecation warnings in Xcode 27. The real loss starts with iOS 27: the new Siri won't call you, and you get no Spotlight indexing or Apple Intelligence personalization. Not a crash — a silent invisibility.

AppFunctions bugün üretime alınabilir mi? Fonksiyonları bugün yazıp ADB ve test ajanıyla deneyebilirsiniz, ancak özellik deneysel önizlemede ve Gemini erişimi sınırlı sayıda uygulamayla kısıtlı. Hazırlık yapmak mantıklı, lansman planını buna bağlamak değil.

Can AppFunctions go to production today? You can write and test functions now with ADB and the testing agent, but the feature is in experimental preview and Gemini access is limited to a small set of apps. Preparing is sensible; betting a launch date on it isn't.

Gemini zaten ekranı otomatikleştirebiliyorsa neden fonksiyon tanımlayayım? Çünkü ekran otomasyonu bir yedek çözüm: yavaştır, kullanım limitine tabidir ve arayüzünüzü her değiştirdiğinizde kırılabilir. Daha önemlisi, hangi eylemin onay istediğine ajan ekrandan bakarak karar verir. Tanımlı fonksiyonlarda o sınırı siz çizersiniz.

If Gemini can already automate the screen, why declare functions? Because screen automation is a fallback: it's slower, subject to usage limits, and can break every time you change your UI. More importantly, the agent decides what needs confirmation by looking at your screen. With declared functions, you draw that line yourself.

Küçük bir uygulamam var, bu benim için de geçerli mi? Teknik olarak evet, öncelik olarak duruma bağlı. Uygulamanız net bir iş yapıyorsa (rezervasyon, sipariş, kayıt, hesaplama) bu iş ajan için değerlidir. İçerik tüketimi odaklıysa (oyun, video) aciliyet düşüktür.

I have a small app — does this apply to me? Technically yes; as a priority, it depends. If your app does a clear job (booking, ordering, logging, calculating), that job is valuable to an agent. If it's consumption-oriented (games, video), the urgency is lower.

Bu, ASO'nun sonu mu? Hayır, ama tek başına yeterli olmadığı bir dönem başlıyor. Mağaza sayfanız insan keşfi için, eylem tanımlarınız ajan keşfi için çalışıyor — farklı kitleye hitap eden iki ayrı vitrin.

Is this the end of ASO? No, but its solo era is over. Your store page serves human discovery; your action definitions serve agent discovery. Two storefronts, two audiences.

App IntentsAppFunctionsiOSAndroid