Bladeren bron

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 1 week geleden
bovenliggende
commit
e0a43f651e
1 gewijzigde bestanden met toevoegingen van 9 en 1 verwijderingen
  1. 9 1
      meetings_app/ViewController.swift

+ 9 - 1
meetings_app/ViewController.swift

@@ -487,6 +487,10 @@ private extension ViewController {
487 487
 
488 488
     @objc private func premiumButtonClicked(_ sender: NSClickGestureRecognizer) {
489 489
         if storeKitCoordinator.hasPremiumAccess {
490
+            if hasReachedRatingUsageThreshold && !userHasRated {
491
+                requestAppRatingIfEligible(markAsRated: false)
492
+                return
493
+            }
490 494
             showPaywall(upgradeFlow: true, preferredPlan: .lifetime)
491 495
         } else {
492 496
             showPaywall()
@@ -1059,7 +1063,11 @@ private extension ViewController {
1059 1063
             Task { [weak self] in
1060 1064
                 await self?.loadSchedule()
1061 1065
             }
1062
-            scheduleRatingPromptAfterPremiumUpgrade()
1066
+            // Skip delayed review prompt during initial launch entitlement sync.
1067
+            // We only want this after a real in-session upgrade.
1068
+            if hasCompletedInitialStoreKitSync {
1069
+                scheduleRatingPromptAfterPremiumUpgrade()
1070
+            }
1063 1071
         }
1064 1072
         if hadPremiumAccess && !hasPremiumAccess {
1065 1073
             showPaywall()