Onboarding Metrics
This page describes how you can use PinchSDK to collect metrics about the onboarding process in your application.
Adding Onboarding Metrics to your application allows us to analyze your onboarding process and figure out which parts need improvement to get a higher onboarding rate.
Notification
The following methods are used if:
- User has to start the onboarding process
- System does not force onboarding to occur
This can be a banner that remains until dismissed by the user.
When showing a user dismissible notification with actions, you should log that you've sent such a notification.
This method accepts an optional parameter to distinguish between different onboarding versions.
PinchMetrics.Onboarding.notified(version = "1")
1
PinchMetrics.Onboarding.notified(onboardingVersion: "1")
[Onboarding notifiedWithOnboardingVersion:@"1"];
1
2
PinchMetrics.onboardingNotified("1");
1
2
If the user dismisses the notification and doesn't start the onboarding:
PinchMetrics.Onboarding.notificationDismissed()
1
PinchMetrics.Onboarding.notificationDismissed()
[Onboarding notificationDismissed];
1
2
PinchMetrics.onboardingnotificationDismissed();
1
Started
The following method is used if:
- User has navigated to a page where they can agree or disagree to enable Pinch
- System has forced the user to a page where they can agree or disagree to enable Pinch
- User is shown a page about the onboarding and forced to continue, with no option to agree or disagree
This method accepted an optional parameter to distinguish between different onboarding versions.
PinchMetrics.Onboarding.started(version = "1")
1
PinchMetrics.Onboarding.started(onboardingVersion: "1")
[Onboarding startedWithOnboardingVersion:@"1"];
1
2
PinchMetrics.onboardingStarted("1");
1
2
If the user was given the option to agree or disagree, you should call a soft request after the user answers with the type pinch
.
Requesting soft permission
The following method is used if:
- Prior to requesting runtime permission, you have a page describing why the permission is required
- User has the option to agree or disagree to permission, prior to actually requesting the permission
The following method should be called after the user agrees or disagrees on the soft request.
It accepts two parameters, the first one being a RequestType
and the second a Bool
describing if the user granted or denied the request.
PinchMetrics.Onboarding.requestedPermission(PinchMetrics.Onboarding.RequestType.LOCATION, true)
1
PinchMetrics.Onboarding.requestedPermission(requestType: .location, accepted: true)
[Onboarding requestedPermissionWithRequestType:[Onboarding RequestTypeLocation] accepted:@YES];
1
2
PinchMetrics.onboardingRequestedPermission(RequestType.location, true);
1
RequestTypes
RequestType describes what type of permission was requested.
The following RequestTypes are available:
PinchMetrics.Onboarding.RequestType.PINCH
PinchMetrics.Onboarding.RequestType.LOCATION
PinchMetrics.Onboarding.RequestType.WIFI
PinchMetrics.Onboarding.RequestType.BLUETOOTH
PinchMetrics.Onboarding.RequestType.MOTION
PinchMetrics.Onboarding.RequestType.SURVEYS
PinchMetrics.Onboarding.RequestType.ANALYTICS
PinchMetrics.Onboarding.RequestType.CAMPAIGNS
PinchMetrics.Onboarding.RequestType.ADS
PinchMetrics.Onboarding.RequestType.BIRTH_YEAR
PinchMetrics.Onboarding.RequestType.GENDER
1
2
3
4
5
6
7
8
9
10
11
PinchMetrics.Onboarding.RequestType.pinch
PinchMetrics.Onboarding.RequestType.location
PinchMetrics.Onboarding.RequestType.wifi
PinchMetrics.Onboarding.RequestType.bluetooth
PinchMetrics.Onboarding.RequestType.motion
PinchMetrics.Onboarding.RequestType.surveys
PinchMetrics.Onboarding.RequestType.analytics
PinchMetrics.Onboarding.RequestType.campaigns
PinchMetrics.Onboarding.RequestType.ads
PinchMetrics.Onboarding.RequestType.birthYear
PinchMetrics.Onboarding.RequestType.gender
[Onboarding RequestTypePinch];
[Onboarding RequestTypeLocation];
[Onboarding RequestTypeWifi];
[Onboarding RequestTypeBluetooth];
[Onboarding RequestTypeMotion];
[Onboarding RequestTypeSurveys];
[Onboarding RequestTypeAnalytics];
[Onboarding RequestTypeCampaigns];
[Onboarding RequestTypeAds];
[Onboarding RequestTypeBirthYear];
[Onboarding RequestTypeGender];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
RequestType.pinch
RequestType.location
RequestType.wifi
RequestType.bluetooth
RequestType.motion
RequestType.surveys
RequestType.analytics
RequestType.campaigns
RequestType.ads
RequestType.birthYear
RequestType.gender
1
2
3
4
5
6
7
8
9
10
11
Requesting runtime permission
It is preferred that the runtime permission is only requested after the user has agreed to it during the soft request.
The following method is used if:
- A runtime permission has been requested
Once the user has granted or denied the permission, you should call the following method in the request delegate.
It accepts two parameters, the first one being a RequestType
, and the second a boolean describing if the user granted or denied the request.
PinchMetrics.Onboarding.requestedRuntimePermission(PinchMetrics.Onboarding.RequestType.LOCATION, true)
1
PinchMetrics.Onboarding.requestedRuntimePermission(requestType: .location, accepted: true)
[Onboarding requestedRuntimePermissionWithRequestType: [Onboarding RequestTypeLocation] accepted:@YES];
1
2
PinchMetrics.onboardingRequestedRuntimePermission(RequestType.location, true);
1
Cancelled
The following method is used if:
- User is able to cancel the onboarding at any point
- User has cancelled the onboarding
PinchMetrics.Onboarding.cancelled()
1
PinchMetrics.Onboarding.cancelled()
[Onboarding cancelled];
1
2
PinchMetrics.onboardingCancelled();
1
Completed
The following method is used if:
- User has completed the onboarding
PinchMetrics.Onboarding.completed()
[Onboarding completed];
1
2
PinchMetrics.Onboarding.completed()
1
PinchMetrics.onboardingCompleted();
1