Tüm Yazılar
KategoriBusiness
Okuma Süresi
14 dk
Yayın Tarihi
2025-01-22
Kelime Sayısı
2.980kelime

Kahveni hazırla - bu içerikli bir makale!

Mobil Attribution: MMP Seçimi ve SKAdNetwork Ölçümleme

Özet

SKAdNetwork conversion value tasarımından Play Install Referrer'a, MMP seçim kriterlerinden toplulaştırılmış veriyi doğru okumaya: mobil attribution MMP SKAdNetwork ölçümleme rehberi.

  • SKAN 4'te fine conversion value 0-63 arası 6 bit'lik bir tamsayı; düşük hacimli kampanyalarda yerini low/medium/high coarse value'ya bırakır.
  • Postback'ler 0-2, 3-7 ve 8-35 günlük 3 pencereye ayrılır; yalnızca ilk pencere fine value taşıyabilir, ikinci ve üçüncü her zaman coarse'dur.
  • Play Install Referrer referrer URL'i ve zaman damgalarını 90 gün saklar; Android tarafında bugün için birincil ölçüm kaynağıdır.
  • MMP seçerken postback şema yönetimi, fraud tespiti, deep linking ve veri export API'si en belirleyici kriterlerdir.
Mobil Attribution: MMP Seçimi ve SKAdNetwork Ölçümleme

Mobil pazarlamada "hangi kanal bu kullanıcıyı getirdi" sorusu artık eskisi kadar basit cevaplanmıyor. iOS'ta App Tracking Transparency sonrası IDFA büyük ölçüde devre dışı kaldığı için Apple, atıflandırmayı SKAdNetwork ve AdAttributionKit gibi toplulaştırılmış (aggregated) çerçevelere taşıdı; Android tarafında da Play Install Referrer ve Google'ın gizlilik-öncelikli ölçüm denemeleri paralel bir dönüşüm yaşıyor. Bu rehber, bir mobil geliştirici ya da büyüme ekibinin karar vermesi gereken üç soruyu ele alıyor: SKAdNetwork'ün mekaniği nasıl işliyor, bir Mobile Measurement Partner (MMP) ne zaman gerekli ve toplulaştırılmış veriyi doğru okumak için nelere dikkat etmek gerekiyor.

💡 Pro Tip: Conversion value tasarımına başlamadan önce, hangi 3-5 in-app olayın gerçekten pazarlama kararını değiştireceğini yazılı olarak tanımla — 64 değerin tamamını "olabildiğince fazla veri" mantığıyla doldurmak, düşük hacimli kampanyalarda coarse value'ya düşmeni hızlandırır.

İçindekiler

Attribution Neden Kırıldı: ATT ve Sonrası

