> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Collect reviews and ratings

> Prompt happy players to rate PixelGames using each store's native review prompt.

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block font-sans whitespace-pre-wrap break-words">
      <div className="pr-7">
        {children}
      </div>
    </CodeBlock>;
};

export const reviewPrompt = "Ask players to rate PixelGames using the native review prompt right after they set a new high score in Blocks.";

More ratings help your app rank higher and build trust with new users. Both stores have a
native prompt for this: a popup asking for a rating right inside the app.

## Ask for a review at the right moment

Ask for a review after a win, a new high score, or a level up. The moment matters more than
how often you ask.

<AiPrompt>
  {reviewPrompt}
</AiPrompt>

<Frame caption="PixelGames' Game Over screen after a new high score, the ideal moment to ask for a rating.">
  <img src="https://mintcdn.com/replit/wpDFPJulnZRpqmW6/images/pixelgames/mobile/rate-app.webp?fit=max&auto=format&n=wpDFPJulnZRpqmW6&q=85&s=a08c9182d0cbc933234c8cabb4ca4ab8" alt="PixelGames Game Over screen showing a new high score" data-path="images/pixelgames/mobile/rate-app.webp" width="1516" height="852" data-path="images/pixelgames/mobile/rate-app.webp" />
</Frame>

StoreKit on iOS, Google Play's In-App Review API on Android, both cap how often it actually
shows, regardless of how often your code asks.

<Note>
  Never bribe or require a rating, like unlocking a game only after rating 5 stars. Apple and
  Google both prohibit incentivized reviews, and PixelGames can be rejected or removed for it.
</Note>

## Troubleshooting

* **Prompt never appears:** expected sometimes, both platforms cap how often the system shows
  it regardless of how many times your code calls the API.
* **Prompt shows every time in testing:** normal on a TestFlight or Internal Testing build,
  the yearly rate limit only applies to real production installs.
* **Players complain about being asked too often:** confirm you're calling the native API and
  not a custom popup shown on every launch, that bypasses the built-in rate limiting.

## What's next

<CardGroup cols={2}>
  <Card title="Add payments" icon="credit-card" href="/build/mobile-payments">
    Charge players for content in PixelGames.
  </Card>
</CardGroup>

## Related

* [Submit to the App Store](/build/mobile-publish-ios)
* [Submit to Google Play](/build/mobile-publish-android)
