Android : Not getting deeplink inside onAppOpenAttribution() method of AppsFlyer

1.7k Views Asked by At

We are using AppsFlyer to create deferred deeplink to redirect to our app, but we are getting the first 29-30 character of deeplink rather than complete deeplink which we have mentioned in the portal.

Any suggestions?

How to use AppsFlyer to use deferred deeplink?

We are passing below mentioned information in AppsFlyer Portal :enter image description here

Deeplink which is getting used : abcapp://grid?url=https://catalog.abcapp.com/v1/g/electronics-store/_the-mobile-store

In app we are getting :

@Override
public void onAppOpenAttribution(Map<String, String> map) 
{
    String a = map.get("link");
}

the value of a we are getting is abcapp://grid?url=https

1

There are 1 best solutions below

0
On

For deferred deeplinks (first launch deeplinks) with AppsFlyer you should use the following method:

 @Override
    public void onInstallConversionDataLoaded(Map<String, String> conversionData) {
        for (String attrName : conversionData.keySet()) {
            Log.d(AppsFlyerLib.LOG_TAG, "attribute: " + attrName + " = " + 
            conversionData.get(attrName));
        }
    }

Additional information on deferred deeplinks and conversion data is available here

onAppOpenAttribution() is used to receive data from "regular" deeplinks.

Regardless, if you are testing by explicitly clicking the deeplink / calling the deeplink from adb (and not a OneLink which contains the deeplink) you should encode your URL, for the URL in you example it should look like this:

abcapp%3A%2F%2Fgrid%3Furl%3Dhttps%3A%2F%2Fcatalog.abcapp.com%2Fv1%2Fg%2Felectronics-store%2F_the-mobile-store

(The AppsFlyer Dashboard encodes automatically when you create a OneLink)

If you require additional assistance, you can contact the support team at [email protected] and we would happily assist.