From 792455f19bd6d23a5481343e400270e08a21f4e7 Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Wed, 18 Jun 2025 18:25:02 +0300 Subject: [PATCH 1/6] support plugin inbound webview --- src/control/content/app.js | 41 +++++++++++------- src/control/content/index.html | 67 +++++++++++++++++++++-------- src/resources/external-browser.jpg | Bin 0 -> 12327 bytes src/resources/native-webview.jpg | Bin 0 -> 12452 bytes src/resources/popup-window.jpg | Bin 0 -> 12341 bytes src/widget/widget.js | 37 +++++++++------- 6 files changed, 97 insertions(+), 48 deletions(-) create mode 100644 src/resources/external-browser.jpg create mode 100644 src/resources/native-webview.jpg create mode 100644 src/resources/popup-window.jpg diff --git a/src/control/content/app.js b/src/control/content/app.js index 6c7bdce..5723fab 100644 --- a/src/control/content/app.js +++ b/src/control/content/app.js @@ -14,6 +14,11 @@ EXTERNAL_BROWSER: 'External browser' }; + $scope.viewSupType = { + IFRAME: 'iFrame', + NATIVE_WEBVIEW: 'Native webview' + }; + buildfire.datastore.get(function(err, result) { if (err) return console.error('Error: ', err); @@ -32,11 +37,17 @@ $scope.data.content.view = $scope.viewType.IN_APP_POPUP; } } + + // Backward compatibility: If viewType.NATIVE_IN_APP was selected before, default to viewSupType.IFRAME + if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSupType) { + $scope.data.content.viewSupType = $scope.viewSupType.IFRAME; + } } else { $scope.data = { content: { url: '', - view: $scope.viewType.IN_APP_POPUP + view: $scope.viewType.IN_APP_POPUP, + viewSupType: null // Initialize viewSupType } }; } @@ -118,22 +129,22 @@ }; $scope.changeViewType = function() { - dataChanged = true; - - if ($scope.frmMain.$invalid) return; + dataChanged = true; + + if ($scope.frmMain.$invalid) return; - var data = $scope.data; + var data = $scope.data; - if (data.content.openInApp != undefined) { - data.content.openInApp = null; - } - buildfire.datastore.save(data, function(err, result) { - if (err || !result) { - $log.error('Error saving the widget details: ', err); - } else { - $log.info('Widget details saved'); - } - }); + if (data.content.openInApp != undefined) { + data.content.openInApp = null; + } + buildfire.datastore.save(data, function(err, result) { + if (err || !result) { + $log.error('Error saving the widget details: ', err); + } else { + $log.info('Widget details saved'); + } + }); }; $scope.openMethodChanged = function() { diff --git a/src/control/content/index.html b/src/control/content/index.html index 78945f5..4985691 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -24,6 +24,16 @@ color: var(--c-warning); background-color: var(--c-gray1); } + .notes { + padding: 12px 20px; + margin-top: 15px; + margin-bottom: 15px; + background: #F5F5F5; + } + .notes .bold { + font-weight: bold; + margin-top: 20px + }
+
+ Native Webview Preview + Popup Window Preview + External Browser Preview +
-

- Some websites may not function properly in the in-feature WebView due to Apple's restrictions on cross-origin iframes, which can affect login and state management, or due to internal policies of certain sites like Google and Amazon that prevent them from being displayed in the app’s native component. If your web page does not appear or work as expected, we recommend using one of the alternative methods available. -

+
+
+ + +
+
+ + +
+
+
+ Some websites may not work correctly when opened inside the app, especially in the built-in browser view. This is often due to Apple’s security rules or website settings from companies like Google and Amazon that block their pages from being shown in this way. If your webpage doesn’t load or work as expected, we recommend trying one of the other viewing options available. +
+
+ Native Webview is a new feature that works around iFrame issues. If the iFrame option isn’t working, try using Native Webview instead. +
-
- -

Note 1: For the best user experience, link to - mobile optimized content.
(Disclaimer: Some websites will show - mobile version of site only on mobile devices.)

- -

Note 2: If you are taking payments through - this web page, you must open the the URL outside of the app or the app - will get rejected by Apple in the submission review process.

- -

Note 3: It is best to use secure websites (Https) some operating systems require it.

- -

Hint: If you are taking payments, use your - app or content DeepLink URL to redirect back to the app after a payment - is made.

