public sealed class PresentationResult
{
public bool Presented; // a sheet appeared
public NotPresentedReason Reason; // why not, when Presented is false
public string ErrorType; // the error, when there was one
public string ErrorMessage;
public AdvertiserOutcomeType Advertiser;
public ClaimedOffer Offer;
public string Publisher;
public string Dismissal; // how the sheet closed, such as "close_button"
public ClaimedOffer Claim { get; } // Offer when the player claimed, else null
}
public sealed class ClaimedOffer
{
public string OfferId; // null on Android
public string CampaignId;
public string AdvertiserName;
public string TransactionId; // keep it: it carries the attribution
}
public enum AdvertiserOutcomeType { NotAttempted, Claimed, Verified, Cooldown, Failed, Unknown }
public enum NotPresentedReason
{
None, NotConfigured, AlreadyPresenting, NoOffers, ExperimentControl, UseCaseUnavailable, Error,
NoForegroundActivity, // Android only
IapFirstDeclined, // Android only
UnsupportedOS, // iOS only
Unknown, // a value this package version does not know
}