Apple'ın DeviceCheck özelliği, iade istismarcısı yeni bir hesapla kaydolsa bile arkasındaki telefonu hatırlar
Hesap yasakları ve satın alma tanımlayıcıları, iade istismarcısı yeni bir hesap açtığı anda işe yaramaz hale gelir. Apple'ın DeviceCheck özelliği ve Google Play'in cihaz hatırlama (device recall) özelliği, mağazanın sunucularında her cihaz için birkaç bit saklar. Neyi sakladıklarını, ne zaman ayarlanmaları gerektiğini ve size ne kazandırdıklarını burada bulabilirsiniz.

Önemli noktalar
- Apple'ın DeviceCheck özelliği, sunucunuzun her cihaz için Apple'ın sunucularında saklanan iki ikili biti ayarlamasına ve sorgulamasına izin verir. Apple, dolandırıcılık yaptığını tespit ettiğiniz bir cihazı işaretlemeyi amaçlanan kullanımlar arasında sayar.
- Play Integrity API'nin beta özelliği olan Google Play cihaz hatırlama (device recall), her cihaz için üç özel biti Google'ın sunucularında saklar. Bu bitler uygulamanın yeniden yüklenmesinden ve cihaz sıfırlamasından sonra da kalır.
- Cihaz hatırlama değerleri aynı Google Play geliştirici hesabındaki tüm uygulamalar tarafından paylaşılır ve son okuma ya da yazmadan sonra 3 yıl boyunca saklanır.
- Bir Play Integrity token'ı, doğrulandıktan sonra 14 güne kadar cihaz hatırlama bitlerini yazmak için kullanılabilir. Bu süre, Google Play'in 48 saatlik self servis iade penceresini kapsar.
- Ne Apple'ın iade bildirimleri ne de Google'ın iptal edilen satın almaları bir cihaz tanımlayıcısı taşır. Bu yüzden bir cihazı yalnızca satın almaları önceden kendi hesaplarına bağlamış bir sunucu işaretleyebilir.
- Cihaz işaretleri bir iadeyi durduramaz. Kendi uygulamanızın o cihaza bundan sonra ne vereceğini belirler: ücretsiz krediler, sizin finanse ettiğiniz bir deneme ya da sunucunuzun imzaladığı bir promosyon teklifi gibi.
- Yalnızca iki iade süreci, mağaza karar vermeden önce geliştiricinin kanıt sunmasına izin verir: 12 saat içinde yanıtlanan Apple CONSUMPTION_REQUEST ve orders.reviewrefund üzerinden 24 saat içinde yanıtlanan Google Play ters ibraz incelemesi.
Hesabı yasaklamak, aynı telefonda yeniden kaydolan bir iade istismarcısını durdurmaz. Apple'ın DeviceCheck özelliği ve Google Play'in cihaz hatırlama (device recall) özelliği tam olarak bu boşluk için var. Her biri, sunucunuzun fiziksel bir cihaza anlamını sizin belirlediğiniz birkaç bit eklemesine izin verir. Bu bitler mağazanın sunucularında saklanır, bu yüzden arkasındaki kişi yeni bir e-posta adresiyle geri döndüğünde işaret hâlâ yerindedir. İkisi de size bir cihaz kimliği vermez ve ikisi de bir iadeyi durduramaz. Yaptıkları şey, kayıt sırasında ya da ödeme ekranında bu cihazın size daha önce zarar verdiğini söylemektir.
Aşağıda her mağazanın gerçekte neyi sakladığını, işareti ayarlayıp ayarlayamayacağınızı belirleyen zamanlama tuzağını ve tekrar eden bir istismarcının yakalanana kadar size neye mal olduğunu bulacaksınız.
Yeni bir hesap neden hesap düzeyindeki her savunmayı aşar
İade savunmalarının çoğu bir hesaba bağlıdır. Apple'ın appAccountToken değeri bir işlemi veritabanınızdaki bir kullanıcıya bağlar. Google Play'in obfuscated account ID değeri Android'de aynı işi yapar. İkisini de her satın almada ayarlamak doğrudur ve ikisi de kişinin elindeki donanımı değil, hesabını tanımlar. Hesabı silin, yeni bir e-postayla kaydolun, o kişiye ait geçmişiniz sıfırdan başlar.
Mağazalar bu boşluğu sizin için doldurmaz. Bir App Store iade bildirimi hangi işlemin iade edildiğini söyler. Bir Google Play iptal edilen satın alması size satın alma token'ını, sipariş kimliğini ve bir voidedReason değerini verir. Hiçbiri cihaz tanımlayıcısı taşımaz. Bir arkadaşlık uygulaması geliştiricisi, Apple Developer Forums'taki bir başlıkta sonucu anlattı: sahte profiller daha sonra iade edilen premium üyelik satın almaya devam etti ve cihazlarını geliştiricinin kendi yöntemiyle yasaklamak işe yaramadı.
Yeni bir hesap mağazanın kendi denemesini sıfırlar mı?
Aynı Apple Hesabında sıfırlamaz. Apple'ın belgelerine göre ücretsiz denemeler dahil tanıtım teklifleri, o ürün ya da aynı abonelik grubundaki herhangi bir ürün için daha önce böyle bir teklif almamış müşterilere verilir. Bu yüzden uygulamanızda yeni bir giriş ikinci bir Apple denemesi sağlamaz. Yeni bir Apple Hesabı sağlar, kendi verdiğiniz her şey de öyle: kayıt kredileri, sunucunuzun finanse ettiği bir deneme, bir referans bonusu. Cihaz işaretinin koruduğu hediyeler bunlardır.
Apple'ın DeviceCheck özelliği gerçekte ne saklar
DeviceCheck iki parçadan oluşur. Uygulamada DCDevice sınıfı, cihazı tanımlayan geçici bir token üretir. Sunucunuzda bu token'ı, geliştirici hesabınızdaki bir anahtarla imzalanmış bir JSON web token ile birlikte Apple'a gönderirsiniz ve Apple o cihaz için iki biti sorgulamanıza veya güncellemenize izin verir. Sorgu yanıtı bit0, bit1 ve yıl ile ay olarak verilen last_update_time değerlerini döndürür. Apple'ın kendi örnekleri, bir promosyon teklifini zaten almış bir cihaz ve dolandırıcılık yaptığını belirlediğiniz bir cihazdır.
Bitleri Apple tutar, ama anlamları size aittir. Belgeleri, bitlerin ne anlama geldiğini takip etmenin ve ne zaman sıfırlanacaklarına karar vermenin sizin sorumluluğunuz olduğunu söyler ve örnek olarak satılmış bir cihazı verir. İki bit size dört durum verir, bu yüzden basit bir şema şöyledir: bir bit yoğun kullanımdan sonra iade için, bir bit de zaten ücretsiz kredi almış cihazlar için.
- Token tek kullanımlıktır. Apple, bir isteği yeniden denemeye yetecek kadar geçerli kaldığını söyler, ancak her çağrı için yeni bir token üretmelisiniz.
- Geliştirme derlemeleri api.development.devicecheck.apple.com ile konuşur. Üretim ortamı api.devicecheck.apple.com kullanmalıdır, aksi halde işaretleriniz yanlış yere gider.
- Apple, DeviceCheck'i genel bir risk değerlendirmesinin girdilerinden biri olarak tanımlar, bir hüküm olarak değil. Ayarlanmış bir biti daha yakından bakmak için bir neden olarak görün.
Google'ın cihaz hatırlama özelliği Android'de neler ekler
Google'ın sürümü Play Integrity API içinde yer alır ve hâlâ beta aşamasındadır, erişim bir ilgi formuyla verilir. Onaylandıktan ve Play Console'da etkinleştirdikten sonra her bütünlük kararı cihaz için üç özel bit taşır. Bunları, daha önce doğruladığınız bir bütünlük token'ı kullanarak deviceRecall:write uç noktasına yapılan bir sunucu çağrısıyla yazarsınız. Google, verilerin Google'ın sunucularında bulunduğu için uygulamanın yeniden yüklenmesinden ve cihaz sıfırlamasından sonra da kaldığını söyler.
Google'ın belgeleri kullanım alanı konusunda alışılmadık ölçüde açıktır. Ciddi istismar kanıtı olan cihazları, ücretsiz deneme gibi yüksek değerli bir öğeyi zaten kullanmış cihazları ve istismar amacıyla tekrar tekrar yeni hesap açmak için kullanılan cihazları sayar. Sınır konusunda da aynı ölçüde açıktır: cihaz hatırlama yalnızca uygulama güvenliğini korumak ve istismar, dolandırıcılık ve yetkisiz erişimle mücadele etmek için kullanılabilir. Bireysel kullanıcıların parmak izini çıkarmak veya onları takip etmek için asla kullanılamaz, yaş, cinsiyet veya konum gibi hassas özellikleri saklamak için de asla kullanılamaz.
| Soru | Apple DeviceCheck | Google Play cihaz hatırlama |
|---|---|---|
| Durum | Genel kullanıma açık | Beta, ilgi formuyla onay |
| Cihaz başına bit | 2 | 3 |
| Nerede saklanır | Apple'ın sunucuları | Google'ın sunucuları |
| Yeniden yükleme ve sıfırlamadan sonra kalır | Sunucuda saklanır, sıfırlamayı Apple size bırakır | Evet, ikisinde de, Google'a göre |
| Uygulamalarınız arasında paylaşılır | Geliştirici hesabınıza bağlı | Evet, geliştirici hesabındaki her uygulama |
| Zaman damgası | Son güncellemenin yılı ve ayı | Her bit için yazma tarihi |
| Saklama süresi | Siz sıfırlayana kadar | Son okuma veya yazmadan sonra 3 yıl |
| Yazmak için gereken token | Yeni, tek kullanımlık DCDevice token'ı | Doğrulanmış bir bütünlük token'ı, 14 gün kullanılabilir |
| Ek gereksinimler | Hesabınıza kayıtlı App ID | Güncel Play Store ve Play services, Play lisanslı kullanıcı, emülatör yok |
Zamanlama sorunu: iadeler token gittikten sonra gelir
İki araç da bir cihazı işaretleyebilmeniz için cihazın kendisinden bir şey ister. Apple yeni bir DCDevice token'ı ister. Google o cihazdan alınmış, 14 günden eski olmayan bir bütünlük token'ı ister. Bu arada iade, sunucunuza cihaz hakkında hiçbir şey bilmeyen bir mağaza bildirimiyle gelir. Yani soru bir cihazı işaretleyip işaretlememek değil. Soru, iade geldiğinde o cihaza ulaşmanın bir yolunun hâlâ elinizde olup olmayacağıdır.
Google'ın 48 saatlik iadeleri 14 günlük pencerenin içine sığar
Google Play'in self servis iadeleri yalnızca satın almadan sonraki 48 saat içinde kullanılabilir. Bu süre, bir bütünlük token'ının yazmak için kullanılabildiği 14 günün çok içindedir. Satın alma anında bir bütünlük kontrolü çalıştırın, doğrulanmış token'ı sipariş kimliğinin yanında saklayın ve o sipariş için bir iptal edilen satın alma geldiğinde biti hemen yazın. Ters ibrazlar daha zor bir durumdur, çünkü bir banka itirazı 14. günden çok sonra gelebilir.
Apple iadeleri cihazın geri dönmesini gerektirir
Bir Apple iadesi satın almadan haftalar sonra gelebilir ve saklanan bir DeviceCheck token'ı yeniden kullanılmak için tasarlanmamıştır. Pratik çözüm, önce hesabı, sonra cihazı işaretlemektir. İade bildirimi geldiğinde hesabı veritabanınızda işaretleyin. O hesap uygulamayı bir sonraki açışında bir DeviceCheck token'ı isteyin ve biti ayarlayın. İadeden sonra içeriği elinde tutan istismarcılar genellikle geri döner, çünkü asıl amaç onu kullanmaktı.
- Satın alma sırasında, işlemi appAccountToken veya obfuscated account ID üzerinden kendi hesabınıza kaydedin.
- Bir iade veya iptalde, o hesabı sunucunuzda işaretleyin.
- İşaretlenen hesabın bir sonraki oturumunda bir cihaz token'ı alın ve bitinizi ayarlayın.
- Her kayıtta, size para maliyeti olan bir şey vermeden önce bitleri sorgulayın.
Tekrar eden bir iade istismarcısı size neye mal olur
İade edilen fiyat görünen kısımdır. Geri kalanı, satın almanın zaten başlattığı her şeydir. Uygulamanız sattığı şeyi sunmak için para harcıyorsa, her satın alma, tüketme ve iade döngüsü o parayı harcanmış olarak bırakır: üretilen görseller için GPU süresi, bir model veya veri API'sine yapılan ücretli çağrılar, müşterinin elinde tuttuğu dışa aktarımlar için depolama ve satış üzerinden hesaplanan içerik üreticisi ödemeleri. Yeni bir hesap döngüyü yeniden açar ve muhasebe kaydınız onu yepyeni bir müşteri olarak yazar.
Ücretsiz hediyeler de hiç iade olmadan aynı şekilde sızar. On hesapta kayıt kredisi toplayan bir cihaz, tek bir deneme için ayırdığınız işlem gücünün on katını tüketir. Google Play'de 3 Ağustos 2026'dan sonraki siparişlerdeki ters ibrazlar size ayrıca satın alma fiyatından Google'ın hizmet ücreti düşülmüş tutara ve bankanın ücretlerine mal olur. Bu yüzden her seferinde yeni bir hesaptan itiraz eden bir kişi, size her seferinde itirazın tamamına yeniden mal olur.
| Maliyet kalemi | Cihaz işareti olmadan | Cihaz işaretiyle |
|---|---|---|
| Kayıt kredileri veya finanse ettiğiniz deneme | Her yeni hesapta yeniden verilir | İşaretli cihazda verilmez veya azaltılır |
| İşlem gücü ve ücretli API çağrıları | Her döngüde yeniden harcanır | Bir kez harcanır, sonra sınırlanır |
| İçerik üreticisi veya ortaklık ödemeleri | İade olarak geri dönen satışlar için ödenir | İşaretli cihazlarda inceleme için bekletilir |
| 3 Ağustos 2026 sonrası Google Play ters ibrazları | Her seferinde hizmet ücreti düşülmüş fiyat, artı banka ücretleri | İtiraz başına aynı, ama daha az tekrar eden itiraz |
| Mağazanın iade kararları | Mağaza karar verir | Yine mağaza karar verir |

