Concepts
People and devices
The Subscription ID is the install, the Xulo ID is the person, and the External ID is the id your app already uses.
Xulo keeps three ids.
| Id | What it is | Who makes it |
|---|---|---|
| Subscription ID | One install of your app on one device | Xulo, as a UUID, on install |
| Xulo ID | One person, with all of their installs | Xulo, as a UUID |
| External ID | Your own user id | Your app, with Xulo.login |
Subscription ID
The Subscription ID is this install. The app reads it as Xulo.subscriptionId.
It stays the same when Apple refreshes the push token and when the person logs out. Deleting and reinstalling the app, or a new phone, gives a new Subscription ID.
Xulo ID
The Xulo ID is the person. Every install of one person links to it. The app reads it as Xulo.xuloId.
On first launch the person is anonymous, with their own Xulo ID.
External ID
The External ID is the user id your app already has. It is optional. It can be text or a number, and Xulo stores it as text, so 5 and "5" are the same External ID.
loginwith an External ID that Xulo has seen before moves this install to that person's Xulo ID. The anonymous id is dropped.- The first login keeps the tags the anonymous person already had.
- A second phone that logs in with the same External ID joins the same person. That is one person with two Subscription IDs.
- A blank External ID does not log the device out.
logoutremoves the External ID from this install only. The install gets a new anonymous Xulo ID. Its Subscription ID and push token stay. The person's other installs are not touched.
See Identity and tags for the calls.
What Xulo keeps for an install
The SDK sends these with each registration:
- whether push is allowed, and the push token
- from SDK 0.1.4, the Apple push gate of the build, sandbox or production. See Sandbox and production.
- the device language and time zone, from the device settings
- the country, from the device region setting
- the app version
- the tags your app writes
Xulo also keeps the last time the app was opened.
Users, subscribed devices and MAU
The dashboard counts three different things.
| Count | Meaning |
|---|---|
| Users | People. Two phones on one Xulo ID are one user. |
| Subscribed devices | Installs with push allowed and an Apple push token. An install that allowed push but has no token is not counted. |
| Monthly active users | Devices that opened the app in the last 30 days. Push permission is not required. The bill uses this count. |
Test devices
A test device is an install you marked yourself. Open the person in People and choose Add to test devices. The install then appears in the Test devices tab of People, in the Test devices window of the push composer, and in the Test devices audience of the REST API and in-app cards. The SDK cannot set or clear this mark.
The person page also has Send push, which opens the composer addressed to that person's installs only.
The People list
The first column is the install's Xulo ID and the second is its External ID. The list is sorted by the last open and shows 25 installs per page. Search covers every install, not only the open page.
Coming from OneSignal
| OneSignal | Xulo |
|---|---|
| OneSignal ID | Xulo ID |
| Subscription ID (Player ID) | Subscription ID |
| External ID | External ID |