Skip to content

Commit b64bf00

Browse files
committed
feat: extract deeplink from session response
1 parent 2abc832 commit b64bf00

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1654,6 +1654,9 @@ private void launchSessionResponseTasksI(SessionResponseData sessionResponseData
16541654
// launch Session tracking listener if available
16551655
launchSessionResponseListenerI(sessionResponseData, handler);
16561656

1657+
// if there is any, try to launch the deeplink
1658+
prepareDeeplinkI(sessionResponseData.deeplink, handler);
1659+
16571660
// mark session response has proccessed
16581661
internalState.sessionResponseProcessed = true;
16591662
}

Adjust/sdk-core/src/main/java/com/adjust/sdk/AttributionHandler.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ private void checkSessionResponseI(IActivityHandler activityHandler,
187187
SessionResponseData sessionResponseData)
188188
{
189189
checkAttributionI(activityHandler, sessionResponseData);
190+
checkDeeplinkInSessionResponseI(sessionResponseData);
190191
activityHandler.launchSessionResponseTasks(sessionResponseData);
191192
}
192193

@@ -201,11 +202,11 @@ private void checkAttributionResponseI(IActivityHandler activityHandler,
201202
AttributionResponseData attributionResponseData)
202203
{
203204
checkAttributionI(activityHandler, attributionResponseData);
204-
checkDeeplinkI(attributionResponseData);
205+
checkDeeplinkInAttributionResponseI(attributionResponseData);
205206
activityHandler.launchAttributionResponseTasks(attributionResponseData);
206207
}
207208

208-
private void checkDeeplinkI(AttributionResponseData attributionResponseData) {
209+
private void checkDeeplinkInAttributionResponseI(AttributionResponseData attributionResponseData) {
209210
if (attributionResponseData.jsonResponse == null) {
210211
return;
211212
}
@@ -221,6 +222,18 @@ private void checkDeeplinkI(AttributionResponseData attributionResponseData) {
221222
attributionResponseData.deeplink = Uri.parse(deeplinkString);
222223
}
223224

225+
private void checkDeeplinkInSessionResponseI(SessionResponseData sessionResponseData) {
226+
if (sessionResponseData.jsonResponse == null) {
227+
return;
228+
}
229+
230+
String deeplinkString = sessionResponseData.jsonResponse.optString("deeplink", null);
231+
if (deeplinkString == null) {
232+
return;
233+
}
234+
sessionResponseData.deeplink = Uri.parse(deeplinkString);
235+
}
236+
224237
private void sendAttributionRequestI() {
225238
if (activityHandlerWeakRef.get().getActivityState().isGdprForgotten) {
226239
return;

Adjust/sdk-core/src/main/java/com/adjust/sdk/SessionResponseData.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.adjust.sdk;
22

3+
import android.net.Uri;
4+
35
import org.json.JSONObject;
46

57
/**
@@ -9,6 +11,7 @@
911
*/
1012
public class SessionResponseData extends ResponseData {
1113
private String sdkPlatform;
14+
public Uri deeplink;
1215

1316
public SessionResponseData(final ActivityPackage activityPackage) {
1417
this.sdkPlatform = Util.getSdkPrefixPlatform(activityPackage.getClientSdk());

0 commit comments

Comments
 (0)