MonkeyBonkey
MonkeyBonkey

Reputation: 47911

How do services like Yozio track indivdual users' app installs without UDID?

I was looking at teh yozio code and they seem to track with a device name and ip address as the fingerprint. Is that reliable since ip addresses can change and the device name could be the same across multiple devices, e.g. "Bob's iPhone". Am I wrong in the assumption?

Here's Yozio's implementation

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  NSString *appKey = @"e78ffa70-0975-0130-2e03-12314000ac7c";
  NSString *deviceName = [[[UIDevice currentDevice] name] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  NSString *url = [NSString stringWithFormat:@"http://yoz.io/e?app_key=%@&device_name=%@", appKey, deviceName];
  [NSURLConnection connectionWithRequest:[NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]] delegate:nil];

  // Your app code here...
}

Upvotes: 1

Views: 1531

Answers (2)

jjv360
jjv360

Reputation: 4140

I would do it like this:

+(NSString*) uniqueIdentifier {

    // Check if one exists
    if ([[NSUserDefaults standardUserDefaults] stringForKey:@"uniqueIdentifier"].length > 0)
        return [[NSUserDefaults standardUserDefaults] stringForKey:@"uniqueIdentifier"];

    // One doesn't exist, create one
    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
    NSString* uuidStr = (__bridge NSString*) CFUUIDCreateString(kCFAllocatorDefault, uuid);
    CFRelease(uuid);
    [[NSUserDefaults standardUserDefaults] setValue:uuidStr forKey:@"uniqueIdentifier"];
    return uuidStr;

}

Upvotes: 0

A-Live
A-Live

Reputation: 8944

They are describing the process at the privacy article

Metrics and Analytics: Yozio collects information about access (such as clicks) of every shortened URL created through Yozio Services. This information includes, but is not limited to: (i) the IP address and any other information in the HTTP headers of the devices accessing the shortened URL; (ii) Information from the web browser accessing the shortened URL, such as cookies; (iii) the referring websites or services; (iv) the time and date of each access; and (v) information about sharing of the shortened URL on Third Party Services such as AdMob and Facebook. These metrics and analytics are used by Yozio to improve its Sites and services.

I think the device-name with the user-agent data applied to WURFL might produce the identifier pretty close to the unique.

Upvotes: 1

Related Questions