What are Android App Links?
Android App Links turn your existing website links into mobile app links.
They are HTTP URLs that allow Deep Link users directly to specific content inside installed apps. If the users' devices don't have the installed apps, they are redirected to the app owners' web sites.
AppsFlyer fully supports Android App Links via OneLink.
Android App Links vs. URI Schemes
Android App Links are Google's answer for iOS Universal links, and similarly work only for advanced Android versions, Marshmallow (Android 6.0) and above. In Android it means only about half of the users can activate app links, while all users, including the users from earlier Android versions can be deep linked using URI schemes.
Android app owners should therefore use both methods to cover 100% of their users.
Benefits of Android App Links vs. URI Schemes
App links solve a major security issue the URI schemes method has. Fraudsters apps can define the same URI scheme that real apps use. When users click on the real app's scheme links they need to select which app to open. If they open the fraudster app by mistake, they are in risk of revealing important login details etc.
App links ensures domain uniqueness, meaning only the original app could be launched when users click on its deep links.
Better User experience
When a user clicks on a scheme link, an internal browser is launched, which then identifies the scheme URI, and only afterwards deep links the user into the app.
With app links the app is directly launched without the browser's help, which leads to a faster and smoother user experience.
Setting Up Android App Links Tracking
1. Go to OneLink screen, to your Android app section and enable App Links for deep linking
2. Open command line and run the following command with the keystore file of your APK as the last parameter:
keytool -list -v -keystore apk-key.keystore
The result should look like this:
Alias name: test Creation date: Sep 27, 2017 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate: Owner: CN=myname Issuer: CN=myname Serial number: 365ead6d Valid from: Wed Sep 27 17:53:32 IDT 2017 until: Sun Sep 21 17:53:32 IDT 2042 Certificate fingerprints: MD5: DB:71:C3:FC:1A:42:ED:06:AC:45:2B:6D:23:F9:F1:24 SHA1: AE:4F:5F:24:AC:F9:49:07:8D:56:54:F0:33:56:48:F7:FE:3C:E1:60 SHA256: A9:EA:2F:A7:F1:12:AC:02:31:C3:7A:90:7C:CA:4B:CF:C3:21:6E:A7:F0:0D:60:64:4F:4B:5B:2A:D3:E1:86:C9 Signature algorithm name: SHA256withRSA Version: 3 Extensions: #1: ObjectId: 220.127.116.11 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 34 58 91 8C 02 7F 1A 0F 0D 3B 9F 65 66 D8 E8 65 0010: 74 42 2D 44 ] ]
The bolded part is the SHA236 fingerprint of you keystore. Copy this code to your clipboard
3. Click the Add SHA256 Fingerprint button on OneLink screen to add this fingerprint to the settings.
In case you have several app builds for testing & production you can add more APK keystore fingerprints by repeating this step.
4. Copy the XML snippet at the bottom of the App Link section and add it to your AndroidManifest.xml file inside the Intent which you want to deep link into.
5. Choose a OneLink sub-domain and populate it in the Deep Linking (iOS9/Android 6 and above) sub-domain field available under Additional Configuration section.
6. Make sure you do not have any invalid deep links defined in the manifest.xml file of your app.
Warning - Even if one of the deep links fails to verify, none of them will work with App Links.
7. Test your app by generating a OneLink, sending it to your device and clicking it to open the app.
More details at the "Re-Engagement via Deep Linking" paragraph in here.
Make sure you install an APK signed with the right certificate using adb while you are testing.
For more technical background on how Android App Links work refer to the official Android documentation.
Advertisers that have content on their mobile app, as well as on their web sites, can use Android app links to give more security and better user experience to their users. Android users below 6.0 still need the URI scheme method, so both methods need to be set up by the advertiser.
OneLink supports simple setup for working with both methods.