paint-brush
StoreKit 2 ilə Tətbiqinizdə Pulsuz Sınaqları həyata keçirin: Addım-addım Bələdçitərəfindən@namaswic
264 oxunuşlar

StoreKit 2 ilə Tətbiqinizdə Pulsuz Sınaqları həyata keçirin: Addım-addım Bələdçi

tərəfindən Namaswi Chandarana11m2024/09/17
Read on Terminal Reader

Çox uzun; Oxumaq

StoreKit 2 ilə Apple istifadəçinin giriş təklifləri üçün uyğunluğunu yoxlamağa kömək etmək üçün təkmil alətlər təqdim etdi. Bu məqalədə istifadəçi uyğunluğunu yoxlamaq üçün kod parçaları ilə tamamlanan tətbiqinizdə pulsuz sınaqların həyata keçirilməsində sizə rəhbərlik edəcəyik. Təcrübəmdən bəzi şəxsi fikirlərimi bölüşdüyüm məqalə boyu səpələnmiş "**Pro Məsləhətləri**"nə diqqət yetirməyi unutmayın.
featured image - StoreKit 2 ilə Tətbiqinizdə Pulsuz Sınaqları həyata keçirin: Addım-addım Bələdçi
Namaswi Chandarana HackerNoon profile picture
0-item
1-item


Pulsuz sınaq təklifi istifadəçiləri tətbiqinizin premium xüsusiyyətlərini sınamağa həvəsləndirmək və onları ödənişli abunəçilərə çevirmək şanslarını artırmaq üçün əla yoldur. StoreKit 2 ilə Apple istifadəçinin giriş təklifləri üçün uyğunluğunu yoxlamağa kömək etmək üçün təkmil alətlər təqdim etdi. Bu məqalədə istifadəçi uyğunluğunu yoxlamaq üçün kod parçaları ilə tamamlanan tətbiqinizdə pulsuz sınaqların həyata keçirilməsində sizə rəhbərlik edəcəyik. Biz həmçinin həm uyğun, həm də uyğun olmayan istifadəçilər üçün sınaq ssenarilərini əhatə edəcəyik. Təcrübəmdən bəzi şəxsi fikirlərimi bölüşdüyüm məqalə boyu səpələnmiş " Pro Məsləhətlər "ə diqqət yetirməyi unutmayın!


App Store Connect-də Tətbiqiniz üçün Pulsuz sınaqları necə qurmaq olar

Kodlaşdırmaya başlamazdan əvvəl App Store Connect-də tətbiqdaxili alış parametrlərinizi konfiqurasiya etdiyinizə əmin olun:

  1. App Store Connect-ə daxil olun və "Mənim Proqramlarım" bölməsinə keçin.
  2. Proqramınızı seçin və "Xüsusiyyətlər" sekmesine keçin.
  3. "Tətbiqdaxili Satınalmalar" altında yeni Avtomatik Bərpa olunan Abunəlik məhsulu yaradın.
  4. Giriş təklifi yaradaraq abunəlik təfərrüatlarınızı, o cümlədən qiymət və pulsuz sınaq müddəti (məsələn, 7 gün) müəyyənləşdirin.
  5. Dəyişikliklərinizi yadda saxlayın.

Abunəlik görünüşünü necə qurmaq və istifadəçinin pulsuz sınaq üçün uyğun olub olmadığını yoxlamaq olar?

İstifadəçi üçün sınaq uyğunluğunu necə hesablamaq istədiyinizə görə sizə kod parçasını göstərməklə bunu sadələşdirəcəyəm.

