Setup a linked paywall in Nami to use the paywall already in your app.

Sets up code that can build and present a paywall, that Nami will invoke when an app defined paywall has been asked for - either from the Nami system, or by invoking the raisePaywall() method.

NamiPaywallManager.registerPaywallHandler( { ( fromVC: UIViewController?, products : [NamiMetaProduct]?, developerPaywallID : String, paywallMetadata : NamiMetaPaywall ) in
  // Provide your custom view controller here
}
[NamiPaywallManager registerPaywallHandler:^(UIViewController * _Nullable fromVC, NSArray<NamiMetaProduct *> * _Nullable products, NSString * _Nonnull developerPaywallID, NamiMetaPaywall * _Nonnull paywallMetadata) {
  // Provide your custom view controller here
}];
NamiPaywallManager.registerPaywallRaiseListener { context, namiPaywall, skus, paywallId ->
    // raise custom paywall with provided data
}
NamiPaywallManager.registerPaywallRaiseListener((context, namiPaywall, namiSKUs, developerPaywallId) -> {
    // raise custom paywall with provided data
    return Unit.INSTANCE;
});
const eventEmitter = new NativeEventEmitter(NamiEmitter);

useEffect(() => {
  eventEmitter.addListener('AppPaywallActivate', onPaywallShouldRaise);
}, []);
          
const onPaywallShouldRaise = (event) => {
  // Add code to present UI for your application paywall
}
NamiPaywallManager.paywallRaiseEvents().listen((paywallRaiseRequestData) {
    // raise custom paywall with provided paywallRaiseRequestData    
});

class PaywallRaiseRequestData {
  final NamiPaywall namiPaywall;
  final List<NamiSKU> skus;
  final String developerPaywallId;
}

Arguments

React Native

  • event: Dictionary with 3 keys, NamiMetaProduct, developerPaywallID, and paywallMetadata.