Sandbox testi
Adapty Kontrol Paneli’nde ve mobil uygulamanızda her şeyi yapılandırdıktan sonra uygulama içi satın alma testlerini yapmaya hazırsınız. Not: Test araçlarının hiçbiri, kullanıcılardan ürün satın alma testi sırasında ücret almaz. App Store, test ortamlarında gerçekleştirilen satın alma veya iade işlemleri için e-posta göndermez.
Sandbox işlemleri tüm analitik grafiklerden hariç tutulur. Yine de bireysel profil sayfalarında ve etkinlik akışında görünürler.
Uygulama içi satın alma testine devam etmek için şunlardan emin olun:
- Mağaza entegrasyonu, ürün ekleme ve Adapty SDK entegrasyonuna ilişkin hızlı başlangıç kılavuzlarını tamamladınız.
- Ürününüz App Store Connect’te Ready to submit olarak işaretlenmiş.
Sandbox testi
Uygulama içi satın almaları gerçek bir cihazda test etmenizi öneririz. Sandbox satın almalar simülatörlerde çalışabilse de, ödeme diyalogları ve biyometrik doğrulama dahil tüm flow’ları tam olarak test etmek için gerçek bir cihaz gereklidir.
Uygulama içi satın almaları test etmenin iki ana yolu vardır:
- Xcode’da derleyip test cihazında çalıştırmak: Geliştiriciler ve QA mühendisleri için idealdir.
- TestFlight ile sandbox test hesabı kullanmak: Diğer herkes için uygundur.
Her iki seçenek de aşağıdaki kılavuzda ele alınmaktadır.
Adım 1. App Store Connect’te Sandbox test hesabı oluşturma
Satın alma geçmişinizin temiz olduğundan emin olmak için yeni bir Sandbox test hesabı oluşturun. Mevcut bir hesabı yeniden kullanırsanız, daha önce satın alınan ürünler kullanılabilir olmaya devam eder ve bunları tekrar satın almayı test edemezsiniz.
Birkaç tıklamayla yeni bir Sandbox test hesabı oluşturabilirsiniz:
- App Store Connect’te Users and Access > Sandbox > Test Accounts bölümüne gidin ve + düğmesine tıklayın.
- Test kullanıcısının bilgilerini girin. Test etmeyi planladığınız Country or Region seçeneğini mutlaka belirtin; bu seçenek, ilgili bölgedeki ürün erişilebilirliğini ve satın alma para birimini etkiler.
- Gmail veya iCloud kullanıyorsanız, mevcut e-posta adresinizi artı işareti alt adresleme yöntemiyle yeniden kullanabilirsiniz.
- Var olmayan rastgele bir e-posta adresi de kullanabilirsiniz; ancak test cihazında oturum açarken iki faktörlü kimlik doğrulamayı (2FA) reddettiğinizden emin olun.
- Create’e tıklayın.
Adım 2. Geliştirici modunu etkinleştir
Test cihazınızda Geliştirici modu zaten etkinse veya Mac cihazınız yoksa bu adımı atlayın.
Xcode yüklü bir Mac ve test cihazı kablosuna ihtiyacınız olacak:
- Mac’inizde Xcode’u açın. TestFlight ile uygulama içi satın almaları test edecekseniz yalnızca Xcode’un yüklü olması yeterlidir; uygulamanın orada açık olmasına gerek yoktur.
- Test cihazınızı kablo ile Mac’e bağlayın.
- Test cihazınızda Settings > Privacy & Security > Developer Mode yoluna gidin ve Developer Mode’u açın.
Adım 3. Uygulamayı TestFlight’tan indirin
Bu adım yalnızca TestFlight ile test yapıyorsanız geçerlidir. Uygulamayı Xcode’da derliyorsanız bu adımı atlayın.
Uygulamanızı TestFlight’a gönderme hakkında ayrıntılı bilgi için Apple belgelerine bakın.
TestFlight uygulamasını indirmeden önce test cihazınızda üretim Apple Hesabınızla oturum açtığınızdan emin olun. Ardından test etmek istediğiniz uygulamayı TestFlight’tan indirin.
Uygulamayı indirdikten sonra açmayın. Doğrudan sonraki adımlara geçin. Yanlışlıkla açtıysanız, test cihazınızdan kaldırıp tekrar indirin. Aksi takdirde satın alma geçmişiniz temiz olmayabilir ve uygulama içi satın alma testleri hatalara yol açabilir.
Adım 4. Sandbox test hesabına geçin
Mac kullanmıyor musunuz? İşte size özel bir ipucu
macOS üzerinde çalışmıyorsanız, Xcode aracılığıyla sandbox hesabına geçemezsiniz. Ancak bunu test cihazınızda doğrudan yapabilirsiniz:
- Test cihazınızda Settings > Your Apple Account > Media & Purchases bölümüne gidin.
- Açılan menüden Sign Out seçeneğini seçin.
- TestFlight’tan indirilen uygulamayı açın ve bir ürün satın almayı deneyin.
- Oturum açmanız istendiğinde, sandbox ortamına geçmek için sandbox hesabı bilgilerinizi girin.
Sandbox hesabınıza geçmek için:
- Test cihazınızda Settings > Your Apple Account > Media & Purchases bölümüne gidin.
- Açılan menüden Sign Out seçeneğini seçin.
- Settings > Developer bölümüne gidin. Eğer Developer seçeneği görünmüyorsa, 2. adımda etkinleştirdiğinizden emin olun.
- Sandbox Apple Account bölümüne gidin ve Sign In düğmesine dokunun.
- Sandbox Apple Account bilgilerinizle giriş yapın.
Adım 5. Satın alma geçmişini temizle
Yeni bir Sandbox test hesabı oluşturup bu hesaba geçiş yaptıysanız, bu adımı atlayabilirsiniz; çünkü bu adım yalnızca aynı Sandbox test hesabıyla tekrarlanan testler için geçerlidir.
- Test cihazınızda Settings > Developer > Sandbox Apple Account bölümüne gidin.
- Açılan menüden Manage seçeneğini belirleyin.
- Account Settings bölümüne gidip Clear Purchase History öğesine dokunun.
Bu adım, aynı Sandbox test hesabını kullanarak her test tekrarladığınızda gereklidir. Bu durumda, satın alma geçmişi önbelleğini test cihazında temizlemek için Sandbox test hesabınızdan çıkış yapmanız ve ardından tekrar giriş yapmanız gerekecektir.
Adım 6. Xcode’da derleyin ve çalıştırın
Bu adım yalnızca Xcode derlemesiyle test ediyorsanız geçerlidir. TestFlight kullanıyorsanız bu adımı atlayın.
- Test cihazınızı Mac’inize bağlayın.
- Xcode’u açın.
- Uygulamayı bağlı cihazda derleyip çalıştırmak için araç çubuğundaki Run düğmesine tıklayın ya da Product > Run yolunu izleyin.
Derleme başarılı olursa Xcode, uygulamayı cihazınızda başlatır ve hata ayıklama alanında bir hata ayıklama oturumu açar.
Uygulamanız artık cihazda test edilmeye hazır.
Adım 7. Test satın alması yapın
Uygulamayı açın ve bir paywall üzerinden test satın alması gerçekleştirin.
İşlem tamamlandıktan sonra, sonuçlarınızı kontrol etmek için test satın almalarını doğrulama makalesine gidin.
Adım 8. Test etmeye devam edin
Artık test ortamınız tamamen hazır. Tekrar test etmek istiyorsanız, sandbox hesabının satın alma geçmişini temizleyin.
Test sorunları
Aşağıda bir uygulamayı test ederken karşılaşabileceğiniz yaygın sorunlar listelenmiştir.
TestFlight sorunları
Sandbox test hesabı kullanmadan TestFlight kullanırsanız satın alma geçmişinizi temizleyemezsiniz; bu durum çeşitli sorunlara ve hatalı test sonuçlarına yol açar.
Yanlışlıkla Sandbox test hesabına geçmeyi unutup uygulamayı bir kez bile açtıysanız, TestFlight satın alma geçmişinizi üretim Apple hesabınıza bağlar ve beklenmedik sorunlara neden olur.
Düzeltmek için şu adımları izleyin:
- Uygulamayı test cihazından kaldırın.
- Sandbox testi adımlarını takip edin.
Yalnızca uygulamayı yeniden yüklemek yeterli değildir; aynı zamanda Sandbox test hesabına geçmeniz, satın alma geçmişini temizlemeniz ve uygulamayı Sandbox test hesabıyla başlatmanız gerekir.
Paylaşılan access level sorunları
Aynı Sandbox test hesabıyla tekrar test yaparsanız, test kullanıcısı için paylaşılan access level’larla beklenmedik davranışlarla karşılaşabilirsiniz.
Kullanıcının devralınan bir access level’a sahip olup olmadığını kontrol etmek için Adapty Kontrol Paneli’nden Profiles & Segments sayfasına gidin ve kullanıcının profilini açın.
The user wants me to translate a fragment of MDX documentation from English to Turkish. Let me analyze what needs to be translated and what needs to be preserved.
- The
<Zoom>component with the<img>tag - preserve the JSX exactly, only translate attribute values that are human-readable phrases (but here there are no human-readable attribute values to translate) - The prose text after the component needs to be translated.
Let me translate the prose: “If the user has an inherited access level, follow these steps for accurate testing results:”
Turkish translation: “Kullanıcının miras alınan bir access level’ı varsa, doğru test sonuçları için şu adımları izleyin:”
Note: “access level” stays as “access level” per glossary.
Kullanıcının miras alınan bir access level’ı varsa, doğru test sonuçları elde etmek için şu adımları izleyin:
- Üst profili silin.
- Uygulamayı test cihazından kaldırın.
- Uygulamayı TestFlight’tan indirin.
- Sandbox test hesabına geçin.
- Satın alma geçmişini temizleyin.
- Uygulamayı açın ve test satın alımınızı yapın.
Satın alma geçmişini temizlemek, mağaza tarafındaki satın almayı sıfırlar. Üst profili silmek yalnızca Adapty tarafındaki kaydı kaldırır. Yeniden kullanılan bir hesabın neden erişimi koruduğunu ve hangi sıfırlama işlemlerinin gerçekten işe yaradığını öğrenmek için bkz. Bir test kullanıcısının aboneliğini sıfırlama.
TestFlight’ta uygulamayı güncelleme
TestFlight uygulaması güncellendiyse:
- Uygulamayı test cihazından kaldırın.
- Uygulamayı TestFlight’tan indirin.
- Sandbox test hesabına geçin.
- Satın alma geçmişini temizleyin.
- Uygulamayı açın ve test satın alımınızı gerçekleştirin.
Test kullanıcısının aboneliğini sıfırlama
Sandbox ortamında bir satın alma, Adapty profiline değil Apple sandbox hesabına aittir. Profilde yaptığınız işlemler (profili silmek veya access level düzenlemek), satın almayı mağaza hesabından kaldırmaz. Sonraki yeniden yükleme veya senkronizasyonda SDK aynı işlemi yeniden profille ilişkilendirir ve test kullanıcısı erişimini geri kazanır.
Aşağıdaki tablo, her sıfırlama işleminin neleri değiştirdiğini ve test kullanıcısının ardından ne gördüğünü göstermektedir.
| Eylem | Adapty profili | Apple sandbox hesabı | Test sonrası erişim |
|---|---|---|---|
| Adapty Kontrol Paneli’nde profili sil | Silindi | Değişmedi | Geri döner — yeniden yüklemede, yeni bir profil aynı işlem zincirine yeniden bağlanır |
| Profil silme API’si aracılığıyla profili sil | Silindi | Değişmedi | Geri döner — Kontrol Paneli’nden silmekle aynı sonuç |
| Add access level ile geçmiş bir sona erme tarihi ekle | Sonraki senkronizasyonda geçersiz kılınır | Değişmedi | Sonraki yenilemede geri döner — canlı abonelik ileriki bir sona erme tarihi uygular |
| Erişim seviyesini iptal etme API’si çağrısı yap | Şu an sona erer, access_level_updated (is_active=false) tetiklenir | Değişmedi | Sonraki yenilemede veya yeniden yüklemede geri döner — güvenilir bir sandbox sıfırlaması değildir |
| Sandbox hesabındaki aboneliği iptal et | Doğrudan değişiklik yok | Abonelik iptal edildi | Yenilemeler durur, mevcut dönem sona erdiğinde erişim biter ve test kullanıcısı ürünü yeniden satın alabilir |
| Yeni bir Apple sandbox hesabıyla giriş yap | Yeni profil | Yeni, boş hesap | Temiz — tekrar test için önerilir |
Bir test kullanıcısını temiz duruma sıfırlama
Tekrarlayan satın alma akışı testleri için profili sıfırlamak yerine her test için yeni bir Apple sandbox hesabı kullanın. Hesabı oluşturmak için 1. Adım’ı, cihazda hesaba geçmek için ise 4. Adım’ı takip edin. Mevcut bir sandbox hesabını yeniden kullanıyorsanız önce satın alma geçmişini temizleyin — Adapty profilini silmek bunu temizlemez.
Mevcut bir test kullanıcısının erişimini kaldırma
Bir test kullanıcısının erişimini kaldırmak için bitiş tarihini geriye almayın ya da Revoke access level API’ını çağırmayın. Sandbox ortamında abonelik her birkaç dakikada bir otomatik yenilenir. Her yenileme, aynı işlem zincirinde ilerleyen bir bitiş tarihi ayarlar; bu nedenle erişim kendiliğinden geri gelir. Revoke access level API bir access_level_updated (is_active=false) olayı tetikler, ancak bir sonraki yenileme bunu geçersiz kılar.
Erişimi gerçekten durdurmak için aboneliği mağaza tarafında iptal etmeniz gerekir. Test cihazında Settings > Developer > Sandbox Apple Account yolunu izleyin, Manage seçeneğine tıklayın ve aboneliği iptal edin. Yenilemeler durur ve mevcut dönem sona erdiğinde erişim de biter.
Profili silmek neden erişimi geri getiriyor
Bir test kullanıcısı uygulamayı yeniden yüklediğinde, Adapty sandbox hesabının satın alma geçmişini alır ve yeni yüklemeyi mevcut satın almayla ilişkilendirir. Satın alma, sildiğiniz profile değil, mağaza hesabına bağlıdır.
- Anonim profiller:
customer_user_idolmadan yapılan bir yeniden yükleme, ücretli erişim paylaşımı ayarınızdan bağımsız olarak her zaman mağaza hesabının access level’ını devralır. - Tanımlı profiller: Erişimin yeni bir
customer_user_id’ye aktarılıp aktarılmayacağı, ücretli erişim paylaşımı ayarınıza bağlıdır.
Adapty’nin bu profilleri nasıl bir zincire bağladığını öğrenmek için bkz. Profiller nasıl çalışır.
Abonelikleri test etme
Sandbox test hesabı kullanarak uygulamayı test ederken, sandbox ortamında her test kullanıcısı için abonelik yenileme hızını ayarlayabilirsiniz. Abonelik yenileme hızlarını düzenleme hakkında daha fazla bilgi için Apple’ın resmi belgelerine bakın.
Varsayılan olarak, abonelikler aşağıdaki programa göre durmadan önce 12 kez yenilenir:
| Abonelik süresi | 1 hafta | 1 ay | 2 ay | 3 ay | 6 ay | 1 yıl |
|---|---|---|---|---|---|---|
| Abonelik yenileme hızı | 3 dakika | 5 dakika | 10 dakika | 15 dakika | 30 dakika | 1 saat |
| Fatura Yeniden Deneme süresi | 10 dakika | 10 dakika | 10 dakika | 10 dakika | 10 dakika | 10 dakika |
| Fatura Ek Süre uzunluğu | 3 dakika | 5 dakika | 5 dakika | 5 dakika | 5 dakika | 5 dakika |
Test işlemlerinin Olay akışı’nda görünmesi 10 dakikaya kadar sürebileceğini unutmayın.
Yenileme, ödeme yeniden denemesi ve ek süre gibi durumların uygulamanız ve backend’iniz tarafından doğru işlendiğini doğrulamak için sandbox’ı kullanın; üretim yenileme zamanlamasını tahmin etmek için değil. Yukarıdaki hızlandırılmış ve sınırlı zamanlama, üretim ortamıyla örtüşmez. Backend testleri için işlemleri sunucunuzda yeniden oynatmak istiyorsanız Set transaction API’yi kullanabilirsiniz.
Teklifleri test etme
Teklifleri test etmek için, uygunluk kontrolünün doğru çalışması amacıyla tüm kullanıcı makbuzlarının silinmesi gerekir.
Teklifleri test etmenin en güvenilir yolu, tamamen yeni bir Sandbox test hesabı kullanmaktır. Aynı Sandbox test hesabıyla tekrarlanan testler beklenmedik davranışlara yol açabilir.
Aynı Sandbox test hesabıyla tekrar test yapıyorsanız, uygunlukla ilgili sorunları önlemek için satın alma geçmişini temizlediğinizden emin olun.