adjust / flutter_sdk

This is the Flutter SDK of
MIT License
56 stars 47 forks source link

deferredDeeplinkCallback always return null #131

Open jrb1989 opened 2 months ago

jrb1989 commented 2 months ago

I have implemented according to the flutter SDK documentation, but nevertheless the object deferredDeeplinkCallback always returns null when the app is opened with a deep link created from the adjust console.

The app opens correctly but however I can't extract any information from the link because the object in charge for this is always null, could someone help me?

uerceg commented 2 months ago

Hi @jrb1989,

Deferred deep link callback will get triggered when the deferred deep link (parameter which you might have placed inside of the tracker URL to which the install got attributed) is obtained by the SDK from our backend after tracking install. So the scenario to see deferred deep link triggered is to:

  1. Remove your app from the test device.
  2. Make sure that the test device is forgotten from our test console for your app.
  3. Click on tracker URL to which you have appended deep_link parameter.
  4. Install the app on your test device.
  5. Open the app / launch SDK inside of the app.
  6. If the install of that app is successfully attributed to the tracker URL you used in step 3, then you will see deferred deep link callback being pinged with the value of the deep_link parameter from your tracker URL.

If you are just opening already installed app via some deep link, deferred deep link is not the place where you will see that link reported (because it's not deferred).

In case you have any further questions on this topic, feel free to ask.

Cheers

jrb1989 commented 2 months ago

Hi @jrb1989,

Deferred deep link callback will get triggered when the deferred deep link (parameter which you might have placed inside of the tracker URL to which the install got attributed) is obtained by the SDK from our backend after tracking install. So the scenario to see deferred deep link triggered is to:

  1. Remove your app from the test device.
  2. Make sure that the test device is forgotten from our test console for your app.
  3. Click on tracker URL to which you have appended deep_link parameter.
  4. Install the app on your test device.
  5. Open the app / launch SDK inside of the app.
  6. If the install of that app is successfully attributed to the tracker URL you used in step 3, then you will see deferred deep link callback being pinged with the value of the deep_link parameter from your tracker URL.

If you are just opening already installed app via some deep link, deferred deep link is not the place where you will see that link reported (because it's not deferred).

In case you have any further questions on this topic, feel free to ask.

Cheers

Thanks @uerceg for the quick reply

one doubt the deep_link parameter do we have to add it manually? or is it added from the Adjust console?

uerceg commented 2 months ago

I am not 100% sure if this is something that you can add as part of some campaign links automation on the dashboard (I assume that it might be the case), but nonetheless, it's for sure that you can add it manually. For this to work, you need to:

  1. Create tracker on the Adjust dashboard (let's say that the tracker token ends up being abc123 for it).
  2. If you plan to test this with the device whose ID you know (for example you know the IDFA of the device or Google Play Advertising ID), you can put that into the tracker URL to have the install matched to the click to that tracker URL: https://app.adjust.com/abc123?idfa=xxxx-xxxx-....-xxxx
  3. If you don't want to put device ID into tracker URL, make sure to enable probabilistic matching for clicks for your tracker.
  4. Append deep_link parameter to the tracker URL.

If the deep link you wanna pass to your app is your-app-scheme://path/morestuff, then the tracker URL should look like (deep_link value needs to be URL encoded):