Singular Links: Simplified Tracking with Advanced Deep Linking
Singular Links provides a robust and user-friendly solution for creating and managing tracking links. Perfect for marketers and mobile app developers, our platform makes it easy to configure link behavior, set attribution preferences, and add custom metadata.
Advanced Deep Linking Technology
-
iOS Universal Links: Singular Links uses iOS Universal Links to ensure a seamless user experience by automatically directing users to your app or website based on app installation. This eliminates redirects and guides users directly to the app content. We also support traditional app scheme deep linking as a fallback.
-
Android App Links: On Android, Singular Links employs App Links to open your app directly if it is installed or redirect users to a web page if not, providing a smooth and consistent experience across platforms. We also support Android Scheme Links for cases where App Links are not available.
To configure Singular Links for your iOS and Android apps, enabling Deep Linking and Deferred Deep Linking, follow the prerequisite steps below:
1. Add a Sub-Domain
On the Link Management page in Singular, configure at least one sub-domain for your links. For details, refer to the Singular Links FAQ
2. Implement Platform Prerequisites:
iOS Prerequisites
For iOS: Singular Links uses iOS Universal Links and app schemes for deep linking. To enable these features, follow these steps:
-
Set Up Universal Links:
- Log in to the Apple Developer Portal.
- Go to Identifiers and select the app you want to enable Universal Links for.
- In the Capabilities menu, check the Associated Domains checkbox and click Save.
-
Add the Associated Domains Entitlement:
- Open Xcode and navigate to Project settings > Capabilities > Associated Domains.
- Add your Singular Links domains using the following format:
- Copy your App Prefix (also known as Team ID) from the Apple Developer Portal.
-
In Singular, go to Apps Configuration, locate your app, expand the iOS App site "Show Advanced Settings" option, and paste the Team ID in the appropriate field. This allows Singular to host the apple-app-site-association file on your Singular domain for Universal Links.
Note: Completing this step is crucial for scenarios where Universal Links may not function correctly. Learn more about Universal Links limitations here. If this step is omitted, then all Singular Links will redirect to the App Store, and deep links will not function. -
Optional - Configure the App Scheme if you are not using Univeral Links:
- Below the Team ID field, enter your iOS app’s App Scheme to enable traditional app scheme deep linking as a fallback to Universal Links.
If this is your app’s first time supporting an iOS app scheme, register the app scheme as a URL Type in your Xcode project.
For more information, see Apple’s developer help article. - Below the Team ID field, enter your iOS app’s App Scheme to enable traditional app scheme deep linking as a fallback to Universal Links.
Android Prerequisites
For Android: Singular Links uses Android App Links and Scheme Links to enable deep linking. To set up these features, follow these steps:
-
Generate and Provide SHA256 Fingerprints:
For Production:
- Access the Google Play Console.
- Navigate to Setup > App signing to find the public SHA256 fingerprint.
- Send the SHA256 fingerprint to your app marketer, for application in step 4 below.
For Development:
- Locate your app's keystore file. This is usually in debug.keystore.
Windows:
C:\Users\USERNAME\.android\debug.keystore
Linux/Mac:
~/.android/debug.keystore
- Open the command line, navigate to the keystore folder, and run:
keytool -list -v -keystore debug.keystore
The default password for debug.keystore is "android". Send the SHA256 fingerprint found in the output to your app marketer, for application in step 4 below.
-
Configure App Links:
Note: In this example, the verified domain is: example.sng.link- If you want to verify several domains, each will get a separate intent-filter block (create code block per domain).
- For apps with existing links, you can migrate the links to the now supported Android App links technology or have them remain with URL schema (unchanged).
- To migrate to the now supported Android App links technology:
Allow the following path domains: "/E" and "/F" and "/A" and "/B" - Add the following intent filter to your AndroidManifest.xml to handle App Links:
This setup allows your app to open links such as: https://example.sng.link/Eabcd/1234<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="example.sng.link" />
<data android:pathPrefix="/A"/>
<data android:pathPrefix="/B"/>
<data android:pathPrefix="/E"/>
<data android:pathPrefix="/F"/>
</intent-filter>
-
Optional - Configure the App Scheme if you are not using App Links:
- Add the following intent filter to your AndroidManifest.xml to handle App Links:
<intent-filter>
<data android:scheme="https"/>
<data android:host="example.sng.link" />
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
- Add the following intent filter to your AndroidManifest.xml to handle App Links:
-
Configure Android App Scheme:
- In Singular, go to Settings > Apps, find your app, expand the Android App site "Show Advanced Settings" option, and enter the Android App Links SHA256 fingerprints in the App Links SHA256 fingerprints field.
- Optionally, add the Android Scheme if you are not using App Links to match the scheme://host as entered in the AndroidManifest.xml intent-filter.
3. Add the SDK configuration
After completing the prerequisites above, Implement Deep Linking and Deferred Deep Links: Follow the relevant SDK integration guide for deep linking in your app:
- iOS SDK: Implementing Deep Links
- Android SDK: Implementing Deep Links
- Unity SDK: Implementing Deep Links
- React Native SDK: Implementing Deep Links
- Unreal SDK: Implementing Deep Links
- Flutter SDK: Implementing Deep Links
- Cordova SDK: Implementing Deep Links
For more details, visit the Singular Links FAQ.