@@ -755,15 +755,9 @@ public void run() {
755
755
return "in_app_messages/" + message .messageId + "/variants/" + variantId + "/html?app_id=" + OneSignal .appId ;
756
756
}
757
757
758
- private void displayMessage (@ NonNull final OSInAppMessage message ) {
759
- if (!inAppMessagingEnabled ) {
760
- logger .verbose ("In app messaging is currently paused, in app messages will not be shown!" );
761
- return ;
762
- }
763
-
764
- inAppMessageShowing = true ;
758
+ private void getTagsForLiquidTemplating (@ NonNull final OSInAppMessage message , final boolean isPreview ) {
765
759
waitForTags = false ;
766
- if (message .getHasLiquid ()) {
760
+ if (isPreview || message .getHasLiquid ()) {
767
761
waitForTags = true ;
768
762
OneSignal .getTags (new OneSignal .OSGetTagsHandler () {
769
763
@ Override
@@ -773,13 +767,26 @@ public void tagsAvailable(JSONObject tags) {
773
767
userTagsString = tags .toString ();
774
768
}
775
769
if (pendingHTMLContent != null ) {
776
- OneSignal .getSessionManager ().onInAppMessageReceived (message .messageId );
770
+ if (!isPreview ) {
771
+ OneSignal .getSessionManager ().onInAppMessageReceived (message .messageId );
772
+ }
777
773
WebViewManager .showHTMLString (message , taggedHTMLString (pendingHTMLContent ));
778
774
pendingHTMLContent = null ;
779
775
}
780
776
}
781
777
});
782
778
}
779
+ }
780
+
781
+ private void displayMessage (@ NonNull final OSInAppMessage message ) {
782
+ if (!inAppMessagingEnabled ) {
783
+ logger .verbose ("In app messaging is currently paused, in app messages will not be shown!" );
784
+ return ;
785
+ }
786
+
787
+ inAppMessageShowing = true ;
788
+
789
+ getTagsForLiquidTemplating (message , false );
783
790
784
791
String htmlPath = htmlPathForMessage (message );
785
792
OneSignalRestClient .get (htmlPath , new ResponseHandler () {
@@ -838,6 +845,9 @@ String taggedHTMLString(@NonNull String untaggedString) {
838
845
void displayPreviewMessage (@ NonNull String previewUUID ) {
839
846
inAppMessageShowing = true ;
840
847
848
+ final OSInAppMessage message = new OSInAppMessage (true );
849
+ getTagsForLiquidTemplating (message , true );
850
+
841
851
String htmlPath = "in_app_messages/device_preview?preview_id=" + previewUUID + "&app_id=" + OneSignal .appId ;
842
852
OneSignalRestClient .get (htmlPath , new ResponseHandler () {
843
853
@ Override
@@ -853,12 +863,13 @@ void onSuccess(String response) {
853
863
JSONObject jsonResponse = new JSONObject (response );
854
864
String htmlStr = jsonResponse .getString ("html" );
855
865
856
- OSInAppMessage message = new OSInAppMessage (true );
857
-
858
866
double displayDuration = jsonResponse .optDouble ("display_duration" );
859
867
message .setDisplayDuration (displayDuration );
860
-
861
- WebViewManager .showHTMLString (message , htmlStr );
868
+ if (waitForTags ) {
869
+ pendingHTMLContent = htmlStr ;
870
+ return ;
871
+ }
872
+ WebViewManager .showHTMLString (message , taggedHTMLString (htmlStr ));
862
873
} catch (JSONException e ) {
863
874
e .printStackTrace ();
864
875
}
0 commit comments