+
+
For the best experience, link to mobile-optimized and secure (HTTPS) content. If your webpage includes payment processing, it must open outside of the app—otherwise, Apple may reject your app during review. Also, be aware that some websites only display their mobile layout on actual mobile devices.
+
Note: If you’re accepting payments, use a Deep Link to redirect users back into your app after the transaction is complete.
+
+
diff --git a/src/resources/external-browser.jpg b/src/resources/external-browser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..29a46cb998abf944f14913416ec5ea1116f75cd2 GIT binary patch literal 12327 zcmXwfQ?Mw^&g`;n+qP|+d+lZ0wr$(CZQHhO`|j`D`ZHD2olYvr(>$aG004l%#L3-G z-^JVn;Gg}6*5)RR*5>*qvVx34|D*?NV<-LpV*iZ7%*e{&|5E?}J99&)|KtCmmAS$H zm4UM}ce4Ip4DjELXKrO{_@5^N008*!{C5KYVgUfq!~WwG=H@p4>;1n7)<4G>=)dHD zIr=UPjKa27w*PBsVQ%MO_fMBLw==Z;hbZQbcE3!|_n;+rP@N0APOqBy@8-YyJOX|LosjAb>!DApfR9wKmds zLIQw-!Z0v)5(WWb!9rmA(iX7-uph+{*cLA&F|UwHV?u6-eaX0pHs@fA`=Vj0{KD&o z@UUh%!I*!>_v&;_P52`J`f`PZy`1#y(ieYlv9AX+5rBu|QR!xY80I>g0v#J(dZ`>I z+Dhy~G5{=Y+G$-YeB(vz@R04=D!z6JI{7hq zNKT(_VX6sVhb-&iU^c`Uas&9#^Cq@ykN@Z(bJM(dia__HAWwMj*9v&_LvB#W;5iC| z$>M}ZgUJ_E`{W&Q`p(7u@f|O3Wgj{CnWuN@dbqxcB;mtl4yiDjL{4s=kBWafQ01wO zc`>Pt`Jfp+ju~5aKvvR z*gY4kfNOc?KtZ$IZ=v`@xc3KKB&`FkWbCOex8HkM3J(`yxvhz)AD=RKoGtwdic{~y zFCavBh-uU`$1|pk9hPdK2L0&DY+sZyJ?~mel_DGfuQ3tG?+Me5P!I9!;F!&jul#oK zNQeUmvO)xt4;<7>_$$2ZaD2RcI@XQH9Vq)Jw?%pN3)^NLosij2?Lwx?855-Oif>(d zMQXP|S|7yEF&vRCyWrJpqYF<&CqZn58lB(u-bqS3(HKxR1>0?C(~SOq>Sq zxsm;wZiKr!jP1rbG<9)zX8dMD+D;1|`038#j4Nx~FH;DB$b6n>no-K-4%(~WWW9E4 z>2owhK{uoHN=xl%(BIz;SV9LZ#)6qta=ZiNOEIE~^!8Jmp8oE=6oNXZT_u7OY8iqV zYCj4{Xzt}g4~HK3XP(98pg-!?Fr^xyE40D)gZ80N1mkd1>uaGD_a_YYTaM_{&OKz8 z@A|vPTU@Ql0lco?c%j2sKpe3`x!H@0n_U(CWaVcR8SJI(tBu@J(xXuqSW8#Ov<3+? zJB(8k_8NA7AgMM<8(M`%HK)BREE~+4kTf+fMv~UQ!tk_xRzH~sGi2c$P1Kt`Da5cz zkG}v9jBZVH)Gy`&2WAKkjc{hEQ_C)Vw!YOLqc5SHb!$jL01HdruUsAc3xNy|PEA9k zO{JGya#aquFht7nN6 zLOaGWPeSJ?N<(1Fe7l0{Jh$3Rue@7y_TLR$YoF%WI~2v4XWB0cz~J&E2IRcILvDEa zORL&XLJ4<4funrXZh(@KKsTtSNe~D>RTIB#LOyHno!yh?WDXw~T$69HFHJCAB+6BK zm`zGKs|;MkRh*97ff4{9xE!h1w2<*Ot-DzD8aNoeKZ#Y1Wi%$=OKGA}MXC;K$ge4Z z{7yl0ZYDtDV3l0NGJ>?%^i-zrqQ2D8*UUFoWrdnml>B7~O`VK2=G!?N@?IHp;XRp< z>yO~{Nu~nqgIWyWVshqU^I158X{{Nt{OV7epCAr)>n_8-=5Fxs!QT_NS5{yfYI}W1hc-TlXaB>~DOt)!)o`kGF?hu}GI(n(7-S zi&BOrcgI-ViHng*sEgj9riJS#cg@o2R_%8EJn4)tryP%)X${byKUr-GinGaZcms6_aBe3^A6GI)Kfw zX1!}z%l=Bk0O?fHLmOl`^-T76VTsI^uh%2qQ704t)>+X-vizyKv1A>8MqEB|(ZoL7 z$)@Z#b=oVqmP1B5CznM;&mvVoJ>fa>n2;jbkqw#u=4LH|yWSAJSJ18&R8I0Le5&;N z9TEK|IBhmG#M>P<)%8;a(+S}Vkg_uPt#sd7_)J+ZB()# zE9`%3u_#5Pq@vrF-2tyK3dtN%>S`Z7xnL z5%QqNLBJtp(B|94^A#owu@3Wzixty&{dLZ{dL=`>nE0VuN=Zlo!`DDjiO{5Ph**&C?7(b6iX>U2#}SVZpw_$3c~8w%Dsbb@Cll!(I< z4x)oB#dkI3g?N`q4hq-Cc&hBFS*|!nzUna|a@A_Ro7(Io$IRB1+M;Qw_#t%SaSDJ~ zi1^%sLyssY@SD3!y~ve1;3gH+m3&Lac`)ru7?7&e>JKA`1BHl$kLQwM`wd`~%)@Id zNS(3=mxwK=Rd9j^n-SA)nMh5vLLB!rn*jY2Ym)8Xz02^R3cE210;}ozT>u(q#4!cD zDNIacXqzyxIgob@48`d-pLrtwT2lo8o0R@djfl2~HCl&i6kkexwFWxBc=c`$G?AV^ zD(`N(Z-}R5(e*V&VM33*Xl}4K-Z7}o#I>p&PvBCzQ?6h~*LYQ&3W@iB2yde9ABy;& zeY)vgiW9?aAAw`P6DwlcsVdntl{uTpz!i)QSB9W0L=pvuF4x`tN17fL^7u~+F2aXwLnfPQx zU1&&bZ2P_73Z$(`W0bt>CrXW49GU)B4V3^qE?E|KIm>|@&i3V@794zNNmcUe=Cma< zJbe>Ofnr2$4jryp(KXX*m0CgRTE-c^K|FsC2zpg0L|gW8KcV_PEowi$LY%>;tYEr(+(wAHpU= zD#S~ZjBj`ty062sIK9o@4@-nhMJ-mB7aLN_@sp0$H8fPFuDAY6X-K(#aE0S2UWa9~ zUFaqw(thc*_|PM)mtaZN-+UIR4+eDhPMdhofjy6aLF~r4OfVCPNzeByihd7)s1IXN z?FPZ>#tdJS*8frF6!lwTiLR#DGDq>z8KJE~8C78Y#BPF(e?9wfP=bnHvF-B#8n#jh zbRF!KXv|)f=E{N=^IGk!l1EhztM8P09Ih>&aQOR4;zs?dIrsbX>wgzB-PzXk0^39N zkxBftqZkIh6#RVwzQ6n?mYT+VOJ}~F^mcO(r#S!H(C6xrOyq1;v&>LUlVl_*tqT1u zD)M4%l-um_@_;%^n4ZjsDdU|cWz&TD%j=pBzsGkJiT~qSzjXf5q>}oA1kR%@YT|kYyY5OJR&BX;go38=>M~f|ht7k+6&Z zh&GDJ^?OKyCS+FK>KT!FooBB0{CyIf-NXVRQn<{@a#2?U0hk2&Tg3OJ;j z02ARi61NxdP{uXD^LvC(ndKLl4ef8iMba!{Q#pz8kqN{BJ2$a0+U;m%%--1te+?k} z`oZZ1&o2$k&**9(-(b%!|7As!h2Tr*NeY!G>j$*IaRC{BG z*5`oCm0C5l;iptKLN8c&14Ot@K-ns5dG=N4MY?jlXC`0ShtSHP;tAibX+V}%L3jGJ zLfNXG1|Nn~U_B0ifN;-3rRf$r@I(9ec^ZMUOd^2<5s4m?=yF(im^5tXjYLib`dNai=}kg06hUi?wRI zwXd#vP_s^GgIP3kqQeJVo~+QS1RX7ow;M!GRD&83GESOV`&Rv)(oLU6)IJOlT^gY; z$dmfGBY8?%Fa;RTGohZ}o7ksD$!LYFYF2^#^Ikc0#meV+KY(UvH)3ixyO(k)N>4mS z&T)pxZ$yyfT_iFFt#(16K%S^vT>g6rhrY4Arko1MGFx>(@z8*L(~L%7v6r|`N2c^) zE$SQZ5x_g+Yj5a-WQt+V!A02*Fb{5p?3C!8niKAb6K5>M78H+lZ3zqIa6>bK=&tps})gs*p`xlTfzSyiZ2l1H|ZE}Ybu@1~h9jkb2T5xpeXlS4q zOfrOGXCvrGj(eFiCjcC^t2AWq^@d<`a}uuMTi{ZThOQ{uKdHs5G_tS}!?orH&HF1& zaPvygaGG9PFB57FF$rsJQWD4N`*R8T4{b%-P+ea;*|_g~PxkC?<2mD}E$ea>25IO0 zNH<3CY|iFfuM&n+knz7kh-nc90|WKup2ujQ&w!`LPp$l{DiV8woDe+9NWb$7TFedJ zqV$Ccy9N?A+@|5;DF6q;yX@bfi`G!+ugApkSE;R*#wj$S$?>_U6+wSv1@$QwTfD;P zk1=e@2Z$F0_B>A2qH55@$(OfZTEDHF4z66L%!+fYrexJCSQx;A_>d9 z+le&U#y4P(cmdcBIjH5ssULRKZM^mG0i5fE%$y}7i57gDVOq1V8(x{BYtq(OCRJ&5aLs7^W;WlP>v8lBnkIK-VGt03 zQFQUbD#i!<$JF8_G;HVkVP0JjvG|H}TuQp#PO;@*Lro+i zlp-rID;1d|1u1_#Auf1eatmZXsJcu!QtA-T{5U6ZSn4DotU1LziyyLauzL8w^b?Ga z%4j~<6@K7qgT;nP5R5;^W|b9ULF&%iuG%Y}xeQgHzIh|irC4|N-%b=@D@F+;^0b=W(bGkvB8ZfV7m5~)2+&nk9V~}SlS3- z@?uL_63!ISoGUP0s*GmW-NiLtbSTjM|KA$Z%LI~4^x8kE$+4qh$ z-?ZChPlQ&x61&U^P4-G;jrOhCY?2qX%QWoFRu^2oS7@H$QLzd5M8ib2>o&612A(rl zS#aGWvKQX#*g|0#ujJbKIb5K5UK|6tS+`rF?C|o#Qhl`SNq~A`4 z^4O^JPvM1@w5!YOFz|_a|E4pnS?#wtAW zrkbRo`drrFH&$R*qbiV$C+Rqr5=uHJEvX~7GGWIVlnJ_;_=B0hn!kUcav>~-<^A&+ z7zXyoT97Z8-rdvf_{}t7$Ad>COC4*-ks5W{vY}QEhR&I2tJw)BW}{yqUXe)L<`tK;joV4c?C#oeN%WKL?vRxps zW)N?c5RmAB?n%gBSct=LiYzxZ6uvUukV&2Ac|~EHy1-t)s$R_oP9>#qQufn>S1rlG zX_yE=RULOt(Ns2wO#hzMILhCxiIA8oc;;O@j?!xjSa?_8jt5>^OH->vkUM1}`@H8F zkAMhl^c5BH&5ujouSW6AudhDRSp=%zopx#3>D)*Kc(>n*1AZ#Wn=JFkS*KNH5SyKJRS ze=iwTisf{KmJi9sltr7up%gfN@qPl+fB){Bo6JZTPh!A!X3(fcps%+mo?t7%iEJeV z%$W|{4Sj)J$6f~9x%1$fa(xa#^I6S<)JUh-q?N1kme+J{Ls|3d?ac_?HstIvuy#*68=Ues?}>LrY8gbHpHR;q?yz|kg!R!Dj&&vRbS^s!@Q z5I21DG%hVWjSlYT=PzY7Em<(BQGbd_G22`Yg&E7i@YK8cDVg!YW-z)4Zd-A7Ht}Z~uCtVk1r`vO<2-?ubHZJFKB<8u_H9$? ztE&=QtS_b`F%}Dn!q;jma=XlyPQfWsnd(KNUv4Bsy7yuY*o_bA3Q%-H=g#xAWHsqK zxL3?!Tj!0pB=}(asECIAx=y~&o!D)3P zR3J0_Gj&QUzkt+}<--12M$R>oL6OkG1@?(!h`FW>`sGR*eDe}cl$T&SbKx^tWMX=5y`eDe`$>gnq|$qQrWbX zgJ|IXBKaYbAwn&|ke+{H4gl$;I%s5xhw@5unhhMbnhgV5Pj(n592^{DnGkW7=sFgu zwjw)-LoPD@vyyP;Z1XPo=*i(9QD;5i`ci*)a?pGxg?D+h>Wd>h>zTkb{OUhW?({5; zmoPYH#!P!!m-3mTSC7hXoyqZyv}aR=Y7+Mem@42&^bK@5qGQ%=M!Yx`#N&c0`P)$= z>YGhQD`JYi&iG0j=ntxhFVX`@(!=2?f&;hjY#0;?4^%%9Rz>T)QD~p>O{)EZt~az7 zctVs(t$$kghbR+WX3c#dDPFEVGi43Nj4iYKIvJD9t5-7ex@4wN6*s69a^2j8yvo*$ z=0_B47H(vo(7sjInJe_5n~_OF!abbUR3fdV}WHy^+g z<&PBamiT=25zocuw(`&Rd!$oss0!c10LjrzLa26W% zG#7iK(8it}7QDtKMt%2`UQ^OL_>+k}{hg44KL@tV^ydrUK03rdJn)Z)GrVbA0@Cds z-W!1tO0}VA%@2EzrC71@G%l%yu$mvEl7CsrVGu}KF1qhcL|tj2dJN~*$?o*OJo{k^}ONT1C&sS1k5oYT^pJEw=l6@u+;*Egj-t= zN;g`xzVa3&rdmXq#%Ii?3plh3*FRQ$OA_fJbZguFb=4xzQGbytVQEI_GZ1`}*VI$Y zVVCm|>Gl=HOI8dUX2zc0DraQdQpe(X`Qhj&K&L~?;wehGzgM9s_*3_8=5#@K}QTT|!dEiov4}JhG zv=0}XIo>q`0Mn?F3Te@>c=eY26c;z*3hfw@3%4KZ6_@{YH2o@A$topd3U=C7#nw=d zJ6>kLY0EoWh(Ra2;4?K~i%$UafU8-T0F1@~)>-A@%C(0L1XVf4J*rpThlgwUXbFs! zRAOudMr-@q17p z&?g~#8=E0M>EkT}8hhpDJGiTLZJT;7cZJ>tygR zx>WPk(TY&BTv;FSslFvAY@@JBowpTkIbd;4-r?Ju z9--`~NP+kh%E9QI>|yRM4AU=pEvk4rJKBCyUF9aR-Hcu-`G?LJPj)bM&( z0xqVTaZH_n0D=zpcl;!BB}5A&S40t6;qnfx$z$Vy%^Ww+_R)T|W$rOn9CGj2GMt1z zZ#>fX{^O^Bh)=q0;@3lQ3xz-;4kNV^RLCl$ZKuR2>;h}-AIzpUI?|yLSMKAvL2xCh z2enWszXrqyFoF`jW|RP5xC;6qG3&k&pVDK!xHapgr~o4UF7wVGe3|H)xft94I+T`? zse&W>s_UE=9|ITP{>?HwkQV=5_t)A`(LIOBK@*9fWFae?XDLM1mjzSk)9a@JG{&v5 zIU1G=db(GGA~MaDK2O+pt(C~c4ztqYq__fF*LR?N0s|=e?4k$>v!}DHxh!ZQDdb5s z&{alHc$sM-CoI97=xb;K_fIteE=J8;0Rjc(tOvy~_K?;T z1w+u^yR5v?dE3!XJeV6W9?YXx&vz*%#hHuH3i-eR)7Vz{pq&M9p1?4T16OI1cH&Vi z=&)s4Ov}EKw@x9XcU?zSS(mYz!}-{q!l|jBOdq$0m2dWUpGo<6Wy>Hc| zTP%w%Q31SI7Pe%Zb7Q7NZU6jrQrQB@KVzfC~Gx(;tu>D`1#yJqn=7@K{POeAdkt(J5~ZyQe)p_FbK)~G^8S8{7n%KpV(-> zYLh(|{6Urr+FGHtQ6N}LScP*>`AH{!stCyZ6G&fh5>cG&a9N;(G=#wwJ3F$xX5C0{ zLq;j&S9P*>EQXfIP|5?pIAmmhMgXxPjUAr7Evu;A>IQh#E|eAtWe8S`2A2jjcxu~J z_B8u)pmx4=)y$a8GnelRR2N=CwE-575n9oBj{zpTLT1k(=+$heGasoNAeh05i@5kI z#}+MOz~s_-iBH~I7botb0L8*TW(hfxf%1b2+lcig>SDP-wB)AaJCAr-_BcN#1G?_{csq*Jfvv&?dYbIgao|PG>dx#fhri-gNp`vqKI+W2{8?Rs zjX9rDAU=3q_wMnFm5m&bI+KR0&Tzs|I{5v%>)3=(cxr#_Pf6dKBX zztEV-p(7nMugvNg{ZIsFRAOcKp5Fi9D2oB89CeHuSNZMT5Pbx#YIoFtFzCOgzE5pC zpL))<>*6uL1bj$%LAXqhscf!8ryHc<&q>q?A0#Nv${OsQef* zuNekcyBnZnk&Gq>;z&kz_EmL``0f&!Nw&0#sbe3IA-cn>QZFn7W*8qRJU4COq>b(K z4D|v^pO=i@EifnZDmhjS*#+IQNZFEm=>4f5>+HrF0OrTDg2flY4}F!@Y$Q6WsZF@IeF z^O#qL@>XJ(37{kl4SAhn#!wK*cM*c+X38a63RHPWYCkU?pdh^oLdNd43~exG$Sw&ATUabU#sO7 zEjV;Ok`MYhsf{G35>FX263ZTq+B^EC)IfQy%_ihw>Zj(e7wiG{#~9*Z|un1>1LDDHkCbXl9dG8%IOqq znlBqTp*?~<^B8(Di?AORBZES`5b0%~_)T56jfX&23o$H*G)k6&ySd32b)NT&M6)f} z&d{5B*;HVKD)}%qRn_lm)zdNhzim0mmK53pB_uk1L9bs^8S_ z6F}dytGE=`nakOv)+&BIz?(R4Al|eWn`u&n02*c5m1W%YaNfx&-Ha@LxSwzPUsL3R z-JGD@F3e?fulr2+9fJM%-VI0i#5T#I70E~^^Zl$5wXp#MgakY#kP06y*)IeilLx=b zDtOlTgwj0lSxw6A@_93__sgCfQ*G{-9Un$qu#?q5An=)__w)==ZizVF7Qmzd^#e7D zlUHbWCgT0}hF1D!4z0~w!lrImkRuuOxWWMHZ!cL<{pBFElIW{o(&{sVsnqQ^o$O>A zAzOkn4_1ZLQC-`40kE$W(j-rK1kJ+5xWB?EnolQbOhe7pAA^)y^PkAprtB?XWIrA> z8kW{ePZLa;mY2)Yfc-?PfN*G?Gnj^mC>6$QxmHve3FX5|FrE_h*MXTg{C*@X2DVj3 z^MB_up-i?X#M}uVwlveXlWTah&Yq13an`LvRvDP&n2q%R-kJ`hlZ7~tpJ+Z34OZ2M zg;Rozy2%$0XMDvKfQh;cATa3S1n4}xa?#OhN zlrta!z-FV_GT>&sZvzaPx#BnX0#W z0hAy{^5!;$UF@kfya9So)+$9sI zimQvWwan-U*DR~)^UP27DYZ-cIix~?UD2cGYleq@timlKvWa-2#;EFs+;RR1HPfC_ z=1#*|yyviRgySXixd)YlgA2fx)%ycRxy|Z>!kg|@=^=-4&cKVEYaFW=ws?fi%@|rp zURJ8F0mBch+pXBK*zcz&vPmPE1>-H?kLPPp8LWK1Dc}GBwDuDA;GF3IVc}B*{7aPq zO}PkinXe_2TCp~8*;u@vh8TE{mro&kM!brGI61+9D!x~yHKSTl724=Xk5+BmQEJy8 zg*fEc_Zd;&?j!?xecWWWFq=Q(-86t0B>U7pU-y*{&(je_X}0L3lhk4R>}pq-!PQH5 zG5H)w4M{)Io6LDo#N0g51YY&{$kI?rLG>g7fgwge81W5{@2?agiT8{L2U24b=60NkEc1J>Jv74nTg@6HK`7WJz-6z6n zmI&;Cr-;rqGj&^Iws-Jqy(7Wi+vW!UeuTwRjhf0HE~}}c2K{)ydP+<`bHJKwt*3Xi z*3tCPCQ`6CdU75;UOF7mMNc9MPk$QEixM*z#Ak4g9dv5?5>1K zCW~jhQn;43+5@mW3QIi#NPS#phhvWT=WCfGE+yvEm>)egl;`f{<06;4Q%Cjeu(c|Y z@c1zCkQV$+UJU6CcDP_alk3y-i5v{Nv%e!Kawq>fnUlU&vb_sg401`kqEvFA!D4*} zY9-dTrW7;CPYGY64WAo)2{|F!xMPeX_+bR%gF(`XqG5~jl}cXNjI(1%)56hx`jzhu z^%^<=@l1ug_Q_AFV-QrLbFiZ|H4g9ymo`%WF%<(Z>X7oCmVlU?yhTeV(;I}!nS^XD z^z5)dpZ)#l&-c@*l=*rDoh3EIm!P293<&PV(y;~xQ9-75$zk|aAVSc% zmM&Sa>%=QIZs+=o{13-B6P23TQI@Zno8Sr7zkkJ(>O&wZvy#iZR7FZM(&bSz?xQAg z%m{j|^?=rywiM(Ubbqp#Cs;|)|pulzmieG9Z`pg%DsbL>_O%MCAHB62d rj!57f#&hY=vIFIRi6mdCaOuwcs;WnE+!cf^n1cM?n*tz)fdu{^I=8E( literal 0 HcmV?d00001 diff --git a/src/resources/native-webview.jpg b/src/resources/native-webview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..faf34fa8200b4ff7d91e5593f824324dd3af9e5c GIT binary patch literal 12452 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 MXU*^<8|vi$1IXFfuK)l5 literal 0 HcmV?d00001 diff --git a/src/resources/popup-window.jpg b/src/resources/popup-window.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f125fea9fb12bfd726b7904f08c7cddfc2698f6 GIT binary patch literal 12341 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 { flags.isWeb = (buildfire.context.device.platform == 'web'); flags.shouldOpenInApp = (content.view == viewOptions.NATIVE); + flags.shouldOpenPluginInboundWebview = (content.view == viewOptions.NATIVE && content.viewSupType == viewOptions.NATIVE_WEBVIEW); flags.isLiveMode = buildfire.context.liveMode; flags.isNotCP = (flags.isLiveMode === 1 || !flags.isWeb); flags.requiresSSO = content.url && content.url.indexOf('{{SSO}}') > 0; @@ -20,7 +22,7 @@ const setFlags = (content) => { const render = (content) => { - const handleWindow = (openWindow, displayIniFrame, displaySuccessMessage) => { + const handleWindow = ({openWindow, displayIniFrame, shouldOpenPluginInboundWebview, displaySuccessMessage}) => { if(openWindow){ setTimeout(() => buildfire.navigation.goBack(), 750); @@ -34,21 +36,25 @@ const render = (content) => { } else buildfire.navigation.openWindow(content.url, "_system"); - - return; - } - if(displayIniFrame){ - renderiFrame({url: content.url, isIOS: flags.isIOS}); - return; - } - if(displaySuccessMessage){ + } else if (shouldOpenPluginInboundWebview) { if(flags.isWeb){ renderiFrame({url: content.url, isIOS: flags.isIOS}); return; + } else { + // Show the title bar and open the window + buildfire.appearance.titlebar.show(null, (err) => { + if (err) return console.error(err); + buildfire.navigation.openWindowWithOptions({url: content.url, target: "_plugin", windowFeatures: "pushToHistory=true"}); + }); + } + } else if(displayIniFrame){ + renderiFrame({url: content.url, isIOS: flags.isIOS}); + } else if(displaySuccessMessage){ + if(flags.isWeb){ + renderiFrame({url: content.url, isIOS: flags.isIOS}); } else { window.document.getElementById('successMessage').style.display = 'block'; window.document.getElementById('targetUrl').href = content.url; - return; } } @@ -59,26 +65,27 @@ const render = (content) => { setFlags(content); const displayIniFrame = flags.shouldOpenInApp; //on the device and open native const openWindow = flags.isNotCP && !flags.shouldOpenInApp; //on the device and open in pop up or native brow + const shouldOpenPluginInboundWebview = flags.isNotCP && flags.shouldOpenPluginInboundWebview; //on the device and open in webview const displaySuccessMessage = content.url && flags.isWeb && !flags.isLiveMode; if (flags.requiresSSO) { //This is an SSO webview with an access token buildfire.auth.getCurrentUser((err, result) => { if (result && result.SSO && result.SSO.accessToken) { content.url = formatSSO(content.url, JSON.stringify(result.SSO)); - handleWindow(openWindow, displayIniFrame, displaySuccessMessage); + handleWindow({openWindow, displayIniFrame, shouldOpenPluginInboundWebview, displaySuccessMessage}); } else{ if (result && result.oauthProfile && result.oauthProfile.accessToken) { content.url = formatOAuth(content.url, result.oauthProfile.accessToken); - handleWindow(openWindow, displayIniFrame, displaySuccessMessage); + handleWindow({openWindow, displayIniFrame, shouldOpenPluginInboundWebview, displaySuccessMessage}); } else{ - handleWindow(openWindow, displayIniFrame, displaySuccessMessage); + handleWindow({openWindow, displayIniFrame, shouldOpenPluginInboundWebview, displaySuccessMessage}); } } }); } else { //this is all other URLs, i.e. no SSO. - handleWindow(openWindow, displayIniFrame, displaySuccessMessage); + handleWindow({openWindow, displayIniFrame, shouldOpenPluginInboundWebview, displaySuccessMessage}); } }; From 590c58b49e4d36101986f797742e1e927a15ceff Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Wed, 18 Jun 2025 20:31:30 +0300 Subject: [PATCH 2/6] enhance style --- src/control/content/index.html | 35 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/control/content/index.html b/src/control/content/index.html index 4985691..a38116a 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -17,22 +17,19 @@ display: block !important; padding-bottom: 5px; } - p.info-note { - margin-top: 15px; - } - p.info-note.text-warning { - color: var(--c-warning); - background-color: var(--c-gray1); - } - .notes { + .note { padding: 12px 20px; margin-top: 15px; margin-bottom: 15px; background: #F5F5F5; } - .notes .bold { - font-weight: bold; - margin-top: 20px + .note .bold { + font-weight: 500; + } + .image-container img { + margin: 10px; + border-radius: 8px; + box-shadow: 0 0 8px 2px rgba(0,0,0,0.10); } @@ -83,7 +80,7 @@
-
+
-
+
-
+
-
- Some websites may not work correctly when opened inside the app, especially in the built-in browser view. This is often due to Apple’s security rules or website settings from companies like Google and Amazon that block their pages from being shown in this way. If your webpage doesn’t load or work as expected, we recommend trying one of the other viewing options available. +
+ Some websites may not work correctly when opened inside the app, especially in the built-in browser view. This is often due to Apple’s security rules or website settings from companies like Google and Amazon that block their pages from being shown in this way. If your webpage doesn’t load or work as expected, we recommend trying one of the other viewing options available.
-
+
Native Webview is a new feature that works around iFrame issues. If the iFrame option isn’t working, try using Native Webview instead.
@@ -136,9 +133,9 @@ name="viewType" ng-change="changeViewType()">
-
+
For the best experience, link to mobile-optimized and secure (HTTPS) content. If your webpage includes payment processing, it must open outside of the app—otherwise, Apple may reject your app during review. Also, be aware that some websites only display their mobile layout on actual mobile devices.
-
Note: If you’re accepting payments, use a Deep Link to redirect users back into your app after the transaction is complete.
+
Note: If you’re accepting payments, use a Deep Link to redirect users back into your app after the transaction is complete.
From 30685a717a18ed613960f0ba67aff06cd976a6a8 Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Mon, 23 Jun 2025 02:39:02 +0300 Subject: [PATCH 3/6] update native webview image --- src/control/content/index.html | 2 +- src/resources/native-webview.jpg | Bin 12452 -> 12101 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/control/content/index.html b/src/control/content/index.html index a38116a..69568e8 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -24,7 +24,7 @@ background: #F5F5F5; } .note .bold { - font-weight: 500; + font-weight: 600; } .image-container img { margin: 10px; diff --git a/src/resources/native-webview.jpg b/src/resources/native-webview.jpg index faf34fa8200b4ff7d91e5593f824324dd3af9e5c..3f8ad52071e62e92a8c8c11b63b907ec96dbf6b2 100644 GIT binary patch delta 11931 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 delta 12284 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 Date: Sun, 6 Jul 2025 20:30:23 +0300 Subject: [PATCH 4/6] add onReceivedBroadcast method to listen to webview hide or close event --- src/widget/index.html | 11 +++++++++++ src/widget/widget.js | 9 ++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/widget/index.html b/src/widget/index.html index 1727ddf..dc04d2b 100755 --- a/src/widget/index.html +++ b/src/widget/index.html @@ -29,6 +29,13 @@ .modal-header, .cancel-confirmation { display: none; } + #webviewReload { + display: none; + width: 100%; + height: 100%; + align-items: center; + justify-content: center; + } @@ -42,5 +49,9 @@

Success!

+ +
+

Click here to go reload

+
diff --git a/src/widget/widget.js b/src/widget/widget.js index b91a738..a11f382 100644 --- a/src/widget/widget.js +++ b/src/widget/widget.js @@ -44,7 +44,14 @@ const render = (content) => { // Show the title bar and open the window buildfire.appearance.titlebar.show(null, (err) => { if (err) return console.error(err); - buildfire.navigation.openWindowWithOptions({url: content.url, target: "_plugin", windowFeatures: "pushToHistory=true"}); + buildfire.navigation.openWindowWithOptions({url: content.url, target: "_plugin", windowFeatures: "pushToHistory=true"}); + buildfire.messaging.onReceivedBroadcast = (event) => { + if (event.message === 'webview hidden') { + document.getElementById('webviewReload').style.display = 'none'; + } else if (event.message === 'webview closed') { + document.getElementById('webviewReload').style.display = 'flex'; + } + }; }); } } else if(displayIniFrame){ From 9e8d94e9d31128b20cb5ce14912e1998b57d40bb Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Sun, 27 Jul 2025 23:30:27 +0300 Subject: [PATCH 5/6] reflect code review feedback --- src/control/content/app.js | 14 +++++++++----- src/control/content/index.html | 19 ++++++++++--------- src/widget/index.html | 2 +- src/widget/widget.js | 7 ++----- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/control/content/app.js b/src/control/content/app.js index 5723fab..eecf156 100644 --- a/src/control/content/app.js +++ b/src/control/content/app.js @@ -14,7 +14,7 @@ EXTERNAL_BROWSER: 'External browser' }; - $scope.viewSupType = { + $scope.viewSubtype = { IFRAME: 'iFrame', NATIVE_WEBVIEW: 'Native webview' }; @@ -38,16 +38,16 @@ } } - // Backward compatibility: If viewType.NATIVE_IN_APP was selected before, default to viewSupType.IFRAME - if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSupType) { - $scope.data.content.viewSupType = $scope.viewSupType.IFRAME; + // Backward compatibility: If viewType.NATIVE_IN_APP was selected before, default to viewSubtype.IFRAME + if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSubtype) { + $scope.data.content.viewSubtype = $scope.viewSubtype.IFRAME; } } else { $scope.data = { content: { url: '', view: $scope.viewType.IN_APP_POPUP, - viewSupType: null // Initialize viewSupType + viewSubtype: null // Initialize viewSubtype } }; } @@ -133,6 +133,10 @@ if ($scope.frmMain.$invalid) return; + if ($scope.data.content.view === $scope.viewType.NATIVE_IN_APP && !$scope.data.content.viewSubtype) { + $scope.data.content.viewSubtype = $scope.viewSubtype.IFRAME; + } + var data = $scope.data; if (data.content.openInApp != undefined) { diff --git a/src/control/content/index.html b/src/control/content/index.html index 69568e8..7e5eb0d 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -93,7 +93,7 @@ ng-if="data.content.view === viewType.EXTERNAL_BROWSER" ng-src="../../resources/external-browser.jpg" alt="External Browser Preview"> -
+
- +
- +
-
+
Some websites may not work correctly when opened inside the app, especially in the built-in browser view. This is often due to Apple’s security rules or website settings from companies like Google and Amazon that block their pages from being shown in this way. If your webpage doesn’t load or work as expected, we recommend trying one of the other viewing options available.
-
+
Native Webview is a new feature that works around iFrame issues. If the iFrame option isn’t working, try using Native Webview instead. +
Note: This feature will only work for apps with builds submitted to Apple App Store and Google Play Store after the 28, July 2025. For older builds the app will default to "In Popup Window" option.
Success!
-

Click here to go reload

+

Click here to reload

diff --git a/src/widget/widget.js b/src/widget/widget.js index a11f382..57340f3 100644 --- a/src/widget/widget.js +++ b/src/widget/widget.js @@ -13,7 +13,7 @@ const flags = {}; const setFlags = (content) => { flags.isWeb = (buildfire.context.device.platform == 'web'); flags.shouldOpenInApp = (content.view == viewOptions.NATIVE); - flags.shouldOpenPluginInboundWebview = (content.view == viewOptions.NATIVE && content.viewSupType == viewOptions.NATIVE_WEBVIEW); + flags.shouldOpenPluginInboundWebview = (content.view == viewOptions.NATIVE && content.viewSubtype == viewOptions.NATIVE_WEBVIEW); flags.isLiveMode = buildfire.context.liveMode; flags.isNotCP = (flags.isLiveMode === 1 || !flags.isWeb); flags.requiresSSO = content.url && content.url.indexOf('{{SSO}}') > 0; @@ -29,7 +29,6 @@ const render = (content) => { if(content.view === viewOptions.POPUP){ if(flags.isWeb){ renderiFrame({url: content.url, isIOS: flags.isIOS}); - return; } else { buildfire.navigation.openWindow(content.url, "_blank"); } @@ -39,12 +38,11 @@ const render = (content) => { } else if (shouldOpenPluginInboundWebview) { if(flags.isWeb){ renderiFrame({url: content.url, isIOS: flags.isIOS}); - return; } else { // Show the title bar and open the window buildfire.appearance.titlebar.show(null, (err) => { if (err) return console.error(err); - buildfire.navigation.openWindowWithOptions({url: content.url, target: "_plugin", windowFeatures: "pushToHistory=true"}); + buildfire.navigation.openWindow({url: content.url, target: "_plugin", windowFeatures: "pushToHistory=true"}); buildfire.messaging.onReceivedBroadcast = (event) => { if (event.message === 'webview hidden') { document.getElementById('webviewReload').style.display = 'none'; @@ -63,7 +61,6 @@ const render = (content) => { window.document.getElementById('successMessage').style.display = 'block'; window.document.getElementById('targetUrl').href = content.url; } - } }; From b5345cb893b1cea80276cc33f88fb4cdfde166ea Mon Sep 17 00:00:00 2001 From: ahasnawi <70672687+ahasnawi@users.noreply.github.com> Date: Mon, 4 Aug 2025 21:11:39 +0300 Subject: [PATCH 6/6] change the native webview realse time note --- src/control/content/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/control/content/index.html b/src/control/content/index.html index 7e5eb0d..4bf7081 100644 --- a/src/control/content/index.html +++ b/src/control/content/index.html @@ -126,7 +126,7 @@
Native Webview is a new feature that works around iFrame issues. If the iFrame option isn’t working, try using Native Webview instead. -
Note: This feature will only work for apps with builds submitted to Apple App Store and Google Play Store after the 28, July 2025. For older builds the app will default to "In Popup Window" option.
+
Note: This feature will only work for apps with builds submitted to Apple App Store and Google Play Store after the 5, August 2025. For older builds the app will default to "In Popup Window" option.