Pulsuz sınaq təklifini göstərmək və istifadəçi qarşılıqlı əlaqəsini idarə etmək üçün SwiftUI görünüşü yaradın. Sizi keçmək üçün kod parçasında çoxlu şərhlər buraxacağam.


 import StoreKit2 // StoreManager is responsible to communicate with Storekit Framework provided by Apple for monetization class StoreManager: ObservableObject { @Published var message: String = "" // We will use this property to display the right message to the user @Published var products: [Product] = [] // This will be responsible to store the products fetched that we defined // in App Store Connect // Fetch products from the App Store func fetchProducts() { Task { do { // product_id is the id that you would have defined in App Store Connect. let storeProducts = try await Product.products(for: ["product_id"]) products = storeProducts } catch { message = "Failed to fetch products: \(error.localizedDescription)" } } } // Initiate purchase func purchase() { guard let product = products.first else { // There is a possibility of products not being fetched from App Store Connect. // Pro Tip: From experience, even though we defined the products on App Store Connect, it is possible // that the products are not found post attempting to fetch. So, it is important to handle this case. message = "No product available." return } Task { do { let result = try await product.purchase() switch result { case .success(let verification): switch verification { case .verified: message = "Purchase successful!" case .unverified: message = "Could not verify the purchase." } case .userCancelled: message = "Purchase cancelled." case .pending: message = "Purchase is pending." @unknown default: message = "Unknown result." } } catch { message = "Purchase failed: \(error.localizedDescription)" } } } // Check if the user is eligible for a free trial func checkTrialEligibility() async -> Bool { guard let product = products.first else { return false } do { // So when you define a auto renewable subscriptions, there are usually bond in a group. The group can again be // found in App Store Connect let eligibility = try await product.subscription?.isEligibleForIntroOffer(for groupID: 111111) return eligibility ?? false } catch { message = "Error checking trial eligibility: \(error.localizedDescription)" return false } } }


 import SwiftUI import StoreKit struct SubscriptionView: View { @StateObject private var storeManager = StoreManager() @State private var isEligibleForFreeTrial = false var body: some View { VStack { Text("Unlock Premium Features") .font(.title) .padding() Text("Get a 7-day free trial of our premium subscription.") .multilineTextAlignment(.center) .padding() Button(action: { storeManager.purchase() }) { // Based on user status, we can display the text Text(isEligibleForFreeTrial ? "Start Free Trial" : "Start Subscription") .bold() .frame(width: 200, height: 50) .background(Color.blue) .foregroundColor(.white) .cornerRadius(10) } Text(storeManager.message) .padding() } .onAppear { storeManager.fetchProducts() checkTrialEligibility() } } private func checkTrialEligibility() { Task { isEligibleForFreeTrial = await storeManager.checkTrialEligibility() } } }

Xcode-da Pulsuz Sınaq Uyğunluğu Dövlətlərini sınayın

Apple Xcode-da StoreKit Testindən istifadə edərək müxtəlif istifadəçi vəziyyətlərini (məsələn, pulsuz sınaq üçün uyğun və ya uyğun olmayan) sınaqdan keçirmək üçün möhkəm alətlər təqdim edir:

  • StoreKit konfiqurasiya faylı yaradın:
    • Xcode-da Fayl > Yeni > Fayl... > StoreKit Konfiqurasiya Faylına keçin.

    • Sınaq dövrləri və uyğunluq vəziyyəti daxil olmaqla abunəlik məhsullarınızı qurun.


  • Pro İpucu : Siz həmçinin App Store Connect-dən konfiqurasiya faylını sinxronlaşdırmaq üçün yeni konfiqurasiya faylı yarada bilərsiniz və bu yolla bütün məhsulları quraşdırmaq lazım deyil.


  • Fərqli Ssenariləri Simulyasiya edin:

    • Seçimlər altındakı Sxem Redaktorunda StoreKit konfiqurasiya faylını seçin.
    • Müxtəlif ssenariləri simulyasiya etmək üçün tətbiqinizi StoreKit sınaq mühitində işə salın:
      • Pulsuz sınaq üçün uyğundur:

        Pulsuz sınaq istifadəçisini simulyasiya etmək üçün əməliyyat menecerində heç bir əməliyyatın olmadığından əmin olun.

        Əməliyyat menecerini görmək üçün. DebugStoreKitƏməliyyatları idarə et


  • Pulsuz sınaq üçün uyğun deyil:

    Pulsuz sınaq üçün uyğun olmayan istifadəçini simulyasiya etmək. Tranzaksiya menecerində tranzaksiya menecerindən abunəni əl ilə əlavə edə bilərsiniz. Siz tranzaksiya meneceri ekranında əlavə et düyməsini vurub əlavə etmək istədiyiniz əməliyyatı seçə bilərsiniz. Burada istifadəçi üçün aylıq abunəni konfiqurasiya etməyə çalışıram. Həmin tranzaksiyanı əlavə etdikdən və proqramı yenidən işə saldıqdan sonra sınaq uyğunluğunun yalan olduğunu görməlisiniz.


    Pro İpucu: İstifadəçinin ID-sini saxlamaq üçün bu sahədən istifadə edərək, alışa UUID də əlavə edə bilərsiniz. Bu yolla siz hansı istifadəçinin tətbiqinizdə alış-veriş etdiyinə əmin ola bilərsiniz. Bu məlumat daha sonra istifadəçinin əməliyyat tarixçəsindən əldə edilə bilər.

Sandbox Testini həyata keçirin

Sandbox testi sizə tətbiqinizin tətbiqdaxili satınalmalarını və abunəliklərini App Store istehsal mühitini təqlid edən mühitdə sınamağa imkan verir, eyni zamanda sizə kəsilmiş alış, ailə paylaşımı və xaricində edilən alışların simulyasiyası kimi bir neçə kənar halları ələ salmaq azadlığı verir. proqramda və ya başqa cihazda. Bu da sizə imkan verir


Ancaq hər şeydən əvvəl, sandbox testini necə qurmaq və istifadə etmək olar:

  1. Sandbox Tester Hesabı yaradın:

    • App Store Connect > İstifadəçilər və Giriş > Sandbox Testerlərinə gedin.
    • Unikal e-poçt ünvanı, parol və digər tələb olunan təfərrüatları təmin etməklə yeni sandbox tester hesabı yaradın.
  2. Sandbox Tester Hesabı ilə daxil olun:

    • Test cihazınızda Parametrlər > Tətbiq Mağazası > Sandbox Hesabı bölməsinə keçin.
    • Yaratdığınız sandbox tester etimadnaməsi ilə daxil olun.
  3. Tətbiqinizi Sandbox rejimində işə salın:

    • Tətbiqinizi fiziki cihazda qurun və işə salın (sandbox testi simulyatorda işləmir).
    • Pulsuz sınağa başlamağa və ya sandbox tester hesabından istifadə edərək alış-veriş etməyə cəhd edin. Tranzaksiya qum qutusu mühitində davam edəcək və pulsuz sınaqlar üçün uyğunluq, satınalma müvəffəqiyyəti, ləğvetmə və digər dövlətlər daxil olmaqla, tam axını sınamağa imkan verəcək.
  4. Fərqli Ssenariləri Test edin:

    • İlk İstifadəçi: Ödənişsiz sınağın düzgün təklif olunduğunu yoxlamaq üçün ilk dəfə alış üçün sandbox hesabından istifadə edin. QA-nın ardıcıl cəhdləri üçün eyni sandbox hesabından istifadə etmək üçün siz faktiki olaraq istifadəçi üçün uyğunluğu sıfırlaya və həmçinin sandbox hesabı üçün bütün əməliyyatları silə bilərsiniz. Bunu həm App Store Connect-dən, həm də Parametrlərdən edə bilərsiniz
    • Ləğv Edilən Alış: Tətbiqin hərəkət zamanı alışı ləğv edən istifadəçini necə idarə etdiyini yoxlayın.
    • Şəbəkə xətası: Tətbiqin uğursuz əməliyyatları necə idarə etdiyini görmək üçün şəbəkəni ayırıb yenidən qoşmaqla şəbəkə problemlərini simulyasiya edin.
    • Pulsuz Sınaq Uyğun deyil: Bu bir az çətin, lakin qeyri-mümkün deyil. Əvvəlcə Parametrlər → Tətbiq Mağazası → Sandbox hesabına klikləyin → İdarə et vurun. Burada istifadəçi üçün sandbox hesabına əl ilə əməliyyat əlavə edə bilməlisiniz. İndi siz istifadəçi üçün sınağın uyğunsuzluğunu test edə bilməlisiniz.



Pro İpucu: Apple hesabında birdən çox aktiv abunə ola bilməz, buna görə də iki fərqli istifadəçi eyni Apple ID-dən istifadə edərək proqramda ayrıca alışlar edə bilməz. Bu istifadəçi işi üçün tətbiqinizi yoxladığınızdan əmin olun.

İstinadlar

https://developer.apple.com/documentation/storekit

https://developer.apple.com/documentation/xcode/setting-up-storekit-testing-in-xcode/

https://developer.apple.com/app-store-connect/