I have followed the app clip integration guide by AppsFlyer as given here: https://support.appsflyer.com/hc/en-us/articles/360014262358
Here is the expected flow:
- Users without the app installed: With iOS 14 or later should be sent to the App Clip.
- Users without the app installed: With iOS 13 or earlier, or Android, should be redirected based on the settings in OneLink (to the app store, etc).
- Users with the app installed should be sent to the app based on the Universal Link or App Link setup in OneLink.
I am able to extract deep link data for scenarios 2 and 3. However, scenario 1 does not work, the app clip doesn't open up.
I did some additional setup as well:
- Added this entry to app clip info.plist
<key>AppsFlyerAppClip</key>
<true/>
- Added this entry to app clip entitlement:
<array>
<string>appclips:mydomain.onelink.me</string>
</array>
- Added these entries to the full app entitlement:
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:mydomain.onelink.me</string>
<string>appclips:mydomain.onelink.me</string>
</array>
- Added this to AndroidManifest.xml
<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:host="mydomain.onelink.me"
android:scheme="https"
android:pathPrefix="/zfUQ/"
/>
</intent-filter>
The app clip runs fine when I pass the invocation URL in Xcode or in TestFlight build.
I updated the advanced app clip experience and added the App Clip Experience URL there as:
https://mydomain.onelink.me
When the check the domain status status next to the build number, it shows '1 valid domain'. The AASA file correctly displays the appclips bundle ID. I don't know what's wrong, the app clip just doesn't load when I scan the QR code. Instead it takes me to the App Store. Any help would be appreciated.