App Tracking Transparency ile birlikte kullanıcı bazlı, deterministik cihaz-arası atıflandırma (IDFA'ya dayalı click-to-install eşleştirmesi) iOS'ta izin vermeyen kullanıcılar için artık mümkün değil. Bunun sonucu, sektörün iki paralel yola bölünmesi oldu: Apple'ın kendi toplulaştırılmış çerçeveleri (SKAdNetwork, sonrasında AdAttributionKit) ve deterministik veriyi izin alınan kullanıcılarla sınırlı tutup geri kalanı modelleme (probabilistic attribution) ile tahmin eden MMP katmanları.

Deterministik vs Toplulaştırılmış Ölçüm

Deterministik ölçüm, tıklama ve kurulumu ortak bir tanımlayıcı (IDFA, GAID) üzerinden birebir eşleştirir; kullanıcı düzeyinde LTV hesaplamaya izin verir ama izin gerektirir. Toplulaştırılmış ölçüm ise (SKAdNetwork gibi) kullanıcı düzeyinde hiçbir veri döndürmez — yalnızca kampanya/reklam ağı düzeyinde, gecikmeli ve çözünürlüğü düşürülmüş (fine→coarse, alan kısıtlaması) bir sinyal verir. Bu, kampanya optimizasyonunu mümkün kılar ama kullanıcı bazlı kohort analizini imkansızlaştırır.

SKAdNetwork Mekaniği ve Conversion Value Tasarımı

SKAdNetwork, StoreKit içinde Apple'ın sunduğu atıflandırma çerçevesidir; reklam ağına kurulumun hangi kampanyadan geldiğini, kullanıcı düzeyinde hiçbir kimlik paylaşmadan bildirir. SKAN 4 ile birlikte iki tür conversion value tanımlandı: fine ve coarse.

Fine conversion value 6 bit'lik bir tamsayıdır, yani 0 ile 63 arasında 64 olası değer alabilir (Apple Developer, updatePostbackConversionValue). Bu 64 durumu, uygulamanın en kritik post-install olaylarını (örneğin onboarding tamamlama, deneme başlatma, ilk satın alma) bit maskesi olarak kodlamak için kullanırsın. Coarse conversion value ise SKAN 4 ile eklendi ve yalnızca üç seviyeye sahip: low, medium, high. Apple, reklamı gösteren uygulama/alan adı, reklamı yapılan uygulama, ülke ve hiyerarşik source identifier'ın oluşturduğu "crowd anonymity" (kalabalık anonimliği) eşiğini karşılayacak kadar hacme sahip olup olmadığına bakar; eşiği karşılamayan durumlarda fine value yerine coarse value döner ve postback'te taşınan alanlar da gizlilik seviyesine göre kısıtlanır (Apple Developer, Receiving postbacks in multiple conversion windows).

swift
1import StoreKit
2 
3// Basit bir conversion value güncellemesi: ilk satın alma tetiklendiğinde
4func reportFirstPurchase() {
5 // fine value alanı olarak 0-63 arasında bir tamsayı seç
6 let conversionValue = 22 // örn: "onboarding tamamlandı + ilk satın alma" bit'i
7 
8 if #available(iOS 16.1, *) {
9 SKAdNetwork.updatePostbackConversionValue(
10 conversionValue,
11 coarseValue: .medium
12 ) { error in
13 if let error {
14 print("SKAdNetwork güncelleme hatası: \(error)")
15 }
16 }
17 }
18}

Postback zamanlaması da SKAN 4 ile üç pencereye ayrıldı. Apple'ın tanımıyla ilk pencere kurulumdan sonraki 0-2. günleri, ikinci pencere 3-7. günleri ve üçüncü pencere 8-35. günleri kapsar; yalnızca ilk postback fine-grained conversion value taşıyabilir, ikinci ve üçüncü postback'ler her zaman coarse value döndürür (Apple Developer, Receiving postbacks in multiple conversion windows). Bu demektir ki uzun huniye yayılan bir değeri (ör. gün 10'daki bir yenileme) ilk postback'e sığdırmaya çalışmak anlamsızdır — o sinyal zaten üçüncü pencereye ait ve coarse çözünürlükte gelecektir.

Conversion Value Tasarım Kuralları

  • Zamana duyarlı bit'ler: 0-2 gün içinde gerçekleşmesi beklenen olayları fine value'nun büyük kısmına ayır, çünkü yalnızca bu pencere fine çözünürlük alabilir.
  • Kilitleme (lockWindow): Yalnızca updatePostbackConversionValue(_:coarseValue:lockWindow:completionHandler:) aşırı yüklemesi pencereyi erken kapatır ve postback hazırlığını hemen başlatır; böylece sinyal daha erken gelir. Rastgele gecikmenin süresi değişmez (ilk postback 24-48 saat, ikinci/üçüncü 24-144 saat), yalnızca sayaç kilit anından başlar — karşılığında pencerenin kalan süresinde toplanacak veriyi kaybedersin (Apple Developer, Receiving postbacks in multiple conversion windows; AdAttributionKit-SKAdNetwork interoperability).
  • Coarse'a düşme senaryosu: Küçük ölçekli bir kampanyada tasarımını yalnızca fine value'ya göre kurma — coarse (low/medium/high) için de anlamlı bir yorumlama planın olsun.

Android Tarafı: Play Install Referrer ve Privacy Sandbox

Android'de IDFA'ya karşılık gelen GAID hâlâ birçok cihazda kullanılabilir olsa da, Google de kendi toplulaştırılmış ölçüm arayışını sürdürüyor. İki ayrı katman var: bugün üretimde kullandığın Play Install Referrer API ve test aşamasındaki Privacy Sandbox ölçüm API'leri.

Play Install Referrer API

Play Install Referrer API, uygulamanın Google Play üzerinden hangi referrer bilgisiyle kurulduğunu güvenli şekilde döndürür. Döndürdüğü veriler: referrer URL'i, tıklamanın client ve server tarafı zaman damgaları, kurulumun başlangıcının client ve server tarafı zaman damgaları, ve uygulamanın ilk kurulduğu andaki sürümü. Referrer bilgisi 90 gün boyunca saklanır ve uygulama yeniden kurulmadıkça değişmez; API'ye erişim için cihazda Play Store uygulamasının 8.3.73 veya üzeri sürümde olması gerekir (Android Developers, Install Referrer API; sürüm gereksinimi için bkz. Android Developers, Install Referrer API genel bakış).

kotlin
1import com.android.installreferrer.api.InstallReferrerClient
2import com.android.installreferrer.api.InstallReferrerStateListener
3import com.android.installreferrer.api.InstallReferrerClient.InstallReferrerResponse
4 
5fun fetchInstallReferrer(context: Context) {
6 val referrerClient = InstallReferrerClient.newBuilder(context).build()
7 referrerClient.startConnection(object : InstallReferrerStateListener {
8 override fun onInstallReferrerSetupFinished(responseCode: Int) {
9 when (responseCode) {
10 InstallReferrerResponse.OK -> {
11 val response = referrerClient.installReferrer
12 val referrerUrl = response.installReferrer
13 val clickTimestamp = response.referrerClickTimestampSeconds
14 val installTimestamp = response.installBeginTimestampSeconds
15 // referrerUrl'i kendi attribution sunucuna ilet
16 referrerClient.endConnection()
17 }
18 InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
19 // Play Store sürümü eski
20 }
21 InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
22 // Bağlantı koptu, yeniden dene
23 }
24 }
25 }
26 
27 override fun onInstallReferrerServiceDisconnected() {
28 // yeniden bağlanma mantığı
29 }
30 })
31}

