Every time a user downloads/installs the app and opens it for the first time, the installation is tracked and
attributed to a new user. This ‘new’ user is a unique user in the Upshot.ai universe but could be an existing user
of your application who just switched devices or re-installed the app after deleting it or installed the app after
resetting the device.
Every user has a set of attributes that can be tracked/set in the application, one of which is the unique id that
the application might generate to identify a user in its system.
This ID should be set to the AppuID attribute of External IDs in the SDK. This will help track/group all actions
performed by a user across multiple devices attributed to one sameprofile.
Each user profile has one or more named properties that describe that user. Because of rich user data, profiles are
excellent for creating audiences to target with personalized messaging.
Upshot.ai sets the following device/app-specific attributes
Device ModelDevice OS VersionTimeZone on the deviceNetwork CarrierTimeZoneDaylightTimeZoneAbbreviationIP based locationLatitude (if available)Longitude (if available)SystemLocaleCodeBuildVersion
Standard User Profile Attributes.
First NameMiddle NameLast NameUser NameLanguageE-MailOccupationQualificationPhoneGenderMarital StatusAgeLocationLocaleCodeDate Of BirthemailOptoutsmsOptoutpushOptoutdataOptoutipOptout
Upshot.ai defines some standard attributes for each user and also allows you to define application specific custom
attributes as part of the user profile. SDK will discard any key which doesn't follow the naming convention.
All the properties or attributes of a User that you wish to capture via BrandKinesis must be passed through the
class BKUserInfo.
Example:
Score
Level in the game
Loyalty Points
Status info or badges like "Power user", "Novice user", "Gold Member", etc
NOTE:
Send device token on AppLaunch and either signup or login or signout flow after updating user details.
Custom Attribute names used in iOS must match the ones used in other platforms to get the accurate Reports.
Value of year in Date of Birth attribute must not be less than 1900.
Sending phone number to Upshot.ai through UserProfile should start with + and numeric values(Ex: +9999999999).
SDK will discard the number which doesn't follow the pattern.
length validation(max 64 characters) for value type string fileds like firstName, lastName, userName.....
Special characters won't be allowed in custom key's in others user profile except _. Incase of any special
characters SDK will replace with empty string
Custom Attribute Key's should start with alphabets only.
When the application receives any user information (through registration process or other mechanisms), those
values must be sent to the Upshot.ai
Best way of sending
user details:
Send User Details while on user successfully registration or login along with the appuid.
Incase of creating any custom event on registration or login, first update user details and then create custom
event.
If one version of the app is already in store, now better to integrate Upshot.ai for the next release to
update profile details on the Home screen also.
When user logsout, update appuid as empty as show logout section.
let userInfo = BKUserInfo() let externalId = BKExternalId() externalId.appuID = "" userInfo.externalId = externalId userInfo.build
{ (status, error) in
}
Get UserDetails
Upshot.ai provides a method to get current login user details. It accepts arguments as an array and returns
dictionary. We can pass list of keys that you want to fetch user details in array.
The keys should be upshot.ai provided keys. If key's count is zero then Upshot.ai provides all available user
details irrespective of keys