For the complete documentation index, see llms.txt. This page is also available as Markdown.

Review Request

requestReviewis an API that lets you request users to write a review in a mini app.

Android's In-App Review API, and iOS's SKStoreReviewControllerwork in a similar direction, helping users leave a review naturally at the point when they have fully experienced the value of the service.

Signature

function requestReview(): Promise<void>;

When should I call it?

requestReviewIt is recommended to call it when users have fully felt the value of the app.

For example, the following moments are appropriate.

  • Right after successfully completing a core task

  • Right after achieving a goal or earning a reward

  • A moment when satisfaction is expected to be high after repeated use

Calling it at this point lets users leave a review while they are having a positive experience, so you can expect better review quality.

How it works

requestReviewWhen requestReview is called, the review flow may appear to the user in the following order.

  1. The star rating input screen appears first.

  2. When the user selects 4 stars or more, the text review input screen is shown additionally.

  3. When the user When selecting 3 stars or less, only the star rating is collected without a text review.

Usage guide

It does not always appear even when called

requestReviewEven if you call requestReview, the review input screen is not always shown.

Whether it is shown is determined according to Apps in Toss internal policies, taking user fatigue into account. Therefore, you should not design your UX flow with the assumption that the review screen will definitely appear.

  • Please call it only when the user feels satisfied.

  • Do not call it repeatedly within the same session.

  • Please design it so that the user flow continues naturally even if the review request is not shown.

  • Do not create a flow where you move to the next screen or grant a reward based on whether the review request is shown.

  • Since it may look like nothing happens after the call, separate it from flows that are functionally required.

Example

Requesting a review after completing a core action

Checking reviews

In the console's 'Ratings and Reviews' menu, requestReviewyou can view both reviews collected through requestReview and reviews written through 'Leave a Review' in the navigation bar.

Frequently asked questions

What happens if you call it for a user who has already left a review?

For users who have already left a star rating or review, the review UI is not shown and they are taken past it.

Is it the same for users who wrote a review through the navigation bar's Leave a Review?

Yes. For users who left a review through the navigation bar's Leave a Review, the UI is also not shown.

When does the Promise resolve?

It resolves when the review request is completed. In practice, the Promisedoes not need to be awaited.

Does it resolve even if it is blocked by the fatigue policy?

Yes. It resolves normally even when the review UI is not shown due to the fatigue policy.

Can you distinguish between review completion and dismiss?

No. It is intentionally not provided so that functionality or behavior cannot differ depending on whether a review was written.

Can I check a specific user's review status?

No. There is currently no feature provided by the SDK or console API to check whether a specific user has written a review.

Is there a plan to provide an API like getReviewStatus()?

No. There is no plan to provide one, for the same reason that review results are not returned.

Last updated

Was this helpful?