Privacy Sandbox'ın Ölçüm Tarafı

Google'ın Privacy Sandbox on Android girişimi kapsamında bir Attribution Reporting API geliştiriliyordu; bu API kaynak (source) ve tetikleyici (trigger) olaylarını cihaz üzerinde eşleştirip event-level ve aggregatable raporları reklam teknolojisi taraflarına toplulaştırılmış biçimde iletmeyi hedefliyordu. 2025'in başında bu API halen Developer Preview/Beta programı aşamasındaydı: entegrasyon, desteklenen bir cihaza veya emülatöre Privacy Sandbox sistem imajı kurup ADB komutlarıyla API'yi etkinleştirmeyi ve debug key ile ham raporları karşılaştırmayı gerektiriyordu (Privacy Sandbox, Attribution Reporting geliştirici rehberi). Yani bu makalenin yazıldığı tarih itibarıyla üretim ortamında zorunlu ya da tek başına yeterli bir ölçüm katmanı değildi — Play Install Referrer birincil kaynağın olmaya devam ediyordu.

Dört Çerçeve, Kısa Karşılaştırma

Çerçeve
Platform
Çözünürlük
Zamanlama
SKAdNetwork (SKAN 4)
iOS
Fine (0-63) veya coarse (low/medium/high)
3 postback penceresi: 0-2, 3-7, 8-35 gün
AdAttributionKit
iOS / alternatif pazaryerleri
SKAdNetwork ile birlikte çalışır, benzer postback modeli
SKAdNetwork ile aynı postback penceresi modeli; bir dönüşüm için yalnızca tek impression kazanır
Play Install Referrer
Android
Referrer URL + zaman damgaları (kullanıcı düzeyi)
Kurulum anında; veri 90 gün saklanır
Privacy Sandbox Attribution Reporting
Android
Event-level + aggregatable raporlar (toplulaştırılmış)
Bu makalenin yazıldığı tarihte beta/test aşaması

MMP Seçim Kriterleri ve Karar Tablosu

