ID Sync In App with Adobe Mobile Services | Community
Skip to main content
Level 3
July 24, 2019
Solved

ID Sync In App with Adobe Mobile Services

  • July 24, 2019
  • 1 reply
  • 7222 views

Hello,

I'm trying to figure out how to implement an ID sync when customers open/login to my company's mobile app. We have AAM, Adobe Analytics (SSF enabled), and are using Adobe Mobile Services (AAM SSF enabled), but I can't quite figure out when/how to implement the ID sync. Can anyone help please, seeking advice for both iOS & Android.

Thank you!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by shweta_singh

Hi caseyo84500701 ,

When it comes id sync in mobile implementation,make sure we implement both device I d sync as well as customer Id sync.

Device ID Sync (IDFA)

Device ID sync (IDFA ID) is done using the “setAdvertisingIdentifier” method outlined here:

https://marketing.adobe.com/resources/help/en_US/mobile/ios/sdk_methods.html

If the marketing cloud visitor ID service is implemented then the below method automatically fires the d_cid_ic value for the IDFA value sycn with the global iOS data source DSID_20915 (fires along with dpm.demdex.net call).

Syntax:

+ (void) setAdvertisingIdentifier:(NSString *)identifier;

Example:

NSString *idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

[ADBMobile setAdvertisingIdentifier:idfa];

Sample call

http://dpm.demdex.net/id?d_ver=2&d_orgid=F7AC877056DFF0E87F000101@AdobeOrg&d_mid=68452733562309787373599334388622514953&d_blob=cIBAx_aQzFEHcPoEv0GwcQ&dcs_region=3&d_cid_ic=DSID_20915%01591B1212-F56B-4B8F-B026-A2C8D90323F1%011

Remember that Audience Manager supports advertising only through device ID captured in raw format (without any encoding). Retrieve the IDFA from Apple APIs only if you are using an ad service. If you retrieve IDFA and are not using it properly, your app might be rejected.

If you want to use Advertising Identifier in Acquisition or Lifecycle, you must call it before calling collectLifecycleData. And, should be done at the launch of the app. This will send the device ID in the lifecycle hit via the “adid” variable. It can also be accessed in Signals (Postbacks).

Should you get the error relating to ASIdentifierManager, please include the following header:

  #import <AdSupport/ASIdentifierManager.h>

Customer login/ID sync

If you are using the Marketing Cloud Visitor Service then along with the Marketing Cloud visitor ID, you can set additional customer IDs to associate with each visitor. The Visitor API accepts multiple Customer IDs for the same visitor, along with a customer type identifier to separate the scope of the different customer IDs and links them to different data sources. This method of visitorSyncIdentifiers corresponds to setCustomerIDs in the JavaScript library.

Syntax:

+ (void) visitorSyncIdentifiers:(nullable NSDictionary *)identifiers authenticationState:(ADBMobileVisitorAuthenticationState)authState;

Example:

[ADBMobile visitorSyncIdentifiers:@{@"myIdType":@"valueForUser"}authenticationState:ADBMobileVisitorAuthenticationStateAuthenticated];

The above code synchronizes the provided identifiers to the visitor ID service. “idType” is the integration code that you will have to provide in the data source that is associated with the customer ID.

In order to use the profile merge rules related to authenticated state you have to pass in the authentication state as one of the following values:

  • ADBMobileVisitorAuthenticationStateUnknown
  • ADBMobileVisitorAuthenticationStateAuthenticated
  • ADBMobileVisitorAuthenticationStateLoggedOut

For android implementation,please refer to the doc here:

Implementing AAM for Android

Regards,

Shweta

1 reply

shweta_singhAdobe EmployeeAccepted solution
Adobe Employee
July 25, 2019

Hi caseyo84500701 ,

When it comes id sync in mobile implementation,make sure we implement both device I d sync as well as customer Id sync.

Device ID Sync (IDFA)

Device ID sync (IDFA ID) is done using the “setAdvertisingIdentifier” method outlined here:

https://marketing.adobe.com/resources/help/en_US/mobile/ios/sdk_methods.html

If the marketing cloud visitor ID service is implemented then the below method automatically fires the d_cid_ic value for the IDFA value sycn with the global iOS data source DSID_20915 (fires along with dpm.demdex.net call).

Syntax:

+ (void) setAdvertisingIdentifier:(NSString *)identifier;

Example:

NSString *idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

[ADBMobile setAdvertisingIdentifier:idfa];

Sample call

http://dpm.demdex.net/id?d_ver=2&d_orgid=F7AC877056DFF0E87F000101@AdobeOrg&d_mid=68452733562309787373599334388622514953&d_blob=cIBAx_aQzFEHcPoEv0GwcQ&dcs_region=3&d_cid_ic=DSID_20915%01591B1212-F56B-4B8F-B026-A2C8D90323F1%011

Remember that Audience Manager supports advertising only through device ID captured in raw format (without any encoding). Retrieve the IDFA from Apple APIs only if you are using an ad service. If you retrieve IDFA and are not using it properly, your app might be rejected.

If you want to use Advertising Identifier in Acquisition or Lifecycle, you must call it before calling collectLifecycleData. And, should be done at the launch of the app. This will send the device ID in the lifecycle hit via the “adid” variable. It can also be accessed in Signals (Postbacks).

Should you get the error relating to ASIdentifierManager, please include the following header:

  #import <AdSupport/ASIdentifierManager.h>

Customer login/ID sync

If you are using the Marketing Cloud Visitor Service then along with the Marketing Cloud visitor ID, you can set additional customer IDs to associate with each visitor. The Visitor API accepts multiple Customer IDs for the same visitor, along with a customer type identifier to separate the scope of the different customer IDs and links them to different data sources. This method of visitorSyncIdentifiers corresponds to setCustomerIDs in the JavaScript library.

Syntax:

+ (void) visitorSyncIdentifiers:(nullable NSDictionary *)identifiers authenticationState:(ADBMobileVisitorAuthenticationState)authState;

Example:

[ADBMobile visitorSyncIdentifiers:@{@"myIdType":@"valueForUser"}authenticationState:ADBMobileVisitorAuthenticationStateAuthenticated];

The above code synchronizes the provided identifiers to the visitor ID service. “idType” is the integration code that you will have to provide in the data source that is associated with the customer ID.

In order to use the profile merge rules related to authenticated state you have to pass in the authentication state as one of the following values:

  • ADBMobileVisitorAuthenticationStateUnknown
  • ADBMobileVisitorAuthenticationStateAuthenticated
  • ADBMobileVisitorAuthenticationStateLoggedOut

For android implementation,please refer to the doc here:

Implementing AAM for Android

Regards,

Shweta

C82028302Author
Level 3
April 9, 2020
Hi @shweta_singh - Could you please clarify how to implement this on the Android side? I'm not seeing any specifics on the Android Link provided for setting the ID sync.