Skip to main content
Feature Promotions Ios Demo
PlaytoliaPromotion manages in-app review requests using platform-native review dialogs (Google In-App Review on Android, SKStoreReviewController on iOS). It tracks session counts, install age, and cooldown periods to avoid annoying players.

How it works

The SDK automatically tracks sessions and timestamps. When you call a review method, it checks eligibility rules before showing the native dialog. If the player isn’t eligible, nothing happens — no error, no dialog.

Configuring review trigger rules

Set thresholds that control when reviews can be requested:
PlaytoliaPromotion.ConfigureReview(
    minSessions: 5,            // player must have opened the app at least 5 times
    minDaysSinceInstall: 7,    // at least 7 days since first session
    maxRequestsPerYear: 3,     // no more than 3 review prompts per year
    cooldownDays: 120           // at least 120 days between prompts
);
Call ConfigureReview early — e.g. in your initialization script. The defaults (5 sessions, 7 days, 3/year, 120-day cooldown) apply if you don’t call it.

Requesting a review

// Standard request — checks all eligibility rules
PlaytoliaPromotion.RequestReview();

// After a positive event (e.g. winning a match, completing a level)
// Skips session count and days-since-install checks, but still respects
// cooldown, max-per-year, and never-ask-again
PlaytoliaPromotion.RequestReviewAfterPositiveEvent();
Both methods accept an optional force parameter that bypasses all eligibility checks:
// Skip all SDK-side checks and go straight to the native dialog
PlaytoliaPromotion.RequestReview(force: true);
PlaytoliaPromotion.RequestReviewAfterPositiveEvent(force: true);
Both Google and Apple may silently suppress the review dialog even when forcing. This is platform-controlled and cannot be overridden. Use force for debugging or special cases, not to spam players.

Checking eligibility

if (PlaytoliaPromotion.CanRequestReview())
{
    // Player is eligible for a review prompt
}

”Never ask again” opt-out

Let players permanently opt out of review prompts:
PlaytoliaPromotion.SetNeverAskAgain(true);

Reading state

var state = PlaytoliaPromotion.GetState();
// state.SessionCount              — total app opens
// state.FirstSessionTimestamp     — epoch millis of first session
// state.LastReviewRequestTimestamp — epoch millis of last review prompt
// state.ReviewRequestCount        — total review prompts shown
// state.NeverAskAgain             — player opted out

Listening to changes

void Start()    => PlaytoliaPromotion.AddListener(OnPromotionChanged);
void OnDestroy() => PlaytoliaPromotion.RemoveListener(OnPromotionChanged);

void OnPromotionChanged()
{
    var state = PlaytoliaPromotion.GetState();
    // update UI or check eligibility
}