Skip to main content
Represents the result of calling show(). The result indicates the outcome of the offer presentation.

Structure

interface PlacementResult {
  status: 'granted' | 'not_granted' | 'completed' | 'dismissed' | 'no_offers';
  reason?: string;
  entitlement?: string;
  offerId?: string;
  campaignId?: string;
}

Fields

FieldTypeDescription
statusstringThe outcome of the offer presentation
reasonstring?Reason for not_granted or dismissed status
entitlementstring?The entitlement granted (when status is 'granted')
offerIdstring?The offer ID (Android, when status is 'completed')
campaignIdstring?The campaign ID (Android, when status is 'completed')

Status values

StatusDescriptionPlatform
grantedUser accepted an offer and received an entitlementiOS
not_grantedEntitlement not granted (user declined or system reason)iOS
completedOffer flow completed successfullyAndroid
dismissedUser dismissed the offerAndroid
no_offersNo offers available for this placementAndroid

Usage

const result = await Encore.show('cancellation_flow');

switch (result.status) {
  case 'granted':
  case 'completed':
    console.log('User accepted the offer');
    break;
  case 'not_granted':
  case 'dismissed':
  case 'no_offers':
    console.log('Proceeding with original flow');
    break;
}