KeplerIdentifiers
The Kepler Identifiers API provides utilities for managing various identifiers and device-related metadata in the context of an app and user persona. It includes functionality for generating, retrieving, and managing unique identifiers such as UUIDs, user agent strings, and friendly device names.
Constructors
new KeplerIdentifiers()
new KeplerIdentifiers(): KeplerIdentifiers
Returns
Methods
addAdvertisingIdListener()
staticaddAdvertisingIdListener(listener: IAdvertisingIdListener):Promise<ISubscription>
Note: Currently, this method is not supported.
Adds a listener for changes to the advertising identifier.
Parameters
listener
The listener to be notified when the advertising identifier changes. ISubscription An ISubscription object that you can use to unsubscribe from the event.
Returns
Promise<ISubscription>
addFriendlyDeviceNameListener()
staticaddFriendlyDeviceNameListener(listener: IFriendlyDeviceNameListener):Promise<ISubscription>
Note: Currently, this method is not supported.
Adds a listener for changes to the friendly device name.
Parameters
listener
The listener to be notified when the friendly device name changes. ISubscription An ISubscription object that you can use to unsubscribe from the event.
Returns
Promise<ISubscription>
addVendorTrackingIdListener()
staticaddVendorTrackingIdListener(listener: IVendorTrackingIdListener):Promise<ISubscription>
Note: Currently, this method is not supported.
Adds a listener for changes to the tracking identifier.
Parameters
listener
The listener to be notified when the tracking identifier changes. ISubscription An ISubscription object that you can use to unsubscribe from the event.
Returns
Promise<ISubscription>
disableAdvertisingId()
staticdisableAdvertisingId():Promise<void>
Note: Currently, this method is not supported.
Disables advertising identifier support for a given user. For every call it will check if it is already disabled. If not then it proceeds, else it ignores the request. This API requires the privilege: com.amazon.kepler.identifiers.privilege.advertising-id.modify
Returns
Promise<void>
disableVendorTrackingId()
staticdisableVendorTrackingId():Promise<void>
Note: Currently, this method is not supported.
Disables tracking identifier support for a given user for specific vendor. If the tracking identifier is already disabled, the request is ignored. This API requires the privilege: com.amazon.kepler.identifiers.privilege.tracking-id.modify
Returns
Promise<void>
enableAdvertisingId()
staticenableAdvertisingId():Promise<void>
Note: Currently, this method is not supported.
Enables advertising identifier support for a specified user while opting-in. Will generate new Uuid for advertising identifier if not set previously. For every call it will check if it is already enabled. If not then it proceeds, else it ignores the request. This API requires the privilege: com.amazon.kepler.identifiers.privilege.advertising-id.modify
Returns
Promise<void>
enableVendorTrackingId()
staticenableVendorTrackingId():Promise<void>
Note: Currently, this method is not supported.
Enables tracking identifier support for a given user for specific vendor, if it was previously opted-out. For every call it will check if it is already enabled. If not then it proceeds, else it ignores the request. This API requires the privilege: com.amazon.kepler.identifiers.privilege.tracking-id.modify
Returns
Promise<void>
generateUuidV4()
staticgenerateUuidV4(): Uuid
Generates a new random UUID (version 4 algorithm) for custom identifiers. UUID A new UUID.
Returns
getAdvertisingId()
staticgetAdvertisingId():Promise<Uuid>
Note: Currently, this method is not supported.
Gets the advertising identifier for the current persona.
The advertising identifier is used for cross-app tracking and is resettable by the user.
This identifier is available only with user opt-in.
If the user has not opted in, the value returned is 0000-0000-0000-0000.
An advertising identifier UUID.
Returns
Promise<Uuid>
getFriendlyDeviceName()
staticgetFriendlyDeviceName():Promise<string>
Gets the friendly name of the device for the current persona. This name is shared across applications and can be modified by the user.
Returns one of:
- The user-customized device name if it exists and the caller has the "com.amazon.devconf.privilege.identifiers.device-friendly-name" run-time privilege
- The device model name if either:
- No user-customized name has been set
- The caller lacks the required privilege
The friendly name of this device - either the user-customized name (if set and privileged) or the device model name.
Returns
Promise<string>
getUserAgent()
staticgetUserAgent():Promise<string>
Gets the user agent string that is used to identify devices. This is profile dependent information which contains device model, OS version, etc. Example: "Amazon-TV /1.0 () () ". Note: The semantics of User agent string could vary based on multiple factors. It is recommended to use the string value as it is and not rely on it for any kind of parsing.
Returns
Promise<string>
getVendorTrackingId()
staticgetVendorTrackingId():Promise<Uuid>
Gets the tracking identifier UUID for the vendor signing the callers application. The tracking identifier is resettable by the user and allows for tracking across all applications from a single vendor. This identifier is available only with user opt-in. Users are opted-in by default. However, they can chose to opt-out. If the user has opted-out, the function returns a null UUID (0000-0000-0000-0000). UUID A tracking identifier UUID.
Returns
Promise<Uuid>
resetAdvertisingId()
staticresetAdvertisingId():Promise<void>
Note: Currently, this method is not supported.
Resets the advertising identifier. This API requires the privilege: com.amazon.kepler.identifiers.privilege.advertising-id.modify
Returns
Promise<void>
resetVendorTrackingId()
staticresetVendorTrackingId():Promise<void>
Note: Currently, this method is not supported.
Resets the tracking identifier to a new Uuid. This API requires the privilege: com.amazon.kepler.identifiers.privilege.tracking-id.modify
Returns
Promise<void>
setFriendlyDeviceName()
staticsetFriendlyDeviceName(name:string):Promise<void>
Sets a new friendly name for the current persona.
Parameters
name
string
The new friendly name for the device. The device-friendly name accepts UTF-8 characters. Valid input is a minimum of 2 and maximum of 60 bytes of UTF-8 encoding. This API is access-controlled, and requires the privilege: com.amazon.devconf.privilege.identifiers.device-friendly-name.write.
Returns
Promise<void>
Last updated: Jul 22, 2026

