Package 

Class PaywallModule

    • Method Detail

      • getSkipNextAutoDismissOnRestore

         final Boolean getSkipNextAutoDismissOnRestore()

        SPEC-401 Fix 1C — host opt-out for SDK auto-dismiss-on-restore-success.

        When set to true, the next successful Restore tap on a presented paywall will fire onPaywallRestoreCompleted to the delegate as usual, but the SDK will NOT auto-finish the PaywallActivity. The host owns dismissal in this case (typical pattern: show a "Restored — tap continue when ready" overlay, then call activity.finish() from a button tap).

        One-shot: PaywallManager.handleRestore reads + clears this flag each time it processes a restore. After the next restore (success or failure), the flag resets to false so subsequent paywall presentations get the default auto-dismiss behavior.

        Mirrors iOS AppDNA.paywall.skipNextAutoDismissOnRestore.

      • setSkipNextAutoDismissOnRestore

         final Unit setSkipNextAutoDismissOnRestore(Boolean skipNextAutoDismissOnRestore)

        SPEC-401 Fix 1C — host opt-out for SDK auto-dismiss-on-restore-success.

        When set to true, the next successful Restore tap on a presented paywall will fire onPaywallRestoreCompleted to the delegate as usual, but the SDK will NOT auto-finish the PaywallActivity. The host owns dismissal in this case (typical pattern: show a "Restored — tap continue when ready" overlay, then call activity.finish() from a button tap).

        One-shot: PaywallManager.handleRestore reads + clears this flag each time it processes a restore. After the next restore (success or failure), the flag resets to false so subsequent paywall presentations get the default auto-dismiss behavior.

        Mirrors iOS AppDNA.paywall.skipNextAutoDismissOnRestore.

      • present

         final Boolean present(Activity activity, String paywallId, PaywallContext context)

        🔴 THIS DISCARDED THE ANSWER — ON THE SURFACE THAT TAKES THE MONEY.

        AppDNA.presentPaywall returns a Boolean: false when the id is not in the published config, when the SDK is not configured, or when it is runtime-locked. This facade — the one the docs tell hosts to call, and the one BOTH wrappers route through — threw it away and returned Unit. So AppDNA.paywall.present(activity, "typo_id") looked like a success to every caller, native and wrapper alike, and no paywall ever appeared.

        OnboardingModule.present has always returned Boolean. The paywall — where the revenue is — was the one that did not.