2.1.17 • Published 1 year ago

@kano/kbc-onboarding v2.1.17

Weekly downloads
199
License
ISC
Repository
github
Last release
1 year ago

kbc-onboarding

A manager for user onboarding gamification.

Setup

This package provides a context with a global OnboardingManagerProvider that you can use to trigger onboarding actions.

To set it up, add the following provider:

import { OnboardingManagerProvider } from '@kano/kbc-toast';

const onboardingManagerConfig = {
    KB_APP_NAME: config.KB_APP_NAME,
    KB_KANO_WORLD_URL: config.KB_KANO_WORLD_URL,
};

ReactDOM.render(
    <OnboardingManagerProvider providerConfig={onboardingManagerConfig}>
        <App />
    </ToastManagerProvider>
);

How to initiate onboarding

Onboarding is initiated via calling its init() method within the app as you can then add aditional logic such as "don't initiate unless a user has logged in and after the app has fully loaded".

import { withOnboardingManager, IOnboardingManagerAPI } from '@kano/kbc-onboarding';

interface ComponentProps extends IOnboardingManagerAPI {
    user: string;
}

const Component = withOnboardingManager(({ user, onboardingManager }: ComponentProps) => {
    useEffect(() => {
        if (user) {
            onboardingManager.init();
        }
    }, [])

    return <div className="main">...</button>;
});

NOTE: The init() method also allows an optional step argument so you can pass through a step that you want to complete immediately on load. I.e if just visiting an app consists of a step then complete when the app loads and we initiate onboarding.

## How to complete a step

The onboarding consists of multiple steps, most of which are defined in our gamification engine. Users can complete these steps in a multitude of ways. See below for an example:

Example:

import { withOnboardingManager, IOnboardingManagerAPI } from '@kano/kbc-onboarding';

interface ComponentProps extends IOnboardingManagerAPI {
    prop: any;
}

const Avatar = withOnboardingManager(({ user, onboardingManager }: ComponentProps) => {
    return <button className="save-my-avatar" onClick={() => onboardingManager.completeStep('avatar');}>Save</button>;
});

Telemetry

The onboarding manager tracks a users progression via our telemetry system. These are the event names:

Event / Error NameData
onboarding_initiateddata: { currentStep, stepNumber }
onboarding_dismisseddata: { currentStep, complete }
onboarding_complete_stepdata: { step, stepNumber }
onboarding_unlock_lootdata: { loot }
onboarding_all_steps_completeddata: { step }
onboarding_goto_stepdata: { currentStep, gotoStep }
onboarding_gotonext_stepdata: { currentStep, nextStep }
onboarding_gotoprev_stepdata: { currentStep, prevStep }
2.1.16

1 year ago

2.1.17

1 year ago

2.1.14

1 year ago

2.1.15

1 year ago

2.1.13

1 year ago

2.1.12

1 year ago

2.1.10

1 year ago

2.1.11

1 year ago

2.1.9

1 year ago

2.1.2

1 year ago

2.1.1

1 year ago

2.1.4

1 year ago

2.1.3

1 year ago

2.1.6

1 year ago

2.1.5

1 year ago

2.1.8

1 year ago

2.1.7

1 year ago

2.1.0

1 year ago

2.0.99

2 years ago

2.0.97

2 years ago

2.0.98

2 years ago

2.0.95

3 years ago

2.0.96

2 years ago

2.0.94

3 years ago

2.0.93

3 years ago

2.0.91

3 years ago

2.0.92

3 years ago

2.0.90

3 years ago

2.0.89

3 years ago

2.0.88

3 years ago

2.0.86

3 years ago

2.0.87

3 years ago

2.0.85

3 years ago

2.0.84

3 years ago

2.0.82

3 years ago

2.0.83

3 years ago

2.0.79

3 years ago

2.0.77

3 years ago

2.0.78

3 years ago

2.0.76

3 years ago

2.0.80

3 years ago

2.0.81

3 years ago

2.0.75

3 years ago

2.0.73

3 years ago

2.0.74

3 years ago

2.0.71

3 years ago

2.0.72

3 years ago

2.0.70

3 years ago

2.0.59

3 years ago

2.0.68

3 years ago

2.0.69

3 years ago

2.0.66

3 years ago

2.0.67

3 years ago

2.0.64

3 years ago

2.0.65

3 years ago

2.0.62

3 years ago

2.0.63

3 years ago

2.0.60

3 years ago

2.0.61

3 years ago

2.0.58

3 years ago

2.0.57

3 years ago

2.0.55

3 years ago

2.0.56

3 years ago

2.0.54

3 years ago

2.0.53

3 years ago

2.0.51

3 years ago

2.0.52

3 years ago

2.0.50

3 years ago

2.0.48

3 years ago

2.0.49

3 years ago

2.0.47

3 years ago

2.0.46

3 years ago

2.0.44

3 years ago

2.0.45

3 years ago

2.0.39

3 years ago

2.0.42

3 years ago

2.0.43

3 years ago

2.0.40

3 years ago

2.0.41

3 years ago

2.0.38

3 years ago

2.0.37

3 years ago

2.0.36

3 years ago

2.0.28

3 years ago

2.0.29

3 years ago

2.0.35

3 years ago

2.0.33

3 years ago

2.0.34

3 years ago

2.0.31

3 years ago

2.0.32

3 years ago

2.0.30

3 years ago

2.0.26

3 years ago

2.0.27

3 years ago

2.0.24

3 years ago

2.0.25

3 years ago

2.0.22

3 years ago

2.0.23

3 years ago

2.0.20

3 years ago

2.0.21

3 years ago

2.0.19

3 years ago

2.0.18

3 years ago

2.0.16

3 years ago

2.0.17

3 years ago

2.0.15

3 years ago

2.0.13

3 years ago

2.0.14

3 years ago

2.0.11

3 years ago

2.0.12

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

2.0.0-pre.5

3 years ago

2.0.0-pre.4

3 years ago

2.0.0-pre.3

3 years ago

2.0.0-pre.2

3 years ago

2.0.0-pre.1

3 years ago

2.0.0-pre.0

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.2

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago