Interface OnboardingService

All Known Implementing Classes:
OnboardingServiceImpl

public interface OnboardingService
  • Method Details

    • getFirstUseFlow

      @Nullable FirstUseFlow getFirstUseFlow(@Nullable ApplicationUser user)
      Checks whether the user should do an onboarding flow for the product. Returns the appropriate onboarding flow to put the user through (if any). Additionally stores a resolved user property when the onboarding was evaluated and skipped for the current user
      Returns:
      a FirstUseFlow if the user is eligible for one (and hasn't done one before), null otherwise.
    • getStartedFirstUseFlowKey

      @Nullable String getStartedFirstUseFlowKey(@Nonnull ApplicationUser user)
      Get the key of the flow that the user is completing.
      Parameters:
      user - to check against
      Returns:
      key or null if not doing a flow
    • hasCompletedFirstUseFlow

      boolean hasCompletedFirstUseFlow(@Nonnull ApplicationUser user)
      Parameters:
      user - to check against
      Returns:
      whether a user has already completed a first user flow.
    • completeFirstUseFlow

      void completeFirstUseFlow(@Nonnull ApplicationUser user)
      Mark the user as completing their first user flow
      Parameters:
      user - that the first flow has been completed for
    • setCurrentFirstUseFlowSequence

      void setCurrentFirstUseFlowSequence(@Nonnull ApplicationUser user, @Nonnull String sequenceKey)
      Assign the user as beginning a current sequence in the flow
      Parameters:
      user - that is completing the flow
      sequenceKey - of the sequence being started
    • getCurrentFirstUseFlowSequence

      @Nullable String getCurrentFirstUseFlowSequence(@Nonnull ApplicationUser user)
      Get the current sequence key for the flow that the user is completing.
      Parameters:
      user - that is completing flow
      Returns:
      sequence key of flow