Skip to content
This repository

Open source initiative for a universal and persistent UDID solution for iOS

branch: master
README.md

IMPORTANT NOTE

Please read this blog post before considering using OpenUDID:

http://blog.appsfire.com/udid-is-dead-openudid-is-deprecated-long-live-advertisingidentifier/

OpenUDID project notes

IMPORTANT: IF YOU ARE GOING TO INTEGRATE OpenUDID INSIDE A (STATIC) LIBRARY,
PLEASE MAKE SURE YOU REFACTOR THE OpenUDID CLASS WITH A PREFIX OF YOUR OWN,
E.G. ACME_OpenUDID. THIS WILL AVOID CONFUSION BY DEVELOPERS WHO ARE ALSO
USING OpenUDID IN THEIR OWN CODE. 

image

Follow OpenUDID on Twitter

http://twitter.com/OpenUDID

Who is behind OpenUDID

The project was initiated by Yann Lechelle (co-founder Appsfire) on 8/28/11

Many have joined the effort since. Please browse this github projects to discover the many contributors (discussions, code, pull requests, alternative branches, etc…)

Master Branches & ports to other OSes

Usage

#include "OpenUDID.h"
NSString* openUDID = [OpenUDID value];

Synopsis

OpenUDID is a drop-in replacement for the deprecated uniqueIdentifier property of the UIDevice class on iOS (a.k.a. UDID) and otherwise is an industry-friendly equivalent for iOS and Android, and most recently Windows C# and Silverlight (see links above).

The agenda for this community driven project is to:

  • Provide a reliable proxy and replacement for a universal unique device identifier. That is, persistent and sufficiently unique, on a per device basis.
  • NOT use an obvious other sensitive unique identifier (like the MAC address) to avoid further deprecation and to protect device-level privacy concerns
  • Enable the same OpenUDID to be accessed by any app on the same device
  • Supply open-source code to generate and access the OpenUDID, for iOS and Android
  • Incorporate, from the beginning, a system that will enable user opt-out to match Apple’s initial intent

Context

If you’re not already familiar with UDID’s, it’s a critical piece of information used for analytics or CRM purposes. A developer could use a UDID as a means to track how much time a user spent in his free app before upgrading to the paid version. UDIDs are also helpful for tracking the source of a download when advertising on an ad network. This is a fairly universal need in a thriving ecosystem: developers need the traceability from clicks to downloads to ensure that they pay the right price for their promotion. Proper tracking and funnel conversion is what has made the web a better place, with healthy competition and quantifiable metrics.

In the wake of Apple’s decision to deprecate UDID, some ad networks have already introduced their own proprietary solutions or worse adopted a low hanging fruit like the MAC address. The main motivation here was to find a UDID replacement not owned by any single provider, not bound to the device in the hardware sense. This open source initiative is to enable a better solution for thousands of other mobile app developers.

Version History

Contributions needed

Equivalent OpenUDID systems on Blackberry, other platforms, etc...

Seals to add on your sites if you use OpenUDID

imageimageimage

Something went wrong with that request. Please try again.