Prechádzať zdrojové kódy

Prevent launch-time review prompts for existing premium users.

Only trigger the 10-second rating prompt after an in-session premium upgrade, and request a rating immediately when a long-time premium user opens signup/manage premium.

Made-with: Cursor
huzaifahayat12 3 mesiacov pred
rodič
commit
e0a43f651e
1 zmenil súbory, kde vykonal 9 pridanie a 1 odobranie
  1. 9 1
      meetings_app/ViewController.swift

+ 9 - 1
meetings_app/ViewController.swift

@@ -487,6 +487,10 @@ private extension ViewController {
 
     @objc private func premiumButtonClicked(_ sender: NSClickGestureRecognizer) {
         if storeKitCoordinator.hasPremiumAccess {
+            if hasReachedRatingUsageThreshold && !userHasRated {
+                requestAppRatingIfEligible(markAsRated: false)
+                return
+            }
             showPaywall(upgradeFlow: true, preferredPlan: .lifetime)
         } else {
             showPaywall()
@@ -1059,7 +1063,11 @@ private extension ViewController {
             Task { [weak self] in
                 await self?.loadSchedule()
             }
-            scheduleRatingPromptAfterPremiumUpgrade()
+            // Skip delayed review prompt during initial launch entitlement sync.
+            // We only want this after a real in-session upgrade.
+            if hasCompletedInitialStoreKitSync {
+                scheduleRatingPromptAfterPremiumUpgrade()
+            }
         }
         if hadPremiumAccess && !hasPremiumAccess {
             showPaywall()