Quick Start
Follow this guide to grow your product, by identifying people you can easily turn into happy paying customers. You will find what multi-accounting and account sharing is occurring, via a simple integration with an Upollo native library.
This is a perfect starting point to get data flowing so you can see opportunities via the Dashboard. It will also serve as a base before tackling a more extensive integration, or acting on the data in realtime.
To start integrating with Upollo, you will first need to sign up…
Sign up for Upollo
Sign up at app.upollo.ai/login. Once your Project has been created, your Public API Key will be available via the Dashboard access-and-keys page for use in the subsequent steps.
Report login events
If you can easily modify your client application, reporting successful login events is an ideal way to get started with Upollo. Web, Android and iOS applications are all supported. You can start with just one of your choosing.
Get the client library
You will need a Upollo client library to make your client application talk with Upollo.
- Web JavaScript
- iOS Swift
- Android Kotlin
- Android Java
The Upollo Web client library is available as a package on NPM, under the name
@upollo/web
. Start by installing it, e.g. with the following command for NPM,
or otherwise using your preferred package manager:
npm install --save @upollo/web
The Upollo iOS client library is available via Cocoapods, under the name Upollo
.
Start by adding it as a dependency in your application's Podfile:
pod 'Upollo', '~> 0.3.0'
Now you can run pod install
to download the dependency.
The Upollo Android client library is available via The Maven Central Repository,
under the name ai.upollo:upollo-android
. Add it to your dependencies as shown
by , e.g. to
the dependencies list in your app's build.gradle file as:
implementation 'ai.upollo:upollo-android:0.1.2'
The Upollo Android client library is available via The Maven Central Repository,
under the name ai.upollo:upollo-android
. Add it to your dependencies as shown
by , e.g. to
the dependencies list in your app's build.gradle file as:
implementation 'ai.upollo:upollo-android:0.1.2'
You now have Upollo ready to use!
Locate your login handler code
With your dependency on Upollo set up, it is time to identify exactly where your application is going to use it.
Our goal is to report successful login events. Your application code will likely have
a callback or handler which is executed once the user successfully logs in. This is
where we will report an event of type EVENT_TYPE_LOGIN_SUCCESS
to Upollo.
Note that if it is easier in your application, you can also report an event to Upollo
for each login attempt, rather than a successful login. Use EVENT_TYPE_LOGIN
when
reporting a login attempt.
Once you have identified where in your login code you will send an event to Upollo, make a note of it and move on to the next step.
Create the UpolloClient
Communication with Upollo from your client application is done with an instance of
UpolloClient
. In this quick start we will create the instance right when we need
it, but you can also do so in advance.
When creating your UpolloClient
instance, you will need to provide the Upollo
Public API Key, available through the Dashboard as described in
Sign up for Upollo.
- Web JavaScript
- iOS Swift
- Android Kotlin
- Android Java
import { UpolloClient, EventType } from "@upollo/web";
const upollo = new UpolloClient("your-public-API-key");
import Upollo
var upollo: UpolloClient?
do {
upollo = try UpolloClient(publicApiKey: "your-public-API-key")
} catch {
print("UpolloClient setup failed: \(error)")
}
import ai.upollo.proto.EventType
import ai.upollo.proto.userInfo
import ai.upollo.android.UpolloClient
val upollo = UpolloClient(applicationContext, "your-public-API-key")
import ai.upollo.proto.EventType;
import ai.upollo.proto.UserInfo;
import ai.upollo.android.UpolloClient;
UpolloClient upollo = new UpolloClient(applicationContext, "your-public-API-key");
Track the login event
Finally, it is time to tell Upollo about the login attempt.
The login handler code you are working with will likely know some details of the user, such as their email address and/or the internal user ID you associate with them.
- Web JavaScript
- iOS Swift
- Android Kotlin
- Android Java
// Replace 12345 and person@example.com with the real ID and email of your user.
upollo.track(
{ userId: "12345", userEmail: "person@example.com" },
EventType.EVENT_TYPE_LOGIN_SUCCESS
);
if let u = upollo {
// Replace 12345 and person@example.com with the real ID and email of your user.
u.track(UpProto_UserInfo.with { i in
i.userId = "12345"
i.userEmail = "person@example.com"
}, did: .loginSuccess)
}
// Replace 12345 and person@example.com with the real ID and email of your user.
upollo.track(userInfo {
userId = "12345"
userEmail = "person@example.com"
}, EventType.EVENT_TYPE_LOGIN_SUCCESS)
// Replace 12345 and person@example.com with the real ID and email of your user.
upollo.track(
UserInfo.newBuilder().setUserId("12345").setUserEmail("person@example.com").build(),
EventType.EVENT_TYPE_LOGIN_SUCCESS)
Deploy application & identify flagged users
With the changes made, it is time to deploy your application and see Upollo in action. Go ahead and log into your application a few times, then head over to the Upollo Dashboard where you should see some recent activity in the charts.
Flagged users will show up below the charts. You can click to see more information about them and why they were flagged, and start thinking about how to guide them in the right direction.
Where to go from here
Here are some more easy changes you can make to take advantage of Upollo's capabilities:
- Add immediate detection of people signing up for extra accounts (and hence new user
trials or discounts you provide). To do this, find the client application code where you
handle signups, and start sending
EVENT_TYPE_REGISTER
andEVENT_TYPE_REGISTER_SUCCESS
events from there. - Improve detection quality by connecting your payment provider like Stripe, via the project settings page.