Purchasely
2.8
2.8
  • Welcome page
  • General
    • Presentation
  • Quick test
    • Test in 5 minutes
  • Basic configuration
    • Console Configuration
      • Creating a new application
      • Creating your Products
        • App Store
        • Play Store
        • Huawei App Gallery
        • Amazon App Store
        • Products & Plans
      • Design your Paywalls
    • SDK installation
      • iOS SDK
      • Android SDK
      • React Native SDK
      • Cordova SDK
    • SDK configuration
    • Webhook
      • Receiving and understanding messages
      • Managing entitlements
      • Subscription events
      • Events attributes
      • Detailed sequence diagrams
    • Observer mode
  • Dashboards
    • Introduction
    • Live
    • Subscriptions
    • Cohorts
    • Trials
    • Events
  • S2S notifications
    • Server-to-server notifications ?
    • App Store
    • Play Store
    • Huawei App Gallery
    • Amazon App Store
  • Integrations
    • Airship
    • Amplitude
    • Braze
    • Firebase
  • Advanced Features
    • Anonymous user
    • Associating content
    • Customising UI
      • Errors & alerts
      • Controllers (iOS) / Fragments (Android)
    • Deeplinks automations
    • Displaying users subscriptions
    • UI Analytics
    • Localization
    • Non-subscription products
    • Promoting your products
      • Self-promotion
      • Promoting In-App Purchases
    • Purchase interceptor
    • Purchase manually
    • Subscription status
    • Paywall Guidelines
  • Others
    • Frequently Asked Questions
    • Migration guides
      • Migrate to Purchasely
      • SDK
        • v2.1.3
        • v2.2.0
      • Webhooks
        • v3.0
  • TESTING
    • Testing Cycle Durations
Powered by GitBook

© Purchasely 2020-2023

On this page

Was this helpful?

  1. Advanced Features
  2. Customising UI

Errors & alerts

Some information messages are displayed to the user during the purchase life cycle like:

  • Purchase completed

  • Restoration completed

Many errors can occure during the purchase process and are embedded in these messages liek:

  • Network error

  • Product not found

  • Purchase impossible (or canceled)

  • Restoration incomplete

  • And some more listed in PLYError object and translated in the supported languages of the SDK.

All these alerts are listed in PLYAlertMessage enum.

The SDK displays these alerts using a standard UIAlertController (iOS) / AlertDialog (Android) message with a single Ok button to dismiss.

If you wish a more customised way to display error messages, a way that reflects more your app, you can override the default behaviour by setting yourself as the delegate (PLYUIDelegate on iOS) or listner (UIListener on Android) you will then be responsible for displaying the messages yourself.

That way you could also override the behaviour and trigger some specific actions when the user taps on the button for example.

Purchasely.setUIDelegate(self)

func display(alert: PLYAlertMessage, error: Error?) {
	let alertTitle = alert.title
	let alertContent = alert.content ?? error?.localizedDescription
	let alertButtin = alert.buttonTitle

	// Display your modal
}
[Purchasely setUIDelegate:self];

- (void)displayWithAlert:(enum PLYAlertMessage)alert error:(NSError *)error {
	// Display your modal
}
Purchasely.uiListener = object: UIListener {
    override fun onAlert(alert: PLYAlertMessage) {
					when(alert) {
	    				PLYAlertMessage.InAppSuccess -> displaySuccessDialog(alert)
	    				PLYAlertMessage.InAppSuccessUnauthentified -> displaySuccessDialog(alert)
	    				is PLYAlertMessage.InAppError -> displayErrorDialog(alert)
					}
    }
}
Purchasely.setUiListener(new UIListener() {
    @Override
    public void onAlert(@NotNull PLYAlertMessage alert) {
	    if(alert instanceof PLYAlertMessage.InAppSuccess) {
	     //TODO display success view
	    }
    }
});
PreviousCustomising UINextControllers (iOS) / Fragments (Android)

Last updated 3 years ago

Was this helpful?