Bir Mobile Measurement Partner, SKAdNetwork/AdAttributionKit gibi toplulaştırılmış çerçeveleri, Play Install Referrer'ı ve izin verilen kullanıcılardan gelen deterministik sinyalleri tek bir raporlama katmanında birleştirir; ayrıca atıflandırma penceresi yapılandırması, postback yönlendirme, sahtecilik (fraud) tespiti, deep linking ve çok sayıda reklam ağıyla hazır entegrasyon sağlar (AppsFlyer, Fraud Protection ürün sayfası; RudderStack, MMP nedir). Fraud tespiti özellikle çok kanallı bütçelerde önemlidir: tek bir reklam ağı yalnızca kendi envanterindeki trafiği görebildiği için kanallar arası geçen sahtecilik kalıbını yakalayamaz — bunu görebilen katman, tüm kanalları aynı anda izleyen ölçüm katmanıdır.

  • SKAdNetwork/AdAttributionKit postback yönetimi: Conversion value şemasını (fine bit maskesi + coarse eşleme) senin yerine yönetip reklam ağlarına dağıtabiliyor mu?
  • Fraud tespiti: Install hijacking, click spamming gibi saldırı türlerine karşı ayrı bir modül sunuyor mu, yoksa temel filtreleme mi yapıyor?
  • Deep linking: Deferred deep linking (kurulum sonrası doğru ekrana yönlendirme) SDK'nın parçası mı, ayrı bir ürün mü?
  • Veri konumu ve KVKK/GDPR uyumu: Ham verinin hangi bölgede tutulduğu ve kendi veri saklama politikanla uyumlu olup olmadığı.
  • SDK boyutu ve init süresi: Uygulama açılış performansını (cold start) ne kadar etkiliyor.
  • API/webhook erişimi: Raporlanan veriyi kendi veri ambarına (BigQuery, S3 vb.) aktarmak için hazır konektör var mı, yoksa yalnızca panel mi sunuyor?
Kriter
Neden Önemli
Nasıl Test Edilir
Postback şema yönetimi
Fine/coarse tasarımını elle güncellemek hataya açık
Test kampanyasında conversion value günlüğünü karşılaştır
Fraud modülü kapsamı
Kanallar arası sahtecilik tek ağda görünmez
Bilinen bir sahte trafik kaynağıyla sandbox testi
Deep link SDK'sı
Kurulum sonrası doğru ekran = dönüşüm oranı
Farklı kampanya linkleriyle uçtan uca kurulum testi
Veri aktarım API'si
Kendi BI katmanına bağımsız erişim
Örnek export/webhook denemesi
SDK init süresi
Cold start metriklerini etkiler
Xcode Instruments / Android Profiler ile ölç

SDK Entegrasyonunun Teknik Maliyeti

MMP SDK'sını eklemek genelde üç aşamalı bir iştir: SDK kurulumu ve başlatma, deep link/deferred deep link işleyicisinin uygulanması, ve conversion value/olay eşlemesinin (event mapping) doğrulanması. Buradaki gizli maliyet çoğunlukla üçüncü aşamadadır — SDK'nın kendi olay taksonomisini (ör. "purchase", "subscribe", "tutorial_complete") senin ürün analitik olaylarınla birebir eşlemek, ayrı bir QA döngüsü gerektirir. Bunu atlarsan, panelde görünen "dönüşüm" sayıları ürün ekibinin gerçek kullandığı olay tanımlarından sapar ve iki ekip farklı sayılar üzerinden tartışmaya başlar.

bash
1# iOS: SKAdNetwork ID'lerini reklam ağlarının paylaştığı listeyle senkron tut
2# Info.plist içindeki SKAdNetworkItems dizisini kontrol et
3plutil -extract SKAdNetworkItems xml1 -o - Info.plist | grep -c "SKAdNetworkIdentifier"
json
1{
2 "event_mapping": {
3 "product_analytics_event": "app_purchase_completed",
4 "mmp_event_name": "af_purchase",
5 "conversion_value_bit_range": [16, 21],
6 "coarse_fallback": "medium"
7 }
8}

Toplulaştırılmış Veriyi Doğru Yorumlamak

Toplulaştırılmış postback verisi üç şeyle bozulur: gecikme, eşikleme ve veri-tier daralması. Gecikme, Apple'ın her postback için uyguladığı rastgele süreden gelir (ilk postback 24-48 saat, ikinci/üçüncü 24-144 saat) — bu yüzden "bugünün ROAS'ı" gibi bir metrik SKAdNetwork verisiyle üretilemez, yalnızca gecikmeli bir pencere raporu üretilebilir. Eşikleme, crowd anonymity eşiğinin altındaki kampanyaların fine yerine coarse value alması demektir; bu, küçük bütçeli test kampanyalarında veri çözünürlüğünü ciddi biçimde düşürür. Veri-tier daralması ise Apple'ın gizlilik seviyesine göre postback alanlarını (source-identifier, conversion-value, coarse-conversion-value, source-app-id, country-code) kısıtlamasıdır — en düşük tier'da yalnızca ilk postback gönderilir; tek bir kampanyanın postback sayısını mutlak doğru kabul etmek yerine, zaman içindeki trendi izlemek daha güvenilir bir yaklaşımdır (Apple Developer, Receiving postbacks in multiple conversion windows).

