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

Controllers (iOS) / Fragments (Android)

PreviousErrors & alertsNextDeeplinks automations

Last updated 3 years ago

Was this helpful?

The SDK can pop controllers above your UI like product presentation pages (see ) or the subscription lists or any deeplink triggered by a push service.

Of course we will wait for you to tell us when we are free to cover your content by calling isReadyToPurchase () but you might want to take control on the controller animation, position… It can be a side bar with the offer on tablets or toaster messages for the error messages.

You can override the default behaviors and implement yours by using the PLYUIDelegate.

Purchasely.setUIDelegate(self)
[Purchasely setUIDelegate:self];
Purchasely.uiListener = this
Purchasely.setUiListener(this);

To change the transition, size, position … of a presented controller (PLYUIControllerType gives you the type of controller displayed):

func display(controller: UIViewController, type: PLYUIControllerType) {
	// Present the controller your way
}
- (void)displayWithController:(UIViewController *)controller type:(enum PLYUIControllerType)type {
	// Present the controller your way
}
override fun onAlert(alert: PLYAlertMessage) {
    //TODO display alert dialog, see "Errors & alerts" page
}

override fun onFragment(fragment: Fragment, type: PLYUIFragmentType) {
    //TODO display fragment as you wish in your activity
    //type can be PRODUCT_PAGE, SUBSCRIPTION_LIST or CANCELLATION_PAGE
}
@Override
public void onAlert(@NotNull PLYAlertMessage alert) {
  //TODO display alert dialog, see "Errors & alerts" page
}

@Override
public void onFragment(@NotNull Fragment fragment, @NotNull PLYUIFragmentType type) {
  //TODO display fragment as you wish in your activity
  //type can be PRODUCT_PAGE, SUBSCRIPTION_LIST or CANCELLATION_PAGE
}

Android only : We advise you to call Purchasely.setUiListener(null)when done to remove all references to your activity if you are not using WeakReference

Promoting In-App Purchases
more details