User Information API

ironSource App Analytics provides analysis of the users usage of the application, including all their activities, progression & purchasing from application activation. To better understand who are the users, and what kind of users spend the most or perform any other activity – App Analytics allows full users’ drill down according to their characteristics. 

These characteristics (Such as their age, their gender, how they logged in and others) should be provided (If available) prior to the SDK initialization, using the user information API as detailed below

// The user information API
+(void)setUserInfo:(NSArray <ISAnalyticsMetaData *>*) userInfo
// The user information API
static func setUserInfo(userInfo : [ISAnalyticsMetaData])

Parameters:

  • NSArray <ISAnalyticsMetaData *>* userInfo – an array of all ISAnalyticsMetaData objects
  • ISAnalyticsMetadata – object that contains predefined user information key (enumeration) and value. ISAnalyticsMetaData object can be created in 2 forms: 
    • Using only enumerated values
      • ISAnalyticsMetadata.GENDER – The gender of the user. Available values:
        • MALE
        • FEMALE
        • OTHER
      • ISAnalyticsMetadata.LOGIN_TYPE_VALUE – The login method of the user. Available values:
        • FACEBOOK
        • GOOGLE
        • EMAIL
        • APP
        • OTHER
    • Using ISAnalyticsMetadataKey enumerated options along with the value itself. Options:
      • ISAnalyticsMetadataKey.AGE – The age of the user. Value should be between 0 and 120 (Integer value)
      • ISAnalyticsMetadataKey.IAP_USER – True if the user ever purchased anything within the app (boolean value)
      • ISAnalyticsMetadataKey.IS_SUBSCRIBED – True if the user is a licensed user – paid for playing the game (boolean value)
      • ISAnalyticsMetadataKey.FIRST_LOGIN –
      • The first login date of the user to the application in this device (dateTime value)
      • ISAnalyticsMetadataKey.CREATION_DATE – The creation date of the user (dateTime value)
      • ISAnalyticsMetadataKey.ACHIEVEMENT –
      • Represent an achievement of the gamer (string value)

Note: All parameters are mandatory 

Example of User information API

/ Example of using the user information settings API
ISAnalyticsMetaData *userGender = [[ISAnalyticsMetaData alloc] initWithGender: ISAnalyticsUserInfoGenderFEMALE];
 
ISAnalyticsMetaData *userIAP = [[ISAnalyticsMetaData alloc] initWithMetaDataKey:ISAnalyticsMetaDataKey.IAP_USER boolValue:true];
 
ISAnalyticsMetaData *userSubscribed = [[ISAnalyticsMetaData alloc] initWithMetaDataKey:ISAnalyticsMetaDataKey.IS_SUBSCRIBED boolValue:true];
 
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init] ;
[dateFormatter setDateFormat:@"yyyy-MM-dd"] ;
NSDate *date = [dateFormatter dateFromString:@"2020-01-23"] ;
ISAnalyticsMetaData *userCreationDate = [[ISAnalyticsMetaData alloc] initWithMetaDataKey:ISAnalyticsMetaDataKey.CREATION_DATE dateValue:date];
 
ISAnalyticsMetaData *userFirstLogin = [[ISAnalyticsMetaData alloc] initWithMetaDataKey:ISAnalyticsMetaDataKey.FIRST_LOGIN dateValue:date];
 
ISAnalyticsMetaData *userAchievement = [[ISAnalyticsMetaData alloc] initWithMetaDataKey:ISAnalyticsMetaDataKey.ACHIEVEMENT strValue:@"success"];
 
ISAnalyticsMetaData *userAge = [[ISAnalyticsMetaData alloc] initWithMetaDataKey:ISAnalyticsMetaDataKey.AGE intValue:30];
 
ISAnalyticsMetaData *userLoginType = [[ISAnalyticsMetaData alloc] initWithLoginType:ISAnalyticsUserInfoLoginTypeFACEBOOK];
    
NSArray * userInfo = [NSArray arrayWithObjects:userGender, userIAP, userCreationDate, userSubscribed, userFirstLogin, userAchievement, userAge, userLoginType, nil];
   
// Second, pass the information
[IronSourceAnalytics setUserInfo:userInfo];
/ Example of using the user information settings API
let userGender : ISAnalyticsMetaData = ISAnalyticsMetaData(gender: ISAnalyticsUserInfoGender.FEMALE)
 
let userIAP : ISAnalyticsMetaData = ISAnalyticsMetaData(metaDataKey: ISAnalyticsMetaDataKey.IAP_USER, boolValue: true)
 
let userSubscribed : ISAnalyticsMetaData = ISAnalyticsMetaData(metaDataKey: ISAnalyticsMetaDataKey.IS_SUBSCRIBED, boolValue: true)
 
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let date = dateFormatter.date(from: "2020-01-23") else {
  return
}
let userCreationDate = ISAnalyticsMetaData(metaDataKey: ISAnalyticsMetaDataKey.CREATION_DATE, dateValue: date)
 
let userFirstLogin = ISAnalyticsMetaData(metaDataKey: ISAnalyticsMetaDataKey.FIRST_LOGIN, dateValue: date)
 
let userAchievement : ISAnalyticsMetaData = ISAnalyticsMetaData(metaDataKey: ISAnalyticsMetaDataKey.ACHIEVEMENT, strValue: "success")
 
let userAge : ISAnalyticsMetaData = ISAnalyticsMetaData(metaDataKey: ISAnalyticsMetaDataKey.AGE, intValue: 30)
 
let userLoginType : ISAnalyticsMetaData = ISAnalyticsMetaData(loginType: ISAnalyticsUserInfoLoginType.FACEBOOK)
    
let userInfo : [ISAnalyticsMetaData] = [userGender, userIAP, userSubscribed, userAge, userLoginType]
   
// Second, pass the information
IronSourceAnalytics.setUserInfo(userInfo)