Contacts for the Android SDK
Identify contacts, reset contacts, and get named user IDs.
A Contact is any user in your project. Contacts are identified as either an Anonymous Contact or a Named User. Airship can set targeting data on these identifiers, which are also used to map devices and channels to a specific user. For detailed information about contacts and named users, see Named users.
Managing the Contact’s identifier (Named User ID)
You can call identify multiple times with the same Named User ID. The SDK automatically deduplicates identify
calls made with the same Named User ID. If you change the ID from a previous value, the SDK automatically
dissociates the Contact from the previous Named User ID.
Identifying the contact
Airship.contact.identify("some named user ID")Airship.getContact().identify("some named user ID");If the user logs out of the device, you may want to reset the contact. Resetting clears any anonymous data and dissociates the contact from the Named User ID, if set. Call this method only when the user manually logs out of the app. Otherwise, you cannot target the Channel by its Contact data.
Resetting the contact
Airship.contact.reset()Airship.getContact().reset();You can retrieve the Named User ID only if you set it through the SDK.
Getting the Named User ID
Airship.contact.namedUserIdAirship.getContact().getNamedUserId();Email channel association
When an email address is registered through the SDK, it will be registered for both transactional and commercial emails by default. To change this behavior, you can override the options to request Double Opt-InA process where users who sign up for messaging must confirm opting in before they can receive messages. for commercial messages.
Associating an email channel
val properties = JsonMap.newBuilder().put("place", "paris").build()
val options = EmailRegistrationOptions.commercialOptions(commercialDate, transactionalDate, properties)
Airship.contact.registerEmail("your@example.com", options)JsonMap properties = JsonMap.newBuilder().put("place", "paris").build();
EmailRegistrationOptions options = EmailRegistrationOptions.commercialOptions(commercialDate, transactionalDate, properties);
Airship.getContact().registerEmail("your@example.com", options);SMS channel association
When an MSISDNThe mobile phone number, including country code, of a device in your Airship audience. Each MSISDN represents an individual mobile device. is registered through the SDK, Airship sends a message to that number, prompting them to opt in. For more information, see the SMS platform documentation: Non-Mobile Double Opt-In.
Associating an SMS channel
val options = SmsRegistrationOptions.options("senderId")
Airship.contact.registerSms("yourMsisdn", options)SmsRegistrationOptions options = SmsRegistrationOptions.options("senderId");
Airship.getContact().registerSms("yourMsisdn", options);Open Channel association
Open Channels support notifications to any medium that can accept a JSON payload, through either the Airship API or web dashboard. For more information about Open Channels, see the Open Channels documentation.
Associating an Open Channel
val options = OpenChannelRegistrationOptions.options("platformName")
Airship.contact.registerOpenChannel("address", options)OpenChannelRegistrationOptions options = OpenChannelRegistrationOptions.options("platformName");
Airship.getContact().registerOpenChannel("address", options);