Bir uygulama geliştiricisi olarak, kullanıcı değerlendirmelerinin uygulamanın başarısı ve güvenilirliği için ne kadar önemli olduğunu biliyorsun. Olumlu değerlendirmeler hem daha fazla kullanıcı çekiyor hem de App Store sıralamalarında yükselmeye katkıda bulunuyor. Ancak yanlış zamanda ya da olumlu bir deneyim yaşamamış kullanıcılardan değerlendirme istemek hayal kırıklığına ve olumsuz geri bildirimlere yol açabiliyor. İşte tam burada ReviewKit devreye giriyor — yakın zamanda olumlu aktivite göstermiş kullanıcılardan ve uygun zamanlarda uygulama değerlendirmesi istemenize yardımcı olan güçlü bir açık kaynak araç.
Problem ve Çözüm
Geleneksel olarak, uygulama geliştiricileri kullanıcılardan değerlendirme istemek için basit istemler kullanıyordu — genellikle uygulamayı açtıktan hemen sonra veya rastgele aralıklarla gösterilen türden. Bu yaklaşım oldukça müdahaleci ve sinir bozucu olabiliyor, kullanıcıların olumsuz değerlendirme bırakmasına hatta uygulamayı silmesine neden olabiliyor.
İlk uygulamam RemafoX’ta değerlendirme istemek için oldukça karmaşık bir mantık geliştirmiştim. Ama en son uygulamam (Twoot it!) için neyin gerçekten önemli olduğunu analiz edip mantığı daha da sadeleştirdim. ReviewKit bu sürecin sonucu.

ReviewKit bu sorunu, kullanıcının yakın zamandaki olumlu aktivitesine göre değerlendirme isteme zamanını akıllıca belirleyerek çözüyor. Sadece uygulamadan memnun kalmış ve belirli aktiviteleri tamamlamış kullanıcılara değerlendirme istemi gösteriyor. Böylece ReviewKit, olumlu değerlendirme alma olasılığını artırırken kullanıcıyı rahatsız etmeyi en aza indiriyor.
Tabii her uygulama farklı, bu yüzden senin uygulamanda “olumlu aktivite”nin ne anlama geldiğini belirlemen gerekiyor. Ama gerisini ReviewKit hallediyor ve özelleştirilebilir de!
ReviewKit’i Kurma

