New Relic uses Apple's vendor ID to track specific devices for accurate counts of users. One of the special features of the vendor ID is it is unique across a suite of apps using the same bundle ID base. For example, the vendor ID is the same across apps that use the same bundle ID: com.company-name.*
.
This article describes how to obscure this cross-app identifier using a hidden API (available in iOS agent version 6.11.0):
+[NewRelic saltDeviceUUID:(BOOL)enabled]
Enable device uuid salt
To access the hidden method +[NewRelic saltDeviceUUID:(BOOL)enabled]
, add a category to the NewRelic
object:
@interface NewRelic (salt) + (void) saltDeviceUUID:(BOOL)enabled;@end
This can be added in your AppDelegate.h
after #include <NewRelic/NewRelic.h>
and before the @implementation AppDelgate
:
//
// AppDelegate.m
//
// Created on 9/11/12.
// © 2012 New Relic, Inc. All rights reserved.
//
#import "AppDelegate.h"
#import <NewRelic/NewRelic.h>
@interface NewRelic (salt)
+ (void) saltDeviceUUID:(BOOL)enabled;
@end
@implementation AppDelegate
// code
@end
Call the API
Next, call [NewRelic saltDeviceUUID:YES];
before your [NewRelic startWithApplicationToken:]
//
// AppDelegate.m
//
// Created on 9/11/12.
// © 2012 New Relic Inc. All rights reserved.
//
#import "AppDelegate.h"
#import <NewRelic/NewRelic.h>
@interface NewRelic (salt)
+ (void) saltDeviceUUID:(BOOL)enabled;
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[NewRelic saltDeviceUUID:YES];
[NewRelic startWithApplicationToken:@"MY_TOKEN"];
...
}
...
@end
You device IDs are now be obfuscated in all events and data sent to New Relic.
For more help
If you need more help, check out these support and learning resources:
- Browse the Explorers Hub to get help from the community and join in discussions.
- Find answers on our sites and learn how to use our support portal.
- Run New Relic Diagnostics, our troubleshooting tool for Linux, Windows, and macOS.
- Review New Relic's and and documentation.