Beta indicates an experimental feature. Breaking changes may happen with each release until this is no longer in Beta.
Trust, but verify. This is especially true when you’re trusting your onboarding funnel to another service. Starting in version 2.3, Digits offers two analytics options:
- Default - Just install Answers in your app and see login rates, common errors and other metrics, right out-of-the-box.
- Advanced - Use our SDK’s logger delegate to hook in your own analytics tools.
Default: Integration with Answers¶
If Digits detects that you are using Answers in your app, it will automatically send key Digits events to your Answers Dashboard. The following events are available out-of-the-box:
- Digits Login Start
- Digits Login Success
- Digits Logout
- Digits Contact Uploads
- Digits Contact Match
To calculate the conversion rate, you can compare the Digits Login Start (entrance into the Digits Authentication workflow) with Digits Logout Success (successful exit from the Digits Authentication workflow.) First, go to your Answers dashboard, and search for ‘Digits Login’ events (figure 1). For the following app, 2/2 users converted, meaning it has a 100% conversion rate.
You can also drill down into those events (figure 2) for more details about aggregated user attributes.
If you already have an analytics suite or you want to get more fine-grained analytics of your user’s activity within the Digits workflow, you can provide an authentication and / or contacts event delegate.
Implement one or both of the
DGTContactsEventDelegate protocols to receive the appropriate events for your use case.
Once you have your logger interface, attach it to your Digits instance:
// Objective-C [Digits sharedInstance].authEventDelegate = yourConformingObject; [Digits sharedInstance].contactsEventDelegate = yourConformingObject;
// Swift let digits = Digits.sharedInstance() digits.authEventDelegate = yourConformingObject; digits.contactsEventDelegate = yourConformingObject;
The logger is meant as an analytics and metrics-gathering tool - it is not designed to replace error handling or callback behavior. The delegate’s methods will be called asynchronously on a background thread.