Nami Public Documentation
SDK Reference
SDK Reference
  • NAMI
    • configure
    • NamiConfiguration
    • NamiLanguageCodes
  • NamiCampaignManager
    • launch
    • allCampaigns
    • isCampaignAvailable
    • refresh
    • registerAvailableCampaignsHandler
    • NamiCampaign
    • NamiCampaignRuleType
    • LaunchCampaignError
  • NamiCustomerManager
    • CustomerJourneyState
    • isLoggedIn
    • journeyState
    • loggedInId
    • login
    • logout
    • registerAccountStateHandler
    • registerJourneyStateHandler
    • setCustomerAttribute
    • getCustomerAttribute
    • clearCustomerAttribute
    • clearAllCustomerAttributes
  • NamiEntitlementManager
    • active
    • isEntitlementActive
    • NamiEntitlement
    • refresh
    • registerActiveEntitlementsHandler
  • NamiPaywallManager
    • dismiss
    • displayedViewController
    • registerSignInHandler
    • registerCloseHandler
    • registerBuySkuHandler
    • registerDeeplinkActionHandler
    • buySkuComplete
    • NamiPurchaseSuccess
    • NamiPaywallAction
    • NamiSKUType
  • NamiPurchaseManager
    • anySkuPurchased
    • consumePurchasedSku
    • NamiPurchase
    • NamiPurchaseState
    • NamiRestorePurchasesState
    • NamiSKU
    • presentCodeRedemptionSheet
    • registerPurchasesChangedHandler
    • registerRestorePurchasesHandler
    • restorePurchases
    • skuPurchased
  • NamiMLManager
    • coreAction
    • enterCoreContent
    • exitCoreContent
Powered by GitBook
On this page
  1. NamiCustomerManager

registerJourneyStateHandler

Register a callback that will be made any time there's a change to the Journey State for the user. Note that Nami fetches journey state at the start of each session and this is the most likely time to see a change.

NamiCustomerManager.registerJourneyStateHandler { journeyState in
    print("customer journey state")
    print("former subscriber: \(journeyState.formerSubscriber)")
    print("in grace period: \(journeyState.inGracePeriod)")
    print("in trial period: \(journeyState.inTrialPeriod)")
    print("in intro offer period: \(journeyState.inIntroOfferPeriod)")
    print("has cancelled subscription: \(journeyState.isCancelled)")
    print("in account hold: \(journeyState.inAccountHold)")
    print("in pause (Google Play): \(journeyState.inPause)")
}
NamiCustomerManager.registerJourneyStateHandler { journeyState ->
    Log.d(LOG_TAG, "Customer journey state:")
    Log.d(LOG_TAG, "formerSubscriber ==> ${journeyState.formerSubscriber}")
    Log.d(LOG_TAG, "inGracePeriod ==> ${journeyState.inGracePeriod}")
    Log.d(LOG_TAG, "inIntroOfferPeriod ==> ${journeyState.inIntroOfferPeriod}")
    Log.d(LOG_TAG, "inTrialPeriod ==> ${journeyState.inTrialPeriod}")
    Log.d(LOG_TAG, "isCancelled ==> ${journeyState.isCancelled}")
    Log.d(LOG_TAG, "inPause ==> ${journeyState.inPause}")
    Log.d(LOG_TAG, "inAccountHold ==> ${journeyState.inAccountHold}")
}
NamiCustomerManager.registerJourneyStateHandler().listen((journeyState) {
  print("Customer Journey State);
  print("formerSubscriber ==> ${journeyState.formerSubscriber}");
  print("inGracePeriod ==> ${journeyState.inGracePeriod}");
  print("inIntroOfferPeriod ==> ${journeyState.inIntroOfferPeriod}");
  print("inTrialPeriod ==> ${journeyState.inTrialPeriod}");
  print("isCancelled ==> ${journeyState.isCancelled}");
  print("inPause ==> ${journeyState.inPause}");
  print("inAccountHold ==> ${journeyState.inAccountHold}");
});
import {NamiCustomerManager, CustomerJourneyState} from 'react-native-nami-sdk';

const getJourneyState = useCallback(async () => {
  const myJourneyState = await NamiCustomerManager.journeyState();
  console.log('myJourneyState', myJourneyState);
  setJourneyState(myJourneyState);
}, []);

useEffect(() => {
  getJourneyState();
  const subscriptionJourneyStateRemover =
    NamiCustomerManager.registerJourneyStateHandler((newJourneyState) => {
      console.log('newJourneyState', newJourneyState);
      setJourneyState(newJourneyState);
    });

  return () => {
    subscriptionJourneyStateRemover();
  };
}, [getJourneyState]);

NamiCustomerManager.RegisterJourneyStateHandler(journeyStateCallback);
PreviousregisterAccountStateHandlerNextsetCustomerAttribute

Last updated 1 year ago