Pratik Okuma Kuralları

  • Mutlak sayı yerine trend: Tek bir günün postback sayısını değil, haftalık hareketli ortalamayı izle.
  • Pencereye göre segment: 0-2 gün penceresinden gelen fine value ile 8-35 gün penceresinden gelen coarse value'yu aynı tabloda karıştırma.
  • Coarse'u kaba gösterge say: Low/medium/high'ı kesin bir sayı gibi yorumlama; yalnızca göreceli sıralama için kullan.

Kendi Ölçüm Katmanını Kurmak

Bazı ekipler, MMP maliyetini veya veri bağımlılığını azaltmak için kendi postback alıcı sunucularını kurmayı tercih eder. Bu, StoreKit'in SKAdNetwork postback'lerini POST isteğiyle göndereceği, reklam ağının ya da opt-in eden geliştiricinin kendi endpoint'ini barındıran bir sunucu ve conversion value şemasını ürün olaylarınla eşleyen bir katman gerektirir. Bunu yapmak, veri sahipliğini artırır ama fraud tespiti, çok ağlı entegrasyon ve deep linking gibi işlevleri sıfırdan inşa etme yükünü de beraberinde getirir — bu nedenle çoğu orta ölçekli ekip için MMP + kendi veri ambarına export kombinasyonu daha dengeli bir başlangıç noktasıdır.

ts
1// Basit bir SKAdNetwork postback alıcısı (Node/Express taslağı)
2app.post("/skadnetwork/postback", (req, res) => {
3 const {
4 "ad-network-id": adNetworkId,
5 "source-identifier": sourceIdentifier,
6 "conversion-value": conversionValue,
7 "coarse-conversion-value": coarseConversionValue,
8 "postback-sequence-index": postbackSequenceIndex,
9 "source-app-id": sourceAppId,
10 } = req.body;
11 
12 // 1) Apple imzasını doğrula (ayrı adım, burada atlanmıştır)
13 // 2) İlk postback'te fine, ikinci/üçüncüde yalnızca coarse gelir
14 const mappedEvent =
15 conversionValue !== undefined
16 ? decodeConversionValue(conversionValue)
17 : decodeCoarseConversionValue(coarseConversionValue);
18 
19 saveAttributionRecord({
20 adNetworkId,
21 sourceIdentifier,
22 mappedEvent,
23 sourceAppId,
24 postbackSequenceIndex,
25 });
26 res.sendStatus(200);
27});

Uygulama Tipine Göre Öneri

  • Erken aşama / tek platform (yalnız iOS): Önce SKAdNetwork'ü doğru conversion value şemasıyla kur, MMP'yi yalnızca fraud tespiti ve deep linking ihtiyacın netleştiğinde ekle.
  • Çok kanallı, orta-büyük bütçe: MMP zorunlu — postback şema yönetimi ve kanallar arası fraud görünürlüğü elle sürdürülebilir değil.
  • Yalnız Android: Play Install Referrer bugün için birincil kaynağın; Privacy Sandbox ölçüm API'lerini üretime bağımlı kılmadan izlemeye devam et.
  • Kurumsal / veri sahipliği önceliği: MMP'nin ham veri export'unu kendi veri ambarına aktar, panel raporlarını yalnızca hızlı kontrol için kullan.

SSS

SKAdNetwork nasıl çalışıyor, conversion value nedir?

SKAdNetwork, StoreKit üzerinden çalışan ve kullanıcı düzeyinde hiçbir kimlik paylaşmadan reklam ağına kampanya bazlı bir dönüşüm sinyali ileten Apple çerçevesidir. Conversion value, uygulamanın updatePostbackConversionValue ile bildirdiği; SKAN 4'te fine (0-63 arası 6 bit'lik tamsayı) ya da crowd anonymity eşiğinin altında kalan hacimlerde coarse (low/medium/high) olarak iletilen bir değerdir (Apple Developer, Receiving postbacks in multiple conversion windows).

MMP (AppsFlyer, Adjust) seçerken nelere bakmalı?