İşaretli bir cihazla ne yapmalı
Bir işaret tek bir soruyu yanıtlar: bu cihaz yine bir şeyi ücretsiz almalı mı? Tepkinizi orantılı tutun, çünkü ayarlanmış bir bit kesin ispat değil, bir delildir. Telefonlar yeniden satılır, aileler iPad paylaşır ve Google tam da bu nedenle eski verileri yok saymayı veya sıfırlamayı düşünmenizi açıkça önerir.
- İşaretli bir cihazda kayıt kredilerini, sunucunun finanse ettiği denemeyi veya referans bonusunu vermeyin, bunun yerine ücretli planı sunun.
- İşaretli bir cihaz için promosyon teklifi imzalamayın. App Store'da bir promosyon teklifinin kilidini açan imzayı sunucunuz üretir, yani karar sizindir.
- İşaretli bir cihazda pahalı tüketilebilir öğeleri teslim etmeden önce ödemenin tamamlanmasını şart koşun.
- Zaman damgasını kullanın. Geçen ay ayarlanmış bir işaret, iki yıl önce ayarlanmış olandan daha ağır basar.
- İnsanlara desteğe ulaşmanın bir yolunu verin. Yanlışlıkla işaretlenmiş ikinci el telefon alıcısı bir yanıt almalıdır ve bitleri sıfırlayabilirsiniz.
Cihazı doğrudan yasaklayabilir misiniz?
Kendi ücretsiz ek avantajlarınızı reddedebilirsiniz ve cihaz işaretleri asıl değerini burada gösterir. Tamamen kilitlemek daha risklidir. Bugün telefonu elinde tutan kişi, onu istismar eden kişi olmayabilir ve Google'ın kendi şartları cihaz hatırlamayı insanları takip etmekle değil, istismarı önlemekle sınırlar. Size para maliyeti olanı sınırlayın ve ücretli yolu açık bırakın.
Keychain (Anahtar Zinciri) veya bir cihaz tanımlayıcısı ne olacak?
Geliştiriciler sık sık bir Keychain işaretinin veya bir donanım kimliğinin aynı işi görüp göremeyeceğini sorar. Uygulamanızın telefonda sakladığı bir işaret, cihaz sıfırlamasından sonra yok olur ve Apple uygulamalara bu iş için sabit bir donanım tanımlayıcısı vermez. DeviceCheck ve cihaz hatırlama, mağazaların onayladığı yanıtlardır, çünkü bitler telefonda değil, Apple'ın ve Google'ın sunucularında durur.
Mağazanın hâlâ karar verdiği yer
Cihaz işaretleri uygulamanızın bundan sonra neyi ücretsiz vereceğini değiştirir. Önünüzdeki iadeye dokunmazlar. Yalnızca iki iade süreci, mağaza karar vermeden önce kanıt sunmanıza izin verir. Apple bir CONSUMPTION_REQUEST gönderir ve 12 saat içinde tüketim verisi ister. Google Play, orders.reviewrefund üzerinden 24 saat içinde yanıtladığınız bir ters ibraz incelemesi açar. Geri kalan her şey, Google Play'in 48 saatlik iadelerinden destek iadelerine ve onaylanmamış satın almaların otomatik iadelerine kadar, siz olmadan karara bağlanır. Ters ibrazlar banka karar verdiğinde kesinleşir.
RefundHalt, her CONSUMPTION_REQUEST ve Google Play ters ibraz incelemesini kendi süresi içinde gerçek kullanım verilerinizle yanıtlar ve her iadeyi onu yapan hesaba bağlar. Böylece sunucunuz, cihaz bir sonraki bağlantısında hangi cihazı işaretleyeceğini bilir.
Sık sorulan sorular
- Apple'ın DeviceCheck özelliği ne için kullanılır?
- DeviceCheck, sunucunuzun Apple'ın sunucularında her cihaz için iki bit saklamasına ve okumasına izin verir. Apple'ın kendi örnekleri, bir promosyon teklifini zaten almış bir cihazı işaretlemek ve dolandırıcılık yaptığını belirlediğiniz bir cihazı işaretlemektir. Bitlerin ne anlama geldiğine ve ne zaman sıfırlanacağına siz karar verirsiniz.
- Kullanıcı uygulamayı silse veya yeni bir hesap açsa da DeviceCheck çalışır mı?
- Evet. Bitler cihaza aittir ve uygulamanızın içinde veya bir kullanıcı hesabında değil, Apple'ın sunucularında saklanır. Bu yüzden uygulama yeniden yüklendikten sonra aynı cihazdaki yeni bir kayıt aynı bitleri okur. Apple bunları sıfırlamayı size bırakır, örneğin bir cihaz satıldığında.
- Android'de DeviceCheck'in bir karşılığı var mı?
- Evet, Play Integrity API içindeki cihaz hatırlama. Google'ın sunucularında her cihaz için üç özel bit saklar, yeniden yüklemelerden ve cihaz sıfırlamalarından sonra da kalır, geliştirici hesabınızdaki tüm uygulamalar arasında paylaşılır ve verileri son erişimden sonra 3 yıl saklar. Beta aşamasındadır ve onay gerektirir.
- Bir cihaz işareti, müşterinin iade almasını engelleyebilir mi?
- Hayır. İadelere Apple ve Google kendileri karar verir. Bir cihaz işareti yalnızca kendi uygulamanızın bundan sonra ne sunacağını kontrol eder, ücretsiz krediler veya bir promosyon teklifi gibi. Kanıtlarınız yalnızca 12 saat içinde yanıtlanan Apple CONSUMPTION_REQUEST ve 24 saat içinde yanıtlanan Google Play ters ibraz incelemesinde dikkate alınır.
- İade istismarı nedeniyle bir cihazı engellemeye izin var mı?
- Google, cihaz hatırlamaya yalnızca uygulama güvenliği ile istismar, dolandırıcılık ve yetkisiz erişimin önlenmesi için izin verir ve kullanıcıların parmak izini çıkarmak veya onları takip etmek için kullanılmasını yasaklar. Cihazlar yeniden satıldığı ve paylaşıldığı için, daha güvenli kullanım, işaretli bir cihazı ücretli özelliklerin dışında bırakmak yerine ondan ücretsiz ek avantajları esirgemektir.
Kaynaklar ve ek okumalar
- Apple Developer: DeviceCheck
- Apple Developer: Accessing and modifying per-device data
- Apple Developer: DCDevice
- Apple Developer: Implementing introductory offers in your app
- Android Developers: Detect repeat abuse using device recall (beta)
- Apple Developer Forums: Refund abuse
- Google Play Help: Apps, games, and in-app purchases refund policies
- Play Console Help: Updates to refund protection and chargeback cost responsibility
RefundHalt
App Store ve Google Play için geri ödeme otomatik pilotu
Okumaya devam edin
Google Play'in ABD'deki alternatif faturalandırma ücretleri 1 Ekim'de başladı, bu satışlardaki iadeler ise hâlâ sizin işiniz
1 Ekim 2026'dan bu yana Google Play, ABD'de alternatif faturalandırma veya harici içerik bağlantılarıyla yapılan satın alımlardan hizmet ücreti alıyor. İadelerin hiçbirini ise Google yürütmüyor. Ücret tablolarının ne dediğini, iadelerin Google'a nasıl bildirildiğini ve her iadenin size neye mal olduğunu anlatıyoruz.
Aşırı iade talepleri size iadelerin kendisinden daha pahalıya patlayabilir, çünkü iki uygulama mağazası da bunları bir kalite sinyali olarak görür
Apple'ın 5.6.4 numaralı yönergesi aşırı iade taleplerini bir uygulamanın kalite standartlarını karşılamadığının işareti olarak sayar. Google'ın Dağıtım Sözleşmesi de yeni geliştiricilerin uygulamalarını iade oranlarına göre kaldırma yetkisi verir. Her mağazanın ne dediğini, kaldırılmanın neye mal olduğunu ve riskten nasıl uzak durulacağını anlatıyoruz.