Skip to content

Commit ad1545b

Browse files
committed
Merge branch 'master' into jay/MOB-3386-android-session-tracking
2 parents e81f10c + f932710 commit ad1545b

File tree

2 files changed

+93
-68
lines changed

2 files changed

+93
-68
lines changed

iterableapi/src/main/java/com/iterable/iterableapi/IterableApi.java

Lines changed: 87 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -681,29 +681,6 @@ void getInAppMessages(int count, @NonNull IterableHelper.IterableActionHandler o
681681
apiClient.getInAppMessages(count, onCallback);
682682
}
683683

684-
/**
685-
* Tracks an in-app open.
686-
* @param messageId
687-
*/
688-
public void trackInAppOpen(@NonNull String messageId) {
689-
IterableLogger.printInfo();
690-
if (!checkSDKInitialization()) {
691-
return;
692-
}
693-
694-
apiClient.trackInAppOpen(messageId);
695-
}
696-
697-
void trackInAppOpen(@NonNull String messageId, @NonNull IterableInAppLocation location) {
698-
IterableLogger.printInfo();
699-
IterableInAppMessage message = getInAppManager().getMessageById(messageId);
700-
if (message != null) {
701-
trackInAppOpen(message, location);
702-
} else {
703-
IterableLogger.w(TAG, "trackInAppOpen: could not find an in-app message with ID: " + messageId);
704-
}
705-
}
706-
707684
/**
708685
* Tracks an in-app open.
709686
* @param message in-app message
@@ -721,33 +698,11 @@ public void trackInAppOpen(@NonNull IterableInAppMessage message, @NonNull Itera
721698
apiClient.trackInAppOpen(message, location, inboxSessionId);
722699
}
723700

724-
void trackInAppClick(@NonNull String messageId, @NonNull String clickedUrl, @NonNull IterableInAppLocation location) {
725-
IterableLogger.printInfo();
726-
IterableInAppMessage message = getInAppManager().getMessageById(messageId);
727-
if (message != null) {
728-
trackInAppClick(message, clickedUrl, location);
729-
} else {
730-
trackInAppClick(messageId, clickedUrl);
731-
}
732-
}
733-
734701
/**
735-
* Tracks an InApp click.
736-
* @param messageId
737-
* @param clickedUrl
738-
*/
739-
public void trackInAppClick(@NonNull String messageId, @NonNull String clickedUrl) {
740-
if (!checkSDKInitialization()) {
741-
return;
742-
}
743-
744-
apiClient.trackInAppClick(messageId, clickedUrl);
745-
}
746-
747-
/**
748-
* Tracks an InApp click.
749-
* @param message in-app message
750-
* @param clickedUrl
702+
* Tracks when a link inside an in-app is clicked
703+
* @param message the in-app message to be tracked
704+
* @param clickedUrl the URL of the clicked link
705+
* @param clickLocation the location of the in-app for this event
751706
*/
752707
public void trackInAppClick(@NonNull IterableInAppMessage message, @NonNull String clickedUrl, @NonNull IterableInAppLocation clickLocation) {
753708
if (!checkSDKInitialization()) {
@@ -762,23 +717,14 @@ public void trackInAppClick(@NonNull IterableInAppMessage message, @NonNull Stri
762717
apiClient.trackInAppClick(message, clickedUrl, clickLocation, inboxSessionId);
763718
}
764719

765-
void trackInAppClose(@NonNull String messageId, @NonNull String clickedURL, @NonNull IterableInAppCloseAction closeAction, @NonNull IterableInAppLocation clickLocation) {
766-
IterableInAppMessage message = getInAppManager().getMessageById(messageId);
767-
if (message != null) {
768-
trackInAppClose(message, clickedURL, closeAction, clickLocation);
769-
IterableLogger.printInfo();
770-
} else {
771-
IterableLogger.w(TAG, "trackInAppClose: could not find an in-app message with ID: " + messageId);
772-
}
773-
}
774-
775720
/**
776-
*Tracks InApp Close events.
777-
* @param message in-app message
778-
* @param clickedURL clicked Url if available
779-
* @param clickLocation location of the click
721+
* Tracks when an in-app has been closed
722+
* @param message the in-app message to be tracked
723+
* @param clickedURL the URL of the clicked link
724+
* @param closeAction the method of how the in-app was closed
725+
* @param clickLocation the location of the in-app for this event
780726
*/
781-
void trackInAppClose(@NonNull IterableInAppMessage message, @NonNull String clickedURL, @NonNull IterableInAppCloseAction closeAction, @NonNull IterableInAppLocation clickLocation) {
727+
public void trackInAppClose(@NonNull IterableInAppMessage message, @Nullable String clickedURL, @NonNull IterableInAppCloseAction closeAction, @NonNull IterableInAppLocation clickLocation) {
782728
if (!checkSDKInitialization()) {
783729
return;
784730
}
@@ -791,6 +737,9 @@ void trackInAppClose(@NonNull IterableInAppMessage message, @NonNull String clic
791737
apiClient.trackInAppClose(message, clickedURL, closeAction, clickLocation, inboxSessionId);
792738
}
793739

740+
/**
741+
* Tracks in-app delivery events (per in-app)
742+
* @param message the in-app message to be tracked as delivered */
794743
void trackInAppDelivery(@NonNull IterableInAppMessage message) {
795744
if (!checkSDKInitialization()) {
796745
return;
@@ -854,6 +803,80 @@ public void trackInboxSession(@NonNull IterableInboxSession session) {
854803
apiClient.trackInboxSession(session, inboxSessionId);
855804
}
856805

806+
/**
807+
* (DEPRECATED) Tracks an in-app open
808+
* @param messageId
809+
*/
810+
public void trackInAppOpen(@NonNull String messageId) {
811+
IterableLogger.printInfo();
812+
if (!checkSDKInitialization()) {
813+
return;
814+
}
815+
816+
apiClient.trackInAppOpen(messageId);
817+
}
818+
819+
/**
820+
* (DEPRECATED) Tracks an in-app open
821+
* @param messageId the ID of the in-app message
822+
* @param location where the in-app was opened
823+
*/
824+
void trackInAppOpen(@NonNull String messageId, @NonNull IterableInAppLocation location) {
825+
IterableLogger.printInfo();
826+
IterableInAppMessage message = getInAppManager().getMessageById(messageId);
827+
if (message != null) {
828+
trackInAppOpen(message, location);
829+
} else {
830+
IterableLogger.w(TAG, "trackInAppOpen: could not find an in-app message with ID: " + messageId);
831+
}
832+
}
833+
834+
/**
835+
* (DEPRECATED) Tracks when a link inside an in-app is clicked
836+
* @param messageId the ID of the in-app message
837+
* @param clickedUrl the URL of the clicked link
838+
* @param location where the in-app was opened
839+
*/
840+
void trackInAppClick(@NonNull String messageId, @NonNull String clickedUrl, @NonNull IterableInAppLocation location) {
841+
IterableLogger.printInfo();
842+
IterableInAppMessage message = getInAppManager().getMessageById(messageId);
843+
if (message != null) {
844+
trackInAppClick(message, clickedUrl, location);
845+
} else {
846+
trackInAppClick(messageId, clickedUrl);
847+
}
848+
}
849+
850+
/**
851+
* (DEPRECATED) Tracks when a link inside an in-app is clicked
852+
* @param messageId the ID of the in-app message
853+
* @param clickedUrl the URL of the clicked link
854+
*/
855+
public void trackInAppClick(@NonNull String messageId, @NonNull String clickedUrl) {
856+
if (!checkSDKInitialization()) {
857+
return;
858+
}
859+
860+
apiClient.trackInAppClick(messageId, clickedUrl);
861+
}
862+
863+
/**
864+
* (DEPRECATED) Tracks when an in-app has been closed
865+
* @param messageId the ID of the in-app message
866+
* @param clickedURL the URL of the clicked link
867+
* @param closeAction the method of how the in-app was closed
868+
* @param clickLocation where the in-app was closed
869+
*/
870+
void trackInAppClose(@NonNull String messageId, @NonNull String clickedURL, @NonNull IterableInAppCloseAction closeAction, @NonNull IterableInAppLocation clickLocation) {
871+
IterableInAppMessage message = getInAppManager().getMessageById(messageId);
872+
if (message != null) {
873+
trackInAppClose(message, clickedURL, closeAction, clickLocation);
874+
IterableLogger.printInfo();
875+
} else {
876+
IterableLogger.w(TAG, "trackInAppClose: could not find an in-app message with ID: " + messageId);
877+
}
878+
}
879+
857880
//---------------------------------------------------------------------------------------
858881
//endregion
859882

iterableapi/src/main/java/com/iterable/iterableapi/IterableApiClient.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,21 +275,23 @@ public void trackInAppClick(@NonNull IterableInAppMessage message, @NonNull Stri
275275
}
276276
}
277277

278-
void trackInAppClose(@NonNull IterableInAppMessage message, @NonNull String clickedURL, @NonNull IterableInAppCloseAction closeAction, @NonNull IterableInAppLocation clickLocation, @Nullable String inboxSessionId) {
278+
void trackInAppClose(@NonNull IterableInAppMessage message, @Nullable String clickedURL, @NonNull IterableInAppCloseAction closeAction, @NonNull IterableInAppLocation clickLocation, @Nullable String inboxSessionId) {
279279
JSONObject requestJSON = new JSONObject();
280280

281281
try {
282282
addEmailOrUserIdToJson(requestJSON);
283-
requestJSON.put(IterableConstants.KEY_EMAIL, authProvider.getEmail());
284-
requestJSON.put(IterableConstants.KEY_USER_ID, authProvider.getUserId());
283+
// requestJSON.put(IterableConstants.KEY_EMAIL, authProvider.getEmail()); // not needed due to addEmailOrUserIdToJson(requestJSON)?
284+
// requestJSON.put(IterableConstants.KEY_USER_ID, authProvider.getUserId()); // not needed due to addEmailOrUserIdToJson(requestJSON)?
285285
requestJSON.put(IterableConstants.KEY_MESSAGE_ID, message.getMessageId());
286-
requestJSON.put(IterableConstants.ITERABLE_IN_APP_CLICKED_URL, clickedURL);
286+
requestJSON.putOpt(IterableConstants.ITERABLE_IN_APP_CLICKED_URL, clickedURL);
287287
requestJSON.put(IterableConstants.ITERABLE_IN_APP_CLOSE_ACTION, closeAction.toString());
288288
requestJSON.put(IterableConstants.KEY_MESSAGE_CONTEXT, getInAppMessageContext(message, clickLocation));
289289
requestJSON.put(IterableConstants.KEY_DEVICE_INFO, getDeviceInfoJson());
290+
290291
if (clickLocation == IterableInAppLocation.INBOX) {
291292
addInboxSessionID(requestJSON, inboxSessionId);
292293
}
294+
293295
sendPostRequest(IterableConstants.ENDPOINT_TRACK_INAPP_CLOSE, requestJSON);
294296
} catch (JSONException e) {
295297
e.printStackTrace();

0 commit comments

Comments
 (0)