Bir müşterinin uygulamasında rating ortalaması 3.2’den 4.6’ya çıkardım. Tek fark review prompt’un tetiklendiği an. Onu yanlış zamanda gösteriyorduk, negatif yorumları kendi elimizle davet ediyorduk. StoreKit SKStoreReviewController ve requestReview(in:) konusunda deneyimimi paylaşayım.
Kuralları hatırlayalım
Apple yılda 3 kez prompt’u gerçekten gösteriyor. Geri kalanını sessizce göz ardı ediyor. Siz tetiklediğiniz anlamına gelmiyor gösterildiği. Bu yüzden “stratejik yerlerde tetikle” demek yetmez, toplam tetikleme sayısını da düşük tutmak lazım.
iOS 18’den beri RequestReviewAction env. action’ı tavsiye ediliyor SwiftUI için. UIKit’te eski API devam ediyor.
Yanlış tetikleyici zamanlar
- App açılışında. Kullanıcı uygulamayı kullanmadan review istemek saçma. Negatif deneyim yok ama pozitif de yok.
- Hata anında. Ürün crash’ledikten sonra review istemek kendi kuyunuzu kazmak.
- Paywall sonrası. Ödeme tamamlanınca review prompt çıkarmak, kullanıcı ödemeyi bitirmek isterken tehdit yaratır.
- Onboarding sırasında. Kullanıcı daha ürünü tanımadı.
- Push notification’dan uygulamaya girişte. Kullanıcı promosyonu görmek istiyor, review onun derdi değil.
- Her session’da. Rate limit var ama niyetiniz bozuk.
Doğru tetikleyici zamanlar
- Pozitif bir eylem tamamlandıktan sonra. Kullanıcı ilk sipariş verdi, ilk yazıyı oluşturdu, ilk hedefine ulaştı. “Harika bir şey yaptım” hissi tazeyken.
- N. kullanımdan sonra. Kullanıcı ürünü gerçekten deneyimledi. Benim kural, 7 farklı session + minimum 5 dakika kullanım.
- Başarılı feature completion. Meditasyon uygulamasında 7 gün streak’i kıran kullanıcı. Dil uygulamasında 30 kelimeyi öğrenen kullanıcı.
- Pozitif NPS sinyali sonrası. Uygulama içi “ne kadar memnunsun?” sorusuna 9-10 diyen kullanıcıdan review isteyin. Düşük puan verene basmayın.
- Update sonrası memnun akış. Yeni sürümü yükleyip ilk başarılı görevi yapan kullanıcıya.
NPS-based gating
En etkili yöntem budur. Uygulama içinde basit bir emoji rating sorusu:
- Kullanıcı 9-10 (promoter) seçerse → StoreKit review.
- Kullanıcı 7-8 (passive) seçerse → “Neyi beğenmedin?” text input’u, feedback maili.
- Kullanıcı 0-6 (detractor) seçerse → “Ne yaşadın, çözelim mi?” destek formu.
Bu yolla sadece memnun kullanıcılar App Store’a ulaşıyor. Memnuniyetsiz olanlar size feedback gönderiyor, ürün iyileşiyor.
Apple guidelines bunu yasaklıyor diye endişeli olanlar var. Yasaklanan şey “kullanıcıyı belirli rating vermeye zorlamak”. NPS-gate zorlamıyor, sadece mutlu olanlara prompt gösteriyor. Memnuniyetsiz kullanıcı zaten istese App Store’a gidebilir (ayarlardan bir link olabilir).
Implementasyon
import StoreKit
import SwiftUI
struct ContentView: View {
@Environment(.requestReview) var requestReview
var body: some View {
Button("Bana puan ver") {
Task {
if await shouldRequestReview() {
requestReview()
}
}
}
}
}
func shouldRequestReview() async -> Bool {
let defaults = UserDefaults.standard
let count = defaults.integer(forKey: "successfulActions")
let lastShown = defaults.object(forKey: "reviewLastShown") as? Date
guard count >= 5 else { return false }
if let lastShown, Date().timeIntervalSince(lastShown) < 60*60*24*120 { return false }
defaults.set(Date(), forKey: "reviewLastShown")
return true
}4 ay (120 gün) boyunca aynı kullanıcıya tekrar prompt göstermiyoruz. Apple’ın 3/yıl limiti zaten var ama kendimiz de sınırlıyoruz ki memnuniyetsiz olursa bile fazla karşılaşmasın.
App Store linkine yönlendirme
Bazı kullanıcılar zaten review yazmak isteyebilir, prompt’u kaçırdıysa. Ayarlar ekranında “Bu uygulamayı puanla” butonu ekleyin, doğrudan App Store incelemeler sayfasına yönlendirin:
https://apps.apple.com/app/id{APP_ID}?action=write-reviewMetrik olarak izleyin
- Prompt ne zaman tetiklendi?
- Kullanıcı hangi sayfadan sonra gördü?
- Rating ortalaması hangi tetikleyicide yüksek?
- Rating adedi hangi tetikleyicide yüksek?
Bu metrikleri Amplitude veya Firebase’de takip ederseniz hangi anların işe yaradığını deneysel olarak buluyorsunuz.
Sonuç
Review prompt, bir pazarlama silahı değil, müşteri memnuniyetinin yansıması. Doğru anda sormak önemli değil, doğru kullanıcıya sormak önemli. Memnun kullanıcıya, anlamlı bir başarıdan sonra, zarif bir şekilde sormak rating ortalamasını uzun vadede yükseltiyor.