Skip to content

Commit 386aa03

Browse files
committed
Not increase redisplay count under fail IAM request
* If the IAM failed to retrieve html we shoudn't save as dismissed
1 parent 99c521e commit 386aa03

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/OSInAppMessageController.java

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -527,16 +527,24 @@ boolean isInAppMessageShowing() {
527527
* Called after an In-App message is closed and it's dismiss animation has completed
528528
*/
529529
void messageWasDismissed(@NonNull OSInAppMessage message) {
530+
messageWasDismissed(message, false);
531+
}
532+
533+
void messageWasDismissed(@NonNull OSInAppMessage message, boolean failed) {
530534
if (!message.isPreview) {
531535
dismissedMessages.add(message.messageId);
532-
OneSignalPrefs.saveStringSet(
533-
OneSignalPrefs.PREFS_ONESIGNAL,
534-
OneSignalPrefs.PREFS_OS_DISMISSED_IAMS,
535-
dismissedMessages);
536-
537-
// Don't keep track of last displayed time for a preview
538-
lastTimeInAppDismissed = new Date();
539-
persistInAppMessage(message);
536+
// If failed we will retry on next session
537+
if (!failed) {
538+
OneSignalPrefs.saveStringSet(
539+
OneSignalPrefs.PREFS_ONESIGNAL,
540+
OneSignalPrefs.PREFS_OS_DISMISSED_IAMS,
541+
dismissedMessages);
542+
543+
// Don't keep track of last displayed time for a preview
544+
lastTimeInAppDismissed = new Date();
545+
// Only increase IAM display quantity if IAM was truly displayed
546+
persistInAppMessage(message);
547+
}
540548
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "OSInAppMessageController messageWasDismissed dismissedMessages: " + dismissedMessages.toString());
541549
}
542550

@@ -634,7 +642,7 @@ void onFailure(int statusCode, String response, Throwable throwable) {
634642
if (!OSUtils.shouldRetryNetworkRequest(statusCode) || htmlNetworkRequestAttemptCount >= OSUtils.MAX_NETWORK_REQUEST_ATTEMPT_COUNT) {
635643
// Failure limit reached, reset
636644
htmlNetworkRequestAttemptCount = 0;
637-
messageWasDismissed(message);
645+
messageWasDismissed(message, true);
638646
return;
639647
}
640648

0 commit comments

Comments
 (0)