ReviewKit’i kullanmaya başlamak çok kolay. iOS veya macOS uygulamana entegre etmek için aşağıdaki adımları izle — deployment target’ın iOS 11 veya macOS 10.14 kadar eski olabilir, bu da çoğu kurumsal uygulamayı bile kapsar:
Adım 1: ReviewKit’i Uygulamana Ekle
ReviewKit’i projena eklemek için Swift Package Manager (SPM) kullan. Xcode’da projenize git ve “Swift Packages” sekmesine geç. “+” butonuna tıkla ve ReviewKit repository URL’ini gir:
https://github.com/FlineDev/ReviewKit.gitSon olarak, ReviewKit‘i bağlamak için uygulama target’ını seçtiğinden emin ol.
Adım 2: Değerlendirme Kriterlerini Ayarla (Opsiyonel)
ReviewKit, uygulama değerlendirmesi istemek için varsayılan kriterler sunar: Son 14 gün içinde en az 3 olumlu olay gerektirir. Bunları özelleştirmek istersen, ReviewCriteria ile kriterleri şu şekilde ayarlayabilirsin:
ReviewKit.criteria = ReviewCriteria(
minPositiveEventsWeight: 5,
eventsExpireAfterDays: 30
)Yukarıdaki örnekte, kriterler yalnızca kullanıcı en az 5 olumlu olaya sahip olduğunda değerlendirme isteyecek şekilde değiştirildi ve olaylar 30 gün sonra sona eriyor. Bu, aşağıdaki çağrılarda varsayılan weight değeri olan 1’i kullandığında geçerli.
Adım 3: Olumlu Olayları Kaydet ve Değerlendirme İste
Kullanıcılar belirli iş akışlarını veya aktiviteleri tamamladığında uygulama değerlendirme isteğini tetiklemek için ReviewKit ile olumlu olayları kaydetmen gerekiyor. Kullanıcı bu aktivitelerden birini tamamladığında aşağıdaki metodu çağır:
ReviewKit.recordPositiveEventAndRequestReviewIfCriteriaMet()Bu metot, kullanıcının son olumlu aktivitesine göre değerlendirme isteme kriterlerini karşılayıp karşılamadığını otomatik olarak belirler. Kriterler karşılanırsa, değerlendirme istemi gösterilir.
Adım 4: Diğer Olumlu Aktiviteleri Kaydet (Opsiyonel)
Ana iş akışlarının yanı sıra, olumlu kullanıcı deneyimini gösteren ek aktiviteleri de hesaba katmak önemli. Ancak bu anlarda değerlendirme istemek, zaten bir iş akışında olan kullanıcıları rahatsız edebilir, değerlendirme bırakma olasılığını azaltabilir hatta puanlamayı olumsuz etkileyebilir. Bu olayları izlemek ve yakalamak için recordPositiveEvent() fonksiyonunu kullanabilirsin:
// İsteğe bağlı olarak özel bir `weight` parametresi geçirebilirsin (varsayılan 1)
ReviewKit.recordPositiveEvent()Yukarıdaki her iki metodun da isteğe bağlı bir weight: Int parametresi kabul ettiğini unutma. Bu parametreyi uygulama değerlendirmesi isteme kriterlerini ince ayar yapmak için kullanabilirsin. Örneğin, uygulamanda farklı etkileşim seviyeleri varsa, en yüksek seviyeli aktivite için 3 weight belirleyip minPositiveEventsWeight’i 10 gibi bir değere ayarlayabilirsin. Olumlu olaylar için varsayılan weight değeri 1’dir.
Bir iOS Uygulamasında Örnek Kullanım
Daha iyi anlaşılması için bir örnek iOS uygulaması düşünelim ve ReviewKit’in nasıl etkili kullanılabileceğini gösterelim. Kullanıcıların gönderi paylaşıp başkalarının gönderilerini beğenebildiği bir sosyal medya uygulamanız olduğunu varsayalım. İşte bir örnek:
import ReviewKit
func sendPost() {
// ...
// Gönderi paylaştıktan sonra olumlu olay kaydet
ReviewKit.recordPositiveEventAndRequestReviewIfCriteriaMet(weight: 3)
}
func handlePostLike() {
// ...
// Gönderi beğenmek için rahatsız etmeden olumlu olay kaydet
ReviewKit.recordPositiveEvent()
}Yukarıdaki örnekte, sendPost() ve handlePostLike() metotları farklı aktiviteler için olumlu olayların nasıl kaydedileceğini gösteriyor. Gönderi paylaşıldıktan sonra recordPositiveEventAndRequestReviewIfCriteriaMet() çağırıyoruz çünkü bu, kullanıcının uygulamamızda yaptığı bir iş akışının sonunu işaret ediyor — değerlendirme istemek için iyi bir zamanlama.
Kullanıcılar bir gönderiyi beğendiğinde ise hâlâ içerik tüketme sürecinin ortasındalar. Bu da olumlu bir aktivite ve kaydetmeliyiz, ama bu anda değerlendirme istemek rahatsız edici olabilir, bu yüzden sadece recordPositiveEvent() çağırıyoruz.

Twoot it! uygulamasında ReviewKit kullanım örneği.
Sonuç
ReviewKit, kullanıcılardan uygulama değerlendirmesi istemek için basit ama etkili bir çözüm sunuyor. Yakın zamandaki olumlu aktiviteye göre değerlendirme isteme zamanını akıllıca belirleyerek, ReviewKit olumlu değerlendirme alma şansını artırıyor ve uygulamanın büyümesine yardımcı oluyor. Kolay entegrasyon ve özelleştirilebilir kriterlerle, ReviewKit her iOS geliştirici veya takım için değerli bir araç.

