내 커뮤니티 업적 표시줄을 확대합니다.

Join us on September 25th for a must-attend webinar featuring Adobe Experience Maker winner Anish Raul. Discover how leading enterprises are adopting AI into their workflows securely, responsibly, and at scale.

AJO Universal Link Integration Guide for iOS

Avatar

Employee

25. 8. 13.

Authors - Shiladitya Bose, Somesh Jaiswal, Ashu Malik

 

What is Universal Link ?  

 

Universal Links are a feature in iOS (introduced in iOS 9) that allows developers to create a seamless connection between a website and a corresponding app. They enable a single URL to open a specific location within an app if it's installed or direct the user to the website if the app is not installed. This provides a smoother user experience compared to traditional deep linking methods. 

 

Customer hosted AASA file snippet

The following is the AASA configuration which will be required to support the integration. Let us suppose we are supporting this integration for www.mybusiness.com & customer has delegated email.mybusiness.com subdomain in AJO. AASA file hosted at

https://www.mybusiness.com/.well-known/apple-app-site-association

 will define the URLs which their app(s) support.

Shiladitya_0-1755083516625.png

 

Universal Link with Tracking 

Let us consider the following universal link (illustrative) that MyBusiness wants to launch in the App – 

  • https://www.mybusiness.com/dashboard/offers/coupons 
  • Based on customer’s AASA file configuration (Customer Hosted AASA File Snippet), AJO will detect that the given url is one of the supported deep link URL is customer’s app. In this case, the tracked URL that will be generated by AJO will be the following.  
  • https://data.email.mybusiness.com/ee/v1/mclick?tuid=<trackerUniqueId>&pid=<pid>&params=<params> 
  • The key aspect to note here is the keyword mclick that is present in the AJO generated tracked links marked to be launched in the mobile app. 

 

On device flow of MyBusiness’s mobile app with mobile app rendered URLs

  • MyBusiness mobile app is installed on user’s device with the domain 
    data.email.mybusiness.com  
  • User clicks the following link in iOS device for the content delivered via AJO channels (email)
  • https://data.email.mybusiness.com/ee/v1/mclick?tuid=<trackerUniqueId>&pid=<pid>&params=<params> 
  • iOS makes a call to fetch AASA file from a static URL 
  • https://data.email.mybusiness.com/.well-known/apple-app-site-association 
  • Once iOS downloads the AASA file it verifies the path. The AASA file should contain path /ee/v1/mclick allowlisted for the mobile app. The AASA file hosted on
    https://data.email.mybusiness.com/.well-known/apple-app-site-association 
    should look like this:

Adobe Hosted AASA

 

Shiladitya_1-1755083896686.png

  • App needs to make a GET request on the following URL
    https://data.email.mybusiness.com/ee/v1/mclick?tuid=<trackerUniqueId>&pid=<pid>&params=<params> 
  • and read `Location` header in the response which will look like the following and render in the app. This call will also log a tracking interaction. 
     www.mybusiness.com/dashboard/offers/coupons
  • Note: If mobile app is not installed on the device, then the URL will be rendered in the browser as fallback. Tracking will work as expected.

 

Changes Needed 

 

Adobe 

  • Host local AASA file (Adobe Hosted above) in customer’s domain delegated to Adobe 
  • Enable support for click and mclick based tracked URL basis directives in customer’s main AASA file 

Customer 

  • Build the support for the universal links in the app, host appropriate AASA file 
  • Share the link of the main AASA file with Adobe  
  • Ensure that the delegated domain hosts AASA file as shown in Adobe Hosted 
  • Use a supported link in AJO journey 
  • Validate the case for mclick & click 
  • If expectation is to open the link in app, AJO generated tracked link should look like 
    https://data.email.mybusiness.com/ee/v1/mclick?tuid=<trackerUniqueId>&pid=<pid>&params=<params>  
  • If expectation is to open the link in the browser, AJO generated tracked link should look like 
    https://data.email.mybusiness.com/ee/v1/click?tuid=<trackerUniqueId>&pid=<pid>&params=<params> 
  • If the deep link behavior is as expected, launch the journey 

 

1 의견