Guideline 3.2.2

Guideline 3.2.2(x) - Unacceptable Business Model: Forced Ratings Gating Functionality

Medium SeverityEasy FixTypical Fix: 1-2 hours0 Reports
Also known as:App gates content or features behind a rating requirementUsers offered rewards or incentives for leaving reviewsRating prompt cannot be easily dismissed or blocks functionalityApp requires review before advancing to next level or featureCustom rating prompt mimics system dialog

Our Take

Apple is rejecting your app because it forces, incentivizes, or manipulates users into leaving App Store ratings or reviews as a condition for accessing app functionality, content, or rewards. This includes gating features behind a rating prompt, offering in-app currency for reviews, requiring a review before advancing in a game, or repeatedly showing rating prompts that cannot be easily dismissed. Apple draws a clear line between asking for ratings (acceptable, using SKStoreReviewController) and requiring, coercing, or incentivizing them (unacceptable). The standard rating prompt from SKStoreReviewController is Apple's approved mechanism -- it can be shown up to three times per 365-day period, and the user can easily dismiss it. Custom rating prompts that mimic the system dialog, rating gates that block progression, and reward-for-review schemes all violate this guideline. Apple considers these practices manipulative because they inflate ratings artificially and mislead other users.

Resolution Guide

01

Remove all rating gates

Delete any logic that checks whether a user has rated the app before granting access to features, content, or levels.

02

Remove incentives for reviews

Delete any reward mechanisms tied to ratings or reviews. No coins, no unlocks, no premium time for reviewing.

03

Replace custom rating prompts

If you built a custom rating dialog, replace it with SKStoreReviewController.requestReview(). This is Apple's approved mechanism and handles all the UI appropriately.

04

Follow SKStoreReviewController best practices

Call it at moments of user delight (after completing a task, achieving a milestone), not at moments of frustration. Do not call it more than a few times per year -- the system limits it to 3 displays per 365 days.

05

Remove rating manipulation

Delete any logic that shows a pre-screen (e.g., 'Are you enjoying the app?') and only shows the App Store rating prompt if the user says yes.

Prevention

  • Only use SKStoreReviewController for rating requests
  • Never tie app functionality to rating status
  • Never offer rewards for reviews
  • Place rating requests at moments of accomplishment or satisfaction
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 3.2.2 - Guideline 3.2.2(x) - Unacceptable Busine
    Guideline 3.2.2(x) - Business - Unacceptable We found that your app gates access to content or features behind a requirement to rate or review the app. Specifically: - The app requires users to leave a rating before accessing the next level. - Users are offered 500 bonus coins for leaving a 5-star review. Apps should not force, incentivize, or manipulate users into rating or reviewing the app. Next Steps: Please remove all mechanisms that require, incentivize, or coerce users to leave ratings or reviews. You may use SKStoreReviewController to request ratings at appropriate, non-intrusive moments.

    Before & After

    Before — Rejected

    After completing level 5, a modal appears: 'Rate us 5 stars to unlock Level 6!' with the level locked until the user taps a star rating

    After — Approved

    Level 6 unlocks automatically after completing level 5; SKStoreReviewController.requestReview() called after the user's 10th completed level as a non-blocking prompt

    What changed: App functionality must never be gated behind ratings. Use SKStoreReviewController at natural, positive moments without blocking access.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 3 (Business) rejections

    View all Guideline 3 rejections