Postback şema yönetimi, fraud tespit kapsamı, deep linking desteği, veri konumu/uyumluluk, SDK'nın uygulama açılışına etkisi ve kendi veri ambarına export imkânı en belirleyici kriterlerdir; bu maddeler yukarıdaki karar tablosunda özetlenmiştir.

ATT sonrası kampanya performansı nasıl ölçülür?

İzin veren kullanıcılar için deterministik veri hâlâ mevcuttur; izin vermeyenler için performans SKAdNetwork/AdAttributionKit postback'leri üzerinden, gecikmeli ve pencere bazlı (0-2, 3-7, 8-35 gün) toplulaştırılmış sinyallerle okunur. Günlük kesin ROAS yerine haftalık trend takibi daha güvenilir sonuç verir.

Android Privacy Sandbox attribution'ı nasıl değiştiriyor?

Yazının kapsadığı dönemde (Ocak 2025) Privacy Sandbox'ın Attribution Reporting API'si henüz geliştirici beta/test aşamasındaydı ve Play Install Referrer'ın yerini almış değildi; API'yi etkinleştirmek özel bir sistem imajı ve ADB komutu gerektiriyordu (Privacy Sandbox geliştirici rehberi). Güncel durumu aşağıdaki "Güncelleme" bölümünde bulabilirsin.

Güncelleme (Eylül 2026)

Google, 17 Ekim 2025 tarihinde Privacy Sandbox girişiminin büyük bölümünü — Android üzerindeki Attribution Reporting API dahil — resmen sonlandırdığını duyurdu; durum sayfasında Android'deki bu API "Deprecate and remove" (kaldırılacak) statüsüne alındı (Privacy Sandbox durum sayfası). Gerekçe olarak beklenen değere ilişkin ekosistem geri bildirimi ve teknolojilerin düşük benimsenme oranları gösterildi (Privacy Sandbox, plan güncellemesi duyurusu). Pratik sonucu: Android'de Privacy Sandbox'a bağımlı bir yol haritası kurmuş ekiplerin, ölçüm stratejilerini Play Install Referrer ve MMP'lerin kendi modelleme katmanlarına geri döndürmesi gerekiyor. iOS tarafında ise hem AdAttributionKit hem SKAdNetwork çağrılabilir durumda kalmaya devam ediyor; ikisinin ad network ID'leri de geçerli, ancak bir dönüşüm için yalnızca bir impression kazanıyor — kazanan her iki çerçeveden de gelebilir (AdAttributionKit-SKAdNetwork interoperability dokümantasyonu).

Sonradan yayımlanan ilgili yazılar:

Sonuç

Mobil atıflandırma artık tek bir kimlik üzerinden birebir eşleştirme değil, birden fazla toplulaştırılmış sinyali (SKAdNetwork/AdAttributionKit postback'leri, Play Install Referrer, izin verilen kullanıcıların deterministik verisi) bir araya getirip yorumlama işi. Bir MMP'ye geçmeden önce SKAdNetwork'ün conversion value şemasını kendi başına doğru kurabildiğini doğrula; bu, hem MMP seçiminde daha bilinçli sorular sormanı sağlar hem de MMP'siz kalman gereken erken aşamada elini boş bırakmaz.

ALTIN İPUCU

Bu yazının en değerli bilgisi

Bu ipucu, yazının en önemli çıkarımını içeriyor.

Easter Egg

Gizli bir bilgi buldun!

Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?

Okuyucu Ödülü

Bu rehberi uygulamaya geçirirken atlanması kolay ama sonradan pahalıya patlayan noktaları tek bir kontrol listesinde topladık. Aşağıdaki maddeleri, SKAdNetwork şemanı kilitlemeden ya da MMP sözleşmesi imzalamadan önce tek tek işaretle.

Kaynaklar

Etiketler

#mobile attribution#SKAdNetwork#MMP#AdAttributionKit#privacy-first measurement#Play Install Referrer#ATT#mobil pazarlama
Muhittin Çamdalı

Muhittin Çamdalı

Lead Mobile Engineer

12+ yıllık deneyime sahip Lead Mobile Engineer. Swift, SwiftUI, Kotlin ve Flutter ile iOS, Android ve cross-platform mimarilerde uzman. Performanslı ve kullanıcı dostu mobil uygulamalar geliştiriyorum.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

Paylaş

İlgili İçerik