Purchasely
4.4
4.4
  • Welcome page
  • General
    • Presentation
    • Release notes
  • Quick start
    • Console Configuration
    • SDK Implementation
    • Testing
    • Sample
  • 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
      • Design your Paywalls-Latest
        • Carousel
        • Carousel Flow
        • Features List
        • Features List & Plan Picker with 2 & 3 columns
        • Feature list overlay
        • Plan picker horizontal
        • Plan picker with 2 and 3 Column
    • SDK installation
      • iOS SDK
      • Android SDK
      • React Native SDK
      • Cordova SDK
      • Flutter SDK
      • Unity SDK
    • SDK configurations
      • Paywall observer mode
      • Full mode
      • StoreKit 2
      • Appendices
        • Start the SDK
        • Set User Id
        • Notify when the app is ready
        • Present paywalls
        • Unlock content / service
        • Close SDK (Android only)
    • Stripe
    • Purchasely with RevenueCat
  • S2S notifications
    • Server-to-server notifications ?
    • Apple App Store
    • Google Play Store
    • Huawei App Gallery
  • Analytics
    • Dashboards
      • Introduction
      • Live
      • Subscriptions
      • Cohorts
      • Trials
      • Events
    • Events
      • Webhook events
        • Subscription events
        • Subscription events attributes
      • SDK events
        • UI events
        • UI attributes
  • Integrations
    • Webhook
      • Receiving and understanding messages
      • Managing entitlements
      • Detailed sequence diagrams
    • Airship
    • Amplitude
    • AppsFlyer
    • Adjust
    • Piano analytics(ex AT Internet)
    • Batch
    • Branch
    • Braze
    • Clevertap
    • Customer.io
    • Firebase
    • Iterable
    • Mixpanel
    • MoEngage
    • OneSignal
    • Segment
    • Brevo(ex Sendinblue)
  • Advanced Features
    • Asynchronous paywalls
    • NEW: Promotional offers
    • Anonymous user
    • Associating content
    • Audiences
    • Customising UI
      • Errors & alerts
      • Controllers (iOS) / Fragments (Android)
    • Deeplinks automations
    • Disable placements
    • Displaying users subscriptions
    • Localization
    • Lottie animations
    • Non-subscription products
    • Paywall action interceptor
    • Promoting your products
      • Self-promotion
      • Promoting In-App Purchases
    • Purchase manually
    • Subscription status
    • Use your own paywall
  • Others
    • Frequently Asked Questions
    • Migration guides
      • Migrate to Purchasely
      • Webhook
        • Migrate to Webhook v3.0
      • SDK
        • Migrate to SDK v3.0
          • v2.2.0
          • v2.1.3
        • Migrate to SDK v3.1
        • Migrate to SDK v3.2
        • Migrate to SDK v4.0.0
  • TESTING
    • Testing Cycle Durations
Powered by GitBook

© Purchasely 2020-2023

On this page

Was this helpful?

Edit on GitHub
  1. Advanced Features
  2. Customising UI

Controllers (iOS) / Fragments (Android)

PreviousErrors & alertsNextDeeplinks automations

Last updated 1 year 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 onView(@NotNull view: View, type: PLYUIViewType) {
    //TODO display view 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 onView(@NotNull View view, @NotNull PLYUIViewType type) {
  //TODO display view 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