1<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Fri Oct 02 2026 20:44:19 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="mistplay-business-8cad2c.webflow.io" data-wf-page="69fdff0afc1775799f2d210b" data-wf-site="67ae5a0c0c4e8738d0744c0d" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>The Pioneer of Rewarded: Mobile Game Advertising & App Loyalty Platform | Mistplay</title><meta content="Unlock play-and-earn for your game, app, or brand to drive new scale, engagement, and LTV for your business with Mistplay and LoyaltyPlay." name="description"/><meta content="The Pioneer of Rewarded: Mobile Game Advertising & App Loyalty Platform | Mistplay" property="og:title"/><meta content="Unlock play-and-earn for your game, app, or brand to drive new scale, engagement, and LTV for your business with Mistplay and LoyaltyPlay." property="og:description"/><meta content="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a05cccf94c272be77d45669_MistplayPreview.png" property="og:image"/><meta content="The Pioneer of Rewarded: Mobile Game Advertising & App Loyalty Platform | Mistplay" name="twitter:title"/><meta content="Unlock play-and-earn for your game, app, or brand to drive new scale, engagement, and LTV for your business with Mistplay and LoyaltyPlay." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a05cccf94c272be77d45669_MistplayPreview.png" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="6MbEn1VeLcjIMNEBw5sjNyOceAqBkUOVENjBV5fw_wc" name="google-site-verification"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/css/mistplay-business-8cad2c.webflow.shared.d4bf99687.css" rel="stylesheet" type="text/css" integrity="sha384-1L+ZaHz9657mPAvnTXd41IA98W6UA+mevVFS2FlTxLqC8Lu5XuGjuZHpMuO91OSB" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["Inconsolata:400,700","Hanken Grotesk:300,400,500,600,700","Poppins:300,400,500,600,700"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d07450e5_mistplay-favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d07450e7_mistplay-icon-square.jpg" rel="apple-touch-icon"/><link href="https://business.mistplay.com" rel="canonical"/> 2<!-- OneTrust Cookies Consent Notice start for business.mistplay.com -->
3<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="019edb69-973a-78c8-88b4-96303d4d33e5" ></script>
vendor: 1 bytes, line 3
3
4<script type="text/javascript"> 5function OptanonWrapper() { } 6</script>
6 7<!-- OneTrust Cookies Consent Notice end for business.mistplay.com --> 8 9<!--
9<script> 10 var _hsq = window._hsq = window._hsq || []; 11 _hsq.push(['setCookieDomain', '.business.mistplay.com']); 12</script>
vendor: 1 bytes, line 12
12
13<script> 14(function () { 15 var params = new URLSearchParams(window.location.search); 16 var utmKeys = [ 17 'utm_source', 'utm_medium', 'utm_campaign', 18 'utm_content', 'utm_term', 19 'gclid', 'fbclid' 20 ]; 21 var captured = {}; 22 utmKeys.forEach(function (k) { 23 var v = params.get(k); 24 if (v) captured[k] = v; 25 }); 26 if (Object.keys(captured).length === 0) return; 27 28 // Leading dot on domain makes the cookie visible on every subdomain of 29 // business.mistplay.com â the whole point of this fix. 30 var cookieBase = '; domain=.business.mistplay.com; path=/; SameSite=Lax'; 31 32 // First-touch attribution: only set if not already present. 90-day life. 33 // This preserves the ORIGINAL source across return visits. 34 if (!document.cookie.match(/(?:^|; )mp_utm_first=/)) { 35 document.cookie = 'mp_utm_first=' 36 + encodeURIComponent(JSON.stringify(captured)) 37 + cookieBase 38 + '; max-age=' + (60 * 60 * 24 * 90); 39 } 40 41 // Latest-touch attribution: overwrite on every UTM'd landing. 30-day life. 42 document.cookie = 'mp_utm_latest=' 43 + encodeURIComponent(JSON.stringify(captured)) 44 + cookieBase 45 + '; max-age=' + (60 * 60 * 24 * 30); 46 47 // Also push into HubSpot's own analytics event stream so Original Source 48 // Drill-Down 1/2 fill correctly even if hs-scripts.com misses the URL parse. 49 var _hsq = window._hsq = window._hsq || []; 50 _hsq.push(['setTrackedProperties', captured]); 51})(); 52</script>
52 --> 53 54<!-- __hstc --> 55 56 57<!-- Start of HubSpot Embed Code -->
58<script type="text/javascript" 59 id="hs-script-loader" 60 async defer 61 src="//js.hs-scripts.com/5886937.js"></script>
61 62<!-- End of HubSpot Embed Code --> 63 64
65<script>function initApollo(){var n=Math.random().toString(36).substring(7),o=document.createElement("script"); 66o.src="https://assets.apollo.io/micro/website-tracker/tracker.iife.js?nocache="+n,o.async=!0,o.defer=!0, 67o.onload=function(){window.trackingFunctions.onLoad({appId:"69fc85f23d7aae000dab5500"})}, 68document.head.appendChild(o)}initApollo();</script>
68 69 70<!-- Google tag (gtag.js) 2 -->
vendor: 64 bytes, lines 70-71
70 71<script async src="https://www.googletagmanager.com/gtag/js?id=
71G-BM836RQHT6
vendor: 12 bytes, line 71
71"></script>
72<script> 73
vendor: 134 bytes, lines 73-77
73window.dataLayer = window.dataLayer || []; 74 function gtag(){dataLayer.push(arguments);} 75 gtag('js', new Date()); 76 77 gtag('config', '
77G-BM836RQHT6
vendor: 4 bytes, line 77
77');
78</script>
78 79
80<script> 81 function redirectToPrimary() { 82 // Check if we're on a language subdomain 83 if (window.location.hostname.includes('.')) { 84 const parts = window.location.hostname.split('.'); 85 if (parts.length > 2) { 86 // We're on a subdomain, redirect to primary domain 87 const primaryDomain = parts.slice(-2).join('.'); 88 window.location.href = `https://business.${primaryDomain}${window.location.pathname}${window.location.search}`; 89 } 90 } 91 } 92</script>
92 93<!-- LinkedIn Insight Tag -->
94<script type="text/javascript"> 95_linkedin_partner_id = "5088370"; 96window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 97window._linkedin_data_partner_ids.push(_linkedin_partner_id); 98</script>
98<script type="text/javascript"> 99(function(l) { 100if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; 101window.lintrk.q=[]} 102var s = document.getElementsByTagName("script")[0]; 103var b = document.createElement("script"); 104b.type = "text/javascript";b.async = true; 105b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 106s.parentNode.insertBefore(b, s);})(window.lintrk); 107</script>
107 108<noscript> 109<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=5088370&fmt=gif" /> 110</noscript> 111 112<meta name="msvalidate.01" content="D71F2E86B9968B1D38FDDDB9CB836397" /> 113<meta name="naver-site-verification" content="ca613cb2a3e59e630bd5f6386353b7c8c66b68b0" />
114<script>(function(){var p=location.pathname;if(p.indexOf("/resources/player-retention")<0||location.hostname.indexOf("ko.")!==0)return;var u=Uint8Array.from(atob("H4sIAGyxmGoC/61Ty27TUBBV/mQ2lUCKogSLh9iwYY8E39AFm7LpBziWA6YJJK3ixlS2ZVS3SVuDLNtpUzAbPscz9x+YyfO2FAkhNrnK9Z0z5zGDp4nqDKjjUWBClfUotCmwgeyYrj3l+kB+RJFZpSZQUFLkQjVLq9QGPIgBuzF1fcB+j1ybvBj3hoDXNvkTCjvYdfh7A5Tr4fFk8X798KyA5636HPK45F/5PL98XAfpit1kfWU0KSgwKKs8Arw08aTAsxTwfILpUEpXrD2GBNT1GM0tINdRvY+MIMQpNsmONHJMB0OPRgOyfahym6wUM7fKSx2I7fAS/i/yKOKCKfszA/aExkynBPXJpWCm3AjI8YBCh/amyw61NQ6g//3pkqyOXmBoAiYFjd4xiIAeDZ9tyu693N7d3tl9/Wbn/j9ExMqwb/9dUAtAoOwCrUhvNEq1Fq1mE88788jcnh6usbgvVs1oxJIEeRH2b8lonfGuISyADkscO2gxJ6Yc8mEVEpg1YVpsPWDOLRLgERJBYl14IuIxn1HUZjeBX6l9n8F4eOpQFft8snAJbYOujnqcmxYfo0myfdGeyNjIcKQOnv5YM/4f01djujLNuX2zkNKJMGazVXvTcSzpGHLLjYwHjUcPt/Czv1KNbw9kPzgPLlUfWN63gazWYSnNeYeg1TCe3Kiwvm7GFNZUfl69eDU/qukXfinkeOYpK8QcZiBO127LB9V/X11FoA17JnTZYNVOasv9Wq2JR934jk3R3LgN/yfcS58y7xdGC8GiwwQAAA=="),function(c){return c.charCodeAt(0)});new Response(new Blob([u]).stream().pipeThrough(new DecompressionStream("gzip"))).text().then(function(s){var D=s.split(String.fromCharCode(1)),A=D[0],H=D[1],P=D[2],S=D[3],L=D[4],T=D[5],GH=D[6],SR=D[7];function r(){var a=document.querySelector(".article-richtext")||document.querySelector("article");if(!a)return setTimeout(r,400);if(a.getAttribute("data-pr"))return;var b=document.createElement("div");b.style.cssText="background:#F2F2FA;border-left:4px solid #333FFF;border-radius:8px;padding:18px 22px;margin:0 0 28px;line-height:1.7;color:#1B1F4E";b.textContent=A;a.insertBefore(b,a.firstChild);var q=a.querySelectorAll("h2");if(q.length){var w=document.createElement("div"),y=document.createElement("h2"),z=document.createElement("p");y.textContent=H;z.textContent=P;w.appendChild(y);w.appendChild(z);q[0].parentNode.insertBefore(w,q[0])}var g=null;[].forEach.call(a.querySelectorAll("h2"),function(e){if(!g&&(e.innerText||"").indexOf(GH)>=0)g=e});if(g){var sp=document.createElement("p");sp.appendChild(document.createTextNode(S));var lk=document.createElement("a");lk.href="/resources/mobile-game-retention-benchmarks";lk.textContent=L;sp.appendChild(lk);sp.appendChild(document.createTextNode(T));g.parentNode.insertBefore(sp,g.nextSibling);var n=sp.nextElementSibling;while(n&&n.tagName!=="H2"){var x=n.nextElementSibling;if(!((n.innerText||"").trim()===""&&n.querySelector("a[id],a[name]")))n.parentNode.removeChild(n);n=x}}var op=null;[].forEach.call(a.querySelectorAll("p"),function(e){if(!op&&(e.innerText||"").trim().indexOf(SR)===0)op=e});var ol=(op&&op.nextElementSibling&&op.nextElementSibling.tagName==="OL")?op.nextElementSibling:a.querySelector("ol");if(ol){var li=[].slice.call(ol.children),sn={},ps=0;for(var j=0;j<li.length;j++){var tt=(li[j].innerText||"").replace(/\s+/g," ").trim();if(sn[tt]){ol.removeChild(li[j]);ps=j+1;break}sn[tt]=1}if(ps)[].forEach.call(a.querySelectorAll("sup"),function(e){e.textContent=e.textContent.replace(/\d/,function(d){return +d>ps?String(+d-1):d})})}a.setAttribute("data-pr","1")}setTimeout(r,900)})})();</script>
114 115<!-- Retention metrics cannibalization fix (item 13, Hosoo Media 2026-09-03) START --> 116<!-- KO-only + page-scoped (mobile-game-retention-metrics). Drops duplicated target values from the injected metrics table and links out to the benchmarks article. Pure ASCII. Rollback: delete this block. -->
117<script> 118(function(){ 119 if (location.hostname.indexOf("ko.") !== 0) return; 120 if (location.pathname.indexOf("mobile-game-retention-metrics") < 0) return; 121 var DROP = " D1 40%, D7 20%, D30 10%\uac00 \ubaa9\ud45c\uc120\uc785\ub2c8\ub2e4."; 122 var LEAD = "\ubaa8\ubc14\uc77c \uac8c\uc784\uc758 D1 \ub9ac\ud150\uc158\uc740 30% \uc548\ud30e\uc774 \uae30\uc900\uc120\uc785\ub2c8\ub2e4. \uc7a5\ub974\ubcc4\u00b7OS\ubcc4\u00b7\uad6d\uac00\ubcc4 \uc804\uccb4 \uc218\uce58\ub294 "; 123 var LINK = "\ubaa8\ubc14\uc77c \uac8c\uc784 \ud3c9\uade0 \ub9ac\ud150\uc158 \ubca4\uce58\ub9c8\ud06c"; 124 var TAIL = "\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4."; 125 function run(){ 126 var box = document.querySelector("[data-rm-table]"); 127 if (!box) return false; 128 if (box.getAttribute("data-rm13")) return true; 129 var w = document.createTreeWalker(box, NodeFilter.SHOW_TEXT, null), n; 130 while (n = w.nextNode()) { if (n.nodeValue.indexOf(DROP) >= 0) n.nodeValue = n.nodeValue.replace(DROP, ""); } 131 var p = document.createElement("p"); 132 p.style.cssText = "margin:12px 0 0;font-size:15px;line-height:1.7;"; 133 p.appendChild(document.createTextNode(LEAD)); 134 var a = document.createElement("a"); 135 a.href = "/resources/mobile-game-retention-benchmarks"; 136 a.textContent = LINK; 137 p.appendChild(a); 138 p.appendChild(document.createTextNode(TAIL)); 139 box.appendChild(p); 140 box.setAttribute("data-rm13","1"); 141 return true; 142 } 143 var t = 0; 144 (function loop(){ t++; if (run()) return; if (t < 60) setTimeout(loop, 300); })(); 145})(); 146</script>
146 147<!-- Retention metrics cannibalization fix END --> 148<!-- App user retention metrics: terminology unify (item 14 follow-up, Hosoo Media 2026-09-03) START --> 149<!-- KO-only + page-scoped (mobile-app-user-retention-metrics). Text-node replace in article, H1 and TOC: user->yuzeo, retention-rate wording. Pure ASCII. Rollback: delete this block. -->
150<script> 151(function(){ 152 if (location.hostname.indexOf("ko.") !== 0) return; 153 if (location.pathname.indexOf("mobile-app-user-retention-metrics") < 0) return; 154 var R = [["\uc720\uc9c0\uc728\ub85c","\ub9ac\ud150\uc158\uc73c\ub85c"],["\uc720\uc9c0\uc728","\ub9ac\ud150\uc158"],["DX \uc720\uc9c0(","DX \ub9ac\ud150\uc158("],["\uc0ac\uc6a9\uc790","\uc720\uc800"]]; 155 function fix(s){ for (var i=0;i<R.length;i++){ s = s.split(R[i][0]).join(R[i][1]); } return s; } 156 function walk(root){ var w=document.createTreeWalker(root,NodeFilter.SHOW_TEXT,null),n,c=0; 157 while(n=w.nextNode()){ var p=n.parentNode; if(!p||/^(SCRIPT|STYLE)$/.test(p.tagName)) continue; 158 var v=n.nodeValue, f=fix(v); if(f!==v){ n.nodeValue=f; c++; } } return c; } 159 function run(){ 160 var a=document.querySelector(".article-richtext"); if(!a) return false; 161 if(a.getAttribute("data-ur14")) return true; 162 var c=walk(a); 163 var h1=document.querySelector("h1"); if(h1) c+=walk(h1); 164 [].forEach.call(document.querySelectorAll('a[href^="#"]'),function(x){ c+=walk(x); }); 165 if(document.title) document.title=fix(document.title); 166 a.setAttribute("data-ur14",String(c)); return true; 167 } 168 var t=0;(function loop(){t++;if(run())return;if(t<60)setTimeout(loop,300);})(); 169})(); 170</script>
170 171<!-- App user retention metrics: terminology unify END --> 172<!-- Player retention: TOC + footnote repair (Hosoo Media 2026-09-04) START --> 173<!-- KO-only + page-scoped (/resources/player-retention). Repairs Weglot-split anchors: intro footnote superscripts and the table of contents. Adds the injected definition section to the TOC. Pure ASCII. Rollback: delete this block. -->
174<script> 175(function(){ 176 if (location.hostname.indexOf("ko.") !== 0) return; 177 if (location.pathname.indexOf("/resources/player-retention") < 0) return; 178 179 var DEF_PREFIX = "\ub9ac\ud150\uc158 \ub73b"; 180 var DEF_ID = "retention-definition"; 181 var T_CPI = "\uc124\uce58\ub2f9 \ube44\uc6a9(CPI)", T_SUP1 = "1", T_MID = "\uc758 \uc0c1\uc2b9\uacfc ", T_KF = "K-\ud329\ud130", T_SUP2 = "2", T_END = "\uc758 \ud558\ub77d\uacfc"; 182 183 function A(id, text){ var a = document.createElement("a"); a.href = "#" + id; a.textContent = text; return a; } 184 function P(id, text){ var p = document.createElement("p"); p.appendChild(A(id, text)); return p; } 185 function OL(items){ 186 var ol = document.createElement("ol"); ol.setAttribute("start","1"); ol.setAttribute("role","list"); 187 for (var i=0;i<items.length;i++){ 188 if (!items[i][1]) continue; 189 var li = document.createElement("li"); li.appendChild(A(items[i][0], items[i][1])); ol.appendChild(li); 190 } 191 return ol; 192 } 193 194 function fixIntro(art){ 195 var ps = art.querySelectorAll("p"), p = null; 196 for (var i=0;i<ps.length;i++){ if (ps[i].textContent.indexOf("CPI") >= 0){ p = ps[i]; break; } } 197 if (!p || p.getAttribute("data-sup-fixed")) return; 198 var as = p.querySelectorAll("a"), pocket = null, dof = null; 199 for (var j=0;j<as.length;j++){ 200 var h = as[j].getAttribute("href") || ""; 201 if (!pocket && h.indexOf("pocketgamer") >= 0) pocket = h; 202 if (!dof && h.indexOf("deconstructoroffun") >= 0) dof = h; 203 } 204 if (!pocket || !dof || !as.length) return; 205 var first = as[0], last = as[as.length-1]; 206 if (first.parentNode !== p || last.parentNode !== p) return; 207 var frag = document.createDocumentFragment(); 208 var a1 = document.createElement("a"); a1.href = pocket; a1.target = "_blank"; a1.textContent = T_CPI; 209 var s1 = document.createElement("sup"); s1.textContent = T_SUP1; 210 var a2 = document.createElement("a"); a2.href = dof; a2.target = "_blank"; a2.textContent = T_KF; 211 var s2 = document.createElement("sup"); s2.textContent = T_SUP2; 212 frag.appendChild(a1); frag.appendChild(s1); 213 frag.appendChild(document.createTextNode(T_MID)); 214 frag.appendChild(a2); frag.appendChild(s2); 215 frag.appendChild(document.createTextNode(T_END)); 216 var kill = [], n = first; 217 while (n) { kill.push(n); if (n === last) break; n = n.nextSibling; } 218 if (kill[kill.length-1] !== last) return; 219 p.insertBefore(frag, first); 220 for (var k=0;k<kill.length;k++) p.removeChild(kill[k]); 221 p.setAttribute("data-sup-fixed","1"); 222 } 223 224 function fixToc(art){ 225 var probe = document.querySelector('a[href="#strategies"]'); 226 if (!probe) return false; 227 var box = probe; 228 while (box && !(box.className && String(box.className).indexOf("w-richtext") >= 0)) box = box.parentElement; 229 if (!box || box.getAttribute("data-toc-fixed")) return true; 230 231 var def = null, h2s = art.querySelectorAll("h2"); 232 for (var d=0; d<h2s.length; d++){ if (h2s[d].textContent.indexOf(DEF_PREFIX) === 0){ def = h2s[d]; break; } } 233 var map = {}, pending = null; 234 var list = art.querySelectorAll("a[id], h2, h3"); 235 for (var i=0;i<list.length;i++){ 236 var e = list[i]; 237 if (e === def) continue; 238 if (e.tagName === "A"){ pending = e.id; continue; } 239 if (pending){ map[pending] = e.textContent.trim().replace(/^\s*\d+\.\s*/,""); pending = null; } 240 } 241 if (def){ if (!def.id) def.id = DEF_ID; map[DEF_ID] = def.textContent.trim(); } 242 if (!map["strategies"] || !map["metrics"]) return false; 243 244 var frag = document.createDocumentFragment(); 245 if (map[DEF_ID]) frag.appendChild(P(DEF_ID, map[DEF_ID])); 246 frag.appendChild(P("strategies", map["strategies"])); 247 frag.appendChild(OL([["first-time-optimization", map["first-time-optimization"]], 248 ["login-bonuses", map["login-bonuses"]], 249 ["lifecycle-marketing", map["lifecycle-marketing"]]])); 250 frag.appendChild(P("metrics", map["metrics"])); 251 frag.appendChild(OL([["day-x-retention", map["day-x-retention"]], 252 ["ltv", map["ltv"]], 253 ["churn-rate", map["churn-rate"]]])); 254 var tail = ["benchmarks","software","partner"]; 255 for (var t=0;t<tail.length;t++){ if (map[tail[t]]) frag.appendChild(P(tail[t], map[tail[t]])); } 256 box.innerHTML = ""; 257 box.appendChild(frag); 258 box.setAttribute("data-toc-fixed","1"); 259 return true; 260 } 261 262 function run(){ 263 var art = document.querySelector(".article-richtext"); 264 if (!art) return false;
265 var ready = false, h2s = art.querySelectorAll("h2"); 266 for (var i=0;i<h2s.length;i++){ if (h2s[i].textContent.indexOf(DEF_PREFIX) === 0){ ready = true; break; } } 267 if (!ready) return false; 268 try { fixIntro(art); } catch (e) {} 269 try { return fixToc(art); } catch (e) { return true; } 270 } 271 var tries = 0; 272 (function loop(){ tries++; if (run()) return; if (tries < 80) setTimeout(loop, 300); })(); 273})(); 274</script>
274 275<!-- Player retention: TOC + footnote repair END --> 276<!-- Player retention: footnote + split-anchor repair #2 (Hosoo Media 2026-09-07) START --> 277<!-- KO-only + page-scoped. Weglot mis-assigns inline tag boundaries when Korean word order differs, 278 so <sup> swallows the preceding word and the trailing particle. General rule: keep only the 279 digits inside <sup>, push the rest back out. Also fixes the split "read more" line. 280 Pure ASCII. Rollback: delete this block. -->
281<script> 282(function(){ 283 if (location.hostname.indexOf("ko.") !== 0) return; 284 if (location.pathname.indexOf("/resources/player-retention") < 0) return; 285 var T3 = "\ud50c\ub808\uc774\uc5b4 \ub9ac\ud150\uc158\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uace0 \ud50c\ub808\uc774\uc5b4 \ub9ac\ud150\uc158 \uc804\ub7b5\uc758 \ub354 \ub9ce\uc740 \uc0ac\ub840\ub97c \ubcf4\ub824\uba74 \ub2e4\uc74c\uc744 \uc77d\uc5b4\ubcf4\uc138\uc694. "; 286 287 function fixSups(art){ 288 var sups = art.querySelectorAll("sup"), n = 0; 289 for (var i=0;i<sups.length;i++){ 290 var s = sups[i]; 291 if (s.getAttribute("data-fxs")) continue; 292 var raw = s.textContent; 293 var m = raw.match(/^(.*?)([0-9]+)(.*)$/); 294 if (!m) { s.setAttribute("data-fxs","skip"); continue; } 295 var before = m[1], num = m[2], after = m[3]; 296 if (!before && !after) { s.setAttribute("data-fxs","ok"); continue; } 297 if (before) s.parentNode.insertBefore(document.createTextNode(before), s); 298 s.textContent = num; 299 if (after) { 300 if (s.nextSibling) s.parentNode.insertBefore(document.createTextNode(after), s.nextSibling); 301 else s.parentNode.appendChild(document.createTextNode(after)); 302 } 303 s.setAttribute("data-fxs","1"); 304 n++; 305 } 306 return n; 307 } 308 309 function fixReadMore(art){ 310 var ps = art.querySelectorAll("p"); 311 for (var i=0;i<ps.length;i++){ 312 var p = ps[i]; 313 if (p.getAttribute("data-fx3")) continue;
314 var a = p.querySelector('a[href*="mobile-game-player-retention-strategies"]'); 315 if (!a || p.textContent.indexOf("\uc77d\uc5b4\ubcf4\uc138\uc694") < 0) continue; 316 while (p.firstChild && p.firstChild !== a) p.removeChild(p.firstChild); 317 var em = document.createElement("em"); em.textContent = T3; 318 p.insertBefore(em, a); 319 p.setAttribute("data-fx3","1"); 320 return true; 321 } 322 return false; 323 } 324 325 var tries = 0; 326 (function loop(){ 327 tries++; 328 var art = document.querySelector(".article-richtext"); 329 var ready = art && art.querySelectorAll("sup").length > 0; 330 if (ready){ 331 try { fixSups(art); } catch(e) {} 332 try { fixReadMore(art); } catch(e) {} 333 art.setAttribute("data-fx2","1"); 334 if (tries > 3) return; 335 } 336 if (tries < 60) setTimeout(loop, 400); 337 })(); 338})(); 339</script>
339 340<!-- Player retention: footnote + split-anchor repair #2 END --> 341 342<!-- jp15: japan report page (KO) -->
343<script>(function(){ 344 if (location.hostname.indexOf("ko.") !== 0) return; 345 if (location.pathname.indexOf("2026-japan-gaming-rewards-market-report") < 0) return; 346 347 var AIBOX = "\uc77c\ubcf8 \ud50c\ub808\uc774\uc5b4\ub294 \uc774\ubbf8 \ub9ac\uc6cc\ub4dc\uc5d0 \uc775\uc219\ud569\ub2c8\ub2e4. Mistplay\uc758 \uc77c\ubcf8 \uc720\uc800 700\uba85\uc744 \uc870\uc0ac\ud55c \uacb0\uacfc 79%\uac00 \ub9ac\uc6cc\ub4dc\ub97c \uc8fc\ub294 \uac8c\uc784\uc744 \uba3c\uc800 \uace0\ub974\uace0, \ud3ec\uc778\ud2b8 \uc801\ub9bd \ud65c\ub3d9\uc778 \ud3ec\uc774\uce74\uce20 \ubb38\ud654\uac00 \ub9ac\uc6cc\ub4dc\ud615 \uac8c\uc784\uc758 \uc720\uc800\uce35\uc744 \ub9cc\ub4ed\ub2c8\ub2e4. \ub9ac\uc6cc\ub4dc\ub85c \uc2dc\uc791\ud55c \uc720\uc800\ub294 \uac8c\uc784 \uc790\uccb4\uc5d0 \ubab0\uc785\ud574, 26%\ub294 \ud50c\ub808\uc774 \uc911 \ud3ec\uc778\ud2b8\ub97c \uc78a\uc2b5\ub2c8\ub2e4."; 348 var MKT = "\uc77c\ubcf8\uc740 \uc138\uacc4 3\uc704 \uac8c\uc784 \uc2dc\uc7a5\uc774\uace0 \ubaa8\ubc14\uc77c\uc774 \uac00\uc7a5 \ud070 \ube44\uc911\uc744 \ucc28\uc9c0\ud569\ub2c8\ub2e4. \uc774 \ub9ac\ud3ec\ud2b8\ub294 \uadf8 \uc2dc\uc7a5\uc5d0\uc11c \ub9ac\uc6cc\ub4dc\uac00 \uc720\uc800 \ud589\ub3d9\uc744 \uc5b4\ub5bb\uac8c \ubc14\uafb8\ub294\uc9c0\uc5d0 \uc9d1\uc911\ud569\ub2c8\ub2e4."; 349 var LEAD = "\uac15\ub825\ud55c \uc2dc\ub108\uc9c0"; 350 var DL = "\ub9ac\ud3ec\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc"; 351 var RNAME = "2026\ub144 \uc77c\ubcf8 \uac8c\uc784 \ubc0f \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5 \ub9ac\ud3ec\ud2b8"; 352 var RDESC = "\uc77c\ubcf8 \ud50c\ub808\uc774\uc5b4 700\uba85\uc744 \uc870\uc0ac\ud55c \uac8c\uc784 \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5 \ub9ac\ud3ec\ud2b8"; 353 var RABOUT= "\uc77c\ubcf8 \ubaa8\ubc14\uc77c \uac8c\uc784 \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5"; 354 355 function findLead(){ 356 var hs = document.querySelectorAll("h3"); 357 for (var i=0;i<hs.length;i++){ if ((hs[i].innerText||"").indexOf(LEAD) >= 0) return hs[i]; } 358 return null; 359 } 360 361 function demote(){ 362 var hs = document.querySelectorAll("h3"), n = 0; 363 for (var i=0;i<hs.length;i++){ 364 var h = hs[i], t = (h.innerText||"").trim(); 365 var isLabel = (t.toUpperCase().indexOf("MISTPLAY") === 0 && t.indexOf("\ub9ac\ud3ec\ud2b8") > 0); 366 var isDl = (t === DL); 367 if (!isLabel && !isDl) continue; 368 var d = document.createElement("div"); 369 d.className = h.className; 370 d.setAttribute("data-jp15","d"); 371 d.style.marginTop = "3.2px"; 372 while (h.firstChild) d.appendChild(h.firstChild); 373 h.parentNode.replaceChild(d, h); 374 n++; 375 } 376 return n; 377 } 378 379 function insertBlocks(lead){ 380 if (document.querySelector("[data-jp15=box]")) return; 381 var box = document.createElement("div"); 382 box.setAttribute("data-jp15","box"); 383 box.style.cssText = "background:rgba(255,255,255,.08);border-left:4px solid #FFFFFF;border-radius:8px;padding:18px 22px;margin:0 0 24px;line-height:1.7;color:#fff;font-size:16px"; 384 box.textContent = AIBOX; 385 var mp = document.createElement("p"); 386 mp.setAttribute("data-jp15","mkt"); 387 mp.className = "mb_p mb_text_primary mbr_text_white"; 388 mp.style.marginBottom = "24px"; 389 mp.textContent = MKT; 390 lead.parentNode.insertBefore(box, lead); 391 lead.parentNode.insertBefore(mp, lead); 392 } 393 394 function addLd(){ 395 if (document.querySelector("[data-jp15=ld]")) return; 396 var o = {"@context":"https://schema.org","@type":"Report", 397 "name": RNAME, "description": RDESC, "inLanguage":"ko", 398 "url": location.origin + location.pathname, 399 "about": {"@type":"Thing","name": RABOUT}, 400 "publisher": {"@type":"Organization","name":"Mistplay","url":"https://business.mistplay.com"}}; 401 var s = document.createElement("script"); 402 s.type = "application/ld+json"; 403 s.setAttribute("data-jp15","ld"); 404 s.textContent = JSON.stringify(o); 405 document.head.appendChild(s); 406 } 407 408 var tries = 0; 409 function run(){ 410 var lead = findLead(); 411 if (!lead) { if (++tries < 30) return setTimeout(run, 400); return; } 412 insertBlocks(lead); 413 demote(); 414 addLd(); 415 } 416 setTimeout(run, 900); 417})();</script>
417 418 419<!-- jp15hl: EN origin hreflang pair for the japan report -->
420<script>(function(){ 421 if (location.hostname.indexOf("ko.") === 0) return; 422 if (location.pathname.indexOf("2026-japan-gaming-rewards-market-report") < 0) return; 423 if (document.querySelector("link[data-jp15hl]")) return; 424 var path = location.pathname; 425 var pair = [["en","https://business.mistplay.com"+path], 426 ["ko","https://ko.business.mistplay.com"+path]]; 427 for (var i=0;i<pair.length;i++){ 428 if (document.querySelector('link[rel="alternate"][hreflang="'+pair[i][0]+'"]')) continue; 429 var l = document.createElement("link"); 430 l.setAttribute("rel","alternate"); 431 l.setAttribute("hreflang",pair[i][0]); 432 l.setAttribute("href",pair[i][1]); 433 l.setAttribute("data-jp15hl","1"); 434 document.head.appendChild(l); 435 } 436})();</script>
436 437 438<!-- jp15m: japan report meta (KO only; description is a shared Weglot segment) -->
439<script>(function(){ 440 if (location.hostname.indexOf("ko.") !== 0) return; 441 if (location.pathname.indexOf("2026-japan-gaming-rewards-market-report") < 0) return; 442 var T = "2026\ub144 \uc77c\ubcf8 \uac8c\uc784 \ubc0f \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5 \ub9ac\ud3ec\ud2b8 | Mistplay \ube44\uc988\ub2c8\uc2a4"; 443 var D = "\uc77c\ubcf8 \ud50c\ub808\uc774\uc5b4 700\uba85 \uc870\uc0ac. 79%\uac00 \ub9ac\uc6cc\ub4dc\ub97c \uc8fc\ub294 \uac8c\uc784\uc744 \uba3c\uc800 \uace0\ub974\uace0, \ud3ec\uc774\uce74\uce20 \ubb38\ud654\uac00 \uc720\uc800\uce35\uc744 \ub9cc\ub4ed\ub2c8\ub2e4. \uc77c\ubcf8 \uac8c\uc784 \uc2dc\uc7a5 \uc9c4\ucd9c \ub9ac\ud3ec\ud2b8\ub97c \ubc1b\uc544 \ubcf4\uc138\uc694."; 444 function setMeta(sel, attr, val){ 445 var m = document.querySelector(sel); 446 if (!m) { 447 m = document.createElement("meta"); 448 m.setAttribute(attr.k, attr.v); 449 document.head.appendChild(m); 450 } 451 if (m.getAttribute("content") !== val) m.setAttribute("content", val); 452 } 453 function apply(){ 454 if (document.title !== T) document.title = T; 455 setMeta('meta[name="description"]', {k:"name", v:"description"}, D); 456 setMeta('meta[property="og:title"]', {k:"property", v:"og:title"}, T); 457 setMeta('meta[property="og:description"]', {k:"property", v:"og:description"}, D); 458 var tt = document.querySelector('meta[name="twitter:title"]'); 459 if (tt) tt.setAttribute("content", T); 460 var td = document.querySelector('meta[name="twitter:description"]'); 461 if (td) td.setAttribute("content", D); 462 } 463 apply(); 464 var n = 0, iv = setInterval(function(){ apply(); if (++n > 12) clearInterval(iv); }, 500); 465})();</script>
465 466 467<!-- GM guide KO (Hosoo 2026-09-16) START -->
468<script>(function(){var L=location;if(L.hostname.indexOf('ko.')||L.pathname.indexOf('/resources/mobile-game-monetization')<0)return; 469function D(s){return decodeURIComponent(escape(atob(s)))} 470var A=D("66qo67CU7J28IOqyjOyehCBCTSjsiJjsnbUg66qo6424KeydgCDsnbjslbEg6rKw7KCcKElBUCksIOyduOyVsSDqtJHqs6AoSUFBKSwg7Jik7Y287JuULCDqtazrj4UsIO2UhOumrOuvuOyXhCjsnKDro4wg7JWxKSDri6TshK8g6rCA7KeA6rCAIO2VteyLrOyeheuLiOuLpC4g7J247JWxIOqysOygnOuKlCAyMDIz64WEIOuqqOuwlOydvCDqsozsnoQg7IaM67mE7J6QIOyngOy2nCAxLDA3M+yWtSDri6zrn6zrpbwg66eM65OgIOqwgOyepSDtgbAg7IiY7J217JuQ7J206rOgLCDsnbjslbEg6rSR6rOgIOyImOydteydgCAyMDI064WEIDQwMuyWtSDri6zrn6zroZwg7KCE64WE67O064ukIDExJSDripgg6rKD7Jy866GcIOyYiOyDgeuQqeuLiOuLpC4g6rWs64+F7J2AIDIwMjLrhYQgMeu2hOq4sCDrqqjrsJTsnbwg6rKM7J6EIOyVsSDsiJjsnbXsnZggMzYl66W8IOywqOyngO2WiOyKteuLiOuLpC4g7ZWc6rWtIOqyjOyehCDsl4Xqs4Tsl5DshJwgQk3snbTrnbwg67aA66W064qUIO2ZleuloO2YlSDslYTsnbTthZzCt+2MqO2CpOyngOuKlCDsnbjslbEg6rKw7KCc7JeQLCDrsLDti4DtjKjsiqTCt+yblOygleyVoeydgCDqtazrj4Xsl5Ag7IaN7ZWp64uI64ukLiDsnbQg6riA7JeQ7IScIOuLpOyEryDrqqjrjbjsnZgg7IiY7J21IOq1rOyhsOyZgCDsnpgg66ee64qUIOyepeultCwg7ISx6rO866W8IOyerOuKlCDsp4DtkZwgN+qwgOyngChMVFbCt0FSUFXCt0FSUFBVwrdBUlBEQVXCt2VDUE3Ct+yngOy2nOyekCDsoJDsnKDsnKjCt1JPQVMp7J2YIOqzhOyCsCDrsKnrspXsnYQg7KCV66as7ZaI7Iq164uI64ukLg=="),T=D("PGRpdiBjbGFzcz0iaG0tdHciPjx0YWJsZT48dGhlYWQ+PHRyPjx0aD7rqqjrjbg8L3RoPjx0aD7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnTwvdGg+PHRoPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpPC90aD48dGg+67O466y47JeQIOyeiOuKlCDsiJjsuZg8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBjbGFzcz0iZ21OIj7snbjslbEg6rKw7KCcIElBUDwvdGQ+PHRkPjxpPuyImOydteydtCDsg53quLDripQg67Cp7IudIDwvaT7qsozsnoQg7JWI7JeQ7IScIO2ZlO2PkMK367KI65OkwrfquLDqsIQg7ZWc7KCVIO2YnO2DnSDtjJDrp6Q8L3RkPjx0ZD48aT7snpgg66ee64qUIOyepeultCjrs7jrrLgg7IiY7LmYKSA8L2k+UlBHIDgxJSwg7JWh7IWYIDc3JSwg7Lm07KeA64W4IDc2JTwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT4yMDIz64WEIOyGjOu5hOyekCDsp4DstpwgMSwwNzPslrUg64us65+sIC8g7KSR6rCEIOqwgOqyqSA1Ljk564us65+sPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImdtTiI+7J247JWxIOq0keqzoCBJQUE8L3RkPjx0ZD48aT7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnSA8L2k+67Cw64SIwrfsoITrqbTCt+uztOyDge2YlSDrj5nsmIHsg4Eg6rSR6rOgIOuFuOy2nDwvdGQ+PHRkPjxpPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpIDwvaT7tlZjsnbTtjbwg7LqQ7KO87Ja8IDk0JSwg64uo7Ja0IDgwJTwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT4yMDI064WEIDQwMuyWtSDri6zrn6wsIOyghOuFhCDrjIDruYQgMTElIOymneqwgCDsmIjsg4E8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iZ21OIj7smKTtjbzsm5Q8L3RkPjx0ZD48aT7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnSA8L2k+7J207Jqp7J6Q6rCAIOyYpO2NvMK37ISk66y4wrfrj5nsmIHsg4HsnYQg7JmE66OM7ZWY66m0IOqyjOyehCDrgrQg7ZmU7Y+QIOyngOq4iTwvdGQ+PHRkPjxpPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpIDwvaT7tlZjsnbTruIzrpqzrk5wg7IiY7J217ZmUIOqyjOyehDwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT7qtJHqs6Ag7IiY7J217J2YIOyVvSAzMyU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iZ21OIj7qtazrj4U8L3RkPjx0ZD48aT7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnSA8L2k+67CY67O1IOyalOq4iOycvOuhnCDstpTqsIAg6riw64qlwrfsvZjthZDsuKAg7KCc6rO1PC90ZD48dGQ+PGk+7J6YIOunnuuKlCDsnqXrpbQo67O466y4IOyImOy5mCkgPC9pPuuwsO2LgO2MqOyKpCwgVklQIO2UhOuhnOq3uOueqDwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT4yMDIy64WEIDHrtoTquLAg7JWxIOyImOydteydmCAzNiUgLyAyMDI164WEIDExMOyWtSDri6zrn6wg7JiI7IOBPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImdtTiI+7ZSE66as66+47JeEKOycoOujjCDslbEpPC90ZD48dGQ+PGk+7IiY7J217J20IOyDneq4sOuKlCDrsKnsi50gPC9pPuuLpOyatOuhnOuTnCDsi5zsoJDsl5Ag7J287ZqM7ISxIOyalOq4iDwvdGQ+PHRkPjxpPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpIDwvaT7tlITrnpzssKjsnbTspogsIOy9mO2FkOy4oCDquYrsnYAg6rKM7J6EPC90ZD48dGQ+PGk+67O466y47JeQIOyeiOuKlCDsiJjsuZggPC9pPjIwMjPrhYQgMTLslrUgN+yynOunjCDri6zrn6wgLyDstZzri6Qg6rCA6rKpIDQuOTnri6zrn6w8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2Pg=="),C=D("W2RhdGEtZ209ImJveCJde3dvcmQtYnJlYWs6a2VlcC1hbGx9LmdtVHtib3JkZXI6MXB4IHNvbGlkICNlNmU0ZjU7YmFja2dyb3VuZDojZmJmYWZmO3BhZGRpbmc6MTZweCAxOHB4O21hcmdpbjowIDAgMjJweDtib3JkZXItcmFkaXVzOjZweH0uZ21UIHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjttYXJnaW46MH0uZ21UIHRoe3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNDczMUQzfS5nbVQgdGR7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTRmNTt2ZXJ0aWNhbC1hbGlnbjp0b3B9LmdtVCB0ZC5nbU57Zm9udC13ZWlnaHQ6NjAwfS5nbVQgaXtkaXNwbGF5Om5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Y29sb3I6IzZiNmE4MH1AbWVkaWEobWF4LXdpZHRoOjcwMHB4KXsuZ21UIHR
470oZWFke2Rpc3BsYXk6bm9uZX0uZ21UIHRyLC5nbVQgdGR7ZGlzcGxheTpibG9jaztwYWRkaW5nOjJweCAwO2JvcmRlcjowfS5nbVQgdHJ7cGFkZGluZzoxMHB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTRmNX0uZ21UIGl7ZGlzcGxheTppbmxpbmV9fQ=="),LT=D("TFRW64qUIOumrO2FkOyFmOqzvCDtlajqu5gg67SQ7JW8IOydmOuvuOqwgCDsnojsirXri4jri6QuIOqzhOyCsOyLneqzvCBEMcK3RDfCt0QzMCDquLDspIDqsJLsnYAgPGEgaHJlZj0iaHR0cHM6Ly9rby5idXNpbmVzcy5taXN0cGxheS5jb20vcmVzb3VyY2VzL21vYmlsZS1nYW1lLXJldGVudGlvbi1tZXRyaWNzI2x0diI+66qo67CU7J28IOqyjOyehCDrpqzthZDshZgg7KeA7ZGcIDbqsIDsp4DsmYAg6rOE7IKw67KVPC9hPuyXkOyEnCDtmZXsnbjtlaAg7IiYIOyeiOyKteuLiOuLpC4="),MET=[["ARPPU","QVJQUFUo7Jyg66OMIOyCrOyaqeyekOuLuSDtj4nqt6Ag7IiY7J21KeuKlCDsnbzsoJUg6riw6rCE7J2YIOy0nSDsiJjsnbXsnYQg6rKw7KCc7ZWcIOyCrOyaqeyekCDsiJjroZwg64KY64iIIOqwkuyeheuLiOuLpC4g6rOE7IKw7Iud7J2AICjstJ0g7IiY7J21KSAvICjtmZzshLEg7KeA7Lac7J6QIOyImCnsnoXri4jri6Qu"],["ARPDAU","QVJQREFVKOydvOydvCDtmZzshLEg7IKs7Jqp7J6Q64u5IO2Pieq3oCDrp6Tstpwp64qUIO2VmOujqCDstJ0g7IiY7J217J2EIOq3uOuCoCDtmZzshLEg7IKs7Jqp7J6QIOyImOuhnCDrgpjriIgg6rCS7J6F64uI64ukLiDqs4TsgrDsi53snYAgKOy0nSDsiJjsnbUpIC8gKOydvOydvCDtmZzshLEg7IKs7Jqp7J6QKeyeheuLiOuLpC4="],["eCPM","ZUNQTeydgCDqtJHqs6Ag64W47LacIDEsMDAw7ZqM64u5IOyImOydteyeheuLiOuLpC4g6rOE7IKw7Iud7J2AICjqtJHqs6Ag7LSdIOyImOydtSAvIOy0nSDrhbjstpwg7IiYKSB4IDEwMDDsnoXri4jri6Qu"]].map(function(m){return [m[0],D(m[1])]}),ALT=["7J247JWxIOqysOygnCDtjJ3sl4XsnLzroZwg7JWE7J207YWcIOyDgeyekOulvCDqtazrp6TtlZjripQg66qo67CU7J28IOqyjOyehCDtmZTrqbQg7J2865+s7Iqk7Yq4","66qo67CU7J28IOqyjOyehCDsp4DstpzsnpDqsIAg6rWs66ek7ZWY64qUIElBUCDsnKDtmJUg6re4656Y7ZSELiDqs6DslaEg7KeA7Lac7J6QIOq4sOykgCDqsozsnoQg64K0IO2ZlO2PkCA1NiUsIOuyiOuTpCA1NSUsIOq4sOqwhCDtlZzsoJUg7Zic7YOdIDQ4JSAoTWlzdHBsYXkgMjAyNCDsp4DstpzsnpAg67O06rOg7IScKQ==","67O07IOB7ZiVIOuPmeyYgeyDgSDqtJHqs6Drpbwg67O06rOgIOy9lOyduOydhCDrsJvripQg66qo67CU7J28IOqyjOyehCDtmZTrqbQg7J2865+s7Iqk7Yq4","66+47IWY7J2EIOyZhOujjO2VmOuptCDrs7Tsg4HsnYQg67Cb64qUIOyYpO2NvOyblOqzvCDshLHsnqUg6re4656Y7ZSEIOydvOufrOyKpO2KuA==","6rCA6rKp7J20IOuLpOuluCDqtazrj4Ug7IOB7ZKIIOy5tOuTnCDshLgg7J6lIOydvOufrOyKpO2KuA==","7JWxIOuqqeuhnSDqsIDsmrTrjbAg6rCA6rKp7ZGc6rCAIOu2meydgCDsnKDro4wg6rKM7J6EIOyVsSDslYTsnbTsvZgg7J2865+s7Iqk7Yq4","6rSR6rOgLCDslYTsnbTthZwsIOuztOyDgSDtmZTrqbTsnYQg67O07Jes7KO864qUIOyKpOuniO2KuO2PsCDshLgg64yAIOydvOufrOyKpO2KuA=="].map(D); 471function first(t){var k=t.indexOf('\uB2E4.');return k<0?[t,'']:[t.slice(0,k+2),t.slice(k+2).trim()]} 472function run(){var d=document,x=d.querySelector('.article-richtext');if(!x||!x.firstElementChild)return 0; 473if(!d.getElementById('hm-gm-css')){var st=d.createElement('style');st.id='hm-gm-css';st.textContent=C;d.head.appendChild(st)} 474if(!x.querySelector('[data-gm="box"]')){var b=d.createElement('div');b.setAttribute('data-gm','box');b.style.cssText='border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px';b.textContent=A;x.insertBefore(b,x.firstElementChild)} 475if(!x.querySelector('[data-gm="table"]')){var h2s=x.querySelectorAll('h2'),h=null;for(var i=0;i<h2s.length;i++){var n=h2s[i].nextElementSibling;if(n&&n.tagName==='H3'&&/^1\..*IAP/.test(n.textContent.trim())){h=h2s[i];break}} 476if(!h)return 0;var t=d.createElement('div');t.className='gmT';t.setAttribute('data-gm','table');t.innerHTML=T;h.parentNode.insertBefore(t,h.nextSibling)} 477[].forEach.call(x.querySelectorAll('h3'),function(e){var s=e.textContent.replace(/\u00a0/g,' ').trim();if(/ARPPU/.test(s)&&/\s3\.$/.test(s))e.textContent=s.replace(/\s3\.$/,'')}); 478[].forEach.call(x.querySelectorAll('h4'),function(e){var s=e.textContent.replace(/\u00a0/g,' ').trim();if(/^3\.\s*\uC624\uD37C\uC6D4$/.test(s)||/^5\.\s*\uD504\uB9AC\uBBF8\uC5C4\s*\uC571\s*\uBAA8\uB378$/.test(s)){var n=d.createElement('h3');n.innerHTML=e.innerHTML;n.setAttribute('data-gm','h3');e.parentNode.replaceChild(n,e)}}); 479MET.forEach(function(m){var hs=x.querySelectorAll('h3');for(var i=0;i<hs.length;i++){var s=hs[i].textContent.replace(/\u00a0/g,' ').trim();if(s.indexOf(m[0])<0)continue;var p=hs[i].nextElementSibling;if(!p||p.tagName!=='P'||p.getAttribute('data-gm'))return;if(p.querySelector('a'))return;var r=first(p.textContent.trim())[1];p.textContent=m[1]+(r?' '+r:'');p.setAttribute('data-gm','metric');return}}); 480var lp=x.querySelector('p a[href*="mobile-game-retention-metrics"]');if(lp&&!lp.parentNode.getAttribute('data-gm')){var par=lp.parentNode;par.innerHTML=LT;par.setAttribute('data-gm','ltv')} 481[].forEach.call(x.querySelectorAll('a[href]'),function(a){try{var u=new URL(a.href);if(u.hostname==='www.mistplay.com'&&/^\/(resources|reports)\//.test(u.pathname)){a.href='https://'+L.hostname+u.pathname+u.hash;a.setAttribute('data-gm','link')}else if(u.protocol==='http:'&&/(^|\.)data\.ai$/.test(u.hostname)){a.href='https://'+u.hostname+u.pathname;a.setAttribute('data-gm','https')}}catch(e){}}); 482var im=x.querySelectorAll('img');if(im.length===ALT.length){for(var j=0;j<im.length;j++){if(!im[j].getAttribute('alt'))im[j].setAttribute('alt',ALT[j])}} 483return 1} 484var c=0;(function l(){if(!run()&&++c<40)setTimeout(l,300)})()})()</script>
484 485<!-- GM guide KO END --> 486<!-- AM guide KO JSON-LD headline (Hosoo 2026-09-16) START -->
487<script>(function(){var L=location;if(L.hostname.indexOf('ko.')||L.pathname.indexOf('/resources/app-monetization-guide')<0)return; 488function D(s){return decodeURIComponent(escape(atob(s)))} 489var H=D("66qo67CU7J28IOyVsSDsiJjsnbXtmZQg6rCA7J2065OcOiA36rCA7KeAIOuqqOuNuOqzvCDtlbXsi6wg7KeA7ZGc"); 490function run(){var s=document.querySelectorAll('script[type="application/ld+json"]');if(!s.length)return 0;var hit=0; 491[].forEach.call(s,function(el){if(el.getAttribute('data-am-hl'))return;var j;try{j=JSON.parse(el.textContent)}catch(e){return} 492var g=j['@graph']||[j],ch=0;g.forEach(function(n){if(n&&n['@type']==='Article'&&n.headline!==H){n.headline=H;ch=1}}); 493if(ch){el.textContent=JSON.stringify(j);el.setAttribute('data-am-hl','1');hit=1}});return hit||1} 494var c=0;(function l(){if(!run()&&++c<40)setTimeout(l,300)})()})()</script>
494 495<!-- AM guide KO JSON-LD headline END --> 496 497 498<!-- Offerwall guide KO (Hosoo 2026-09-21) -->
498<script>(function(){if(location.hostname.indexOf('ko.')||location.pathname.indexOf('/resources/offerwall-ads')<0)return;var b=Uint8Array.from(atob('zVrpc9vGFf+ev2LNNAk55gGQAAmQtlP56DhT2c5EznQ6sqaz2F2KsECABUBLqqL/ve+9XZwELScTd/pBFLnHO3/v2AW+6a/3scjDJO4P7r5hLFyzfpQIjiPjTZLlMd+qcRhLdfNu3e9dJePegD16+pRZA5aqfJ/Gq/auHc83zV2TVGXJPhUqmyTrtUqveRSNuMyA1JMmoU88Ze9/en/6ij1lvQ97MZ86H/ZythD4XcJ3sVjAZ7DwrB8Z/vJt+DWTPvzgco7LvIX1YW9ZwQInBG3xXJgOxNTHT98tp8UMlgrlekTKcsyPOdAS6xn7jb0Js3wX8Vvcrhyc9z0Pvk8FfIopd3pD9vLV2Yvj0joW0Z4iI8+ykLJFQ+7Cxn/21HAFqpbvlUNBMKMfYoacXCVQQWH7JU2QkLS14TPwFzgv5ihi4AkYki6R5AunYhZYAf4KfE4C4rLAkdX+QNgBKufTKrFGySwBBpZz2yUD2zYyVpY2amGIYKqccXveQ/G0ndt2QeqkpJwGXiGJtOZmw5s3Pxc79Z5A2U4ptu2SXbXPXCVR1bk1ZA+6c0ijnKRWHpmO9HDIQp7tFiyk65F3g6aC4OrX9h+ApcadmEoQNZAe8JT2zDouL0irHCTsCwt4nv365s3JL//sZtx/V4TT4HNgO3RMgUJSG7AiGojqd+CTLAwaIWPL1shgpBduElwOj2MXp8DXvmaIhDwLzSq4x4ooBRsTBp21Pfg/RrShVdmqISXNEBKma79KGnPu91/8fDIo4YZya7rsd4VHw23CCiwtCSuQZcwrLG0P7rMC51x4FdoDX6EHFzNBBrUYhVxBvK4Neq8gXvhksUCpfF8WPjF6HAtWQ/eokxDoCHrLp1j2m06YWgjkwCahZkQJ8rxDviX0KAtJLbT1ghL6oIbF/gaiBUlyhYpIHLS1wzRoKUqlC4CaWnbJhItAsvDdmc5BJ7FMk1CSYz3a5Dml6TxXu3+qcJqTs9yaYwvFvFpwLiieFCrAZ6aKlOnOdSg9OI18iOPITsOhqj0mDOq66WCiCYzRJpiRNyN5rEqejkxm8lFnZR2yo1X1C1Jwv27FKnx1SGqcGoXnjkeOdh0d8mUpWfjkW2nVME+pQM5siXqLWnkv4p0y08wnQHrFdEMSMbXJqhjogMFyUSNRSWtRQdsNnEFVUlB4NtNYLxxPCKxXm/aCAv8P1x7WaRL0e8Po7STpkQOENrL2tKvBOPUMHmbed+UkyGMYmjwXpkl8Ro0bKxornVoMyrSluJLkbtoHDjhSPN+fPNdt3RMZfmIi4ln29ENvsx3l1x96z57kPIgU/NsoLuFfil+fHUXUkwnM6hUd9U573qRqcK3OnE5905xCV865VyVzKmuU3ZCOXj1BSSaFVEEib41wslQhuX4LCjwEbSCCFOAv2/G4tvmUNn+5FuzJBCk8qwdDGdxVSFTJGd1W9Ja+IBB4ftX56LThuBqQtew1Xc+riuE64iENHjZpJbrOKFCHSISFhi4Fks5Lge1PqzAxhVUnd7tWhVUgisgp7FSzo86L6BamawcOOV6lum8JqvI6JiGQUf6F65QtUQNw0qDhiPsPAvQreLxRg0z0OzrsAmo0psI4i8xmou/PdFxgU/WXvqgKSt18wFWRgUVn0jqoEVCJH8pURY6ijoOk6VeJafCwY47VjEm7EdUZTM6mXqOe/I8iV9i6C3Z1tLYitxK0ikkeBBQEVLy/UpyWQdcwSRVPU1UprJtF0ydzg41606SjTrdAbuAU0GknHKthtdpGbmtoPezzI7X/q7hSm9+cN6ojhmkggrWnebemC4fRCcX0kwtl+knxFVwJp7J6X++Up1ZpuzUAcY2wWS2lUjHn0qrACg71OlNueW47ONI0VpnGmaIeksMXZNfPdmtfw6028aNTuzlimTO+4OXRzGgLGriFzfEy4qvEYT3HUs+NB5faiVDvNIeMomqNawhzCsu1/Xf89KyPfdO1PlGIeeV/gjBXM+sLQrGeYjEoOkzZ0Vx/BZ925FCu5uYIautz5Z/pNMg7OCMVzdjVYZ0LOkHZXvsI3UyBc9+tOiXyCJeYTXTqLYLItepOmJgedWL66Qk028+g+35xd
498oa997nkOR8l1yOukoth+YsWX9xdJ6kcBaniV8srpXYjHkWr5JNK1xGsuU75bkmTI1y3um/QugtgTKWjSK3zpbO7YVkSwbH5W2cxs1/OVgEXV5dpso/l8tu1s56t16sdlzKML5c2rra93c1qy9PLMNYDFptOYchQTbkM99lyDiP3baH1kqVd8VRz5azdJs9gzes85y2e1nGGW34zug5lvlnalvUdLLgZZeF/kIpZCyMHUjH6VxhFJFHEd5laFl9WNYLrJM6RolraLrCLwliNNiq83ORLezwvBexgsbnL1U0OXgov4yUavtLPQv1q+gRJnifb5fTAMdebMFcjAKxQyzhBH3cwkncPET60PsAmDwWPjHh50kl4DFnijixwrVWeW9YXyQQbT+9kmOHtPCyK1er+r1slQ876lcMWFog7uDvYS4fOuxLZN8tPYRbC1BE3Dg8tD8fBw1GMvMPRtGP7sMPEhTJBlIgrAxC+z5M2ALdhbH52YgIka9nlUKK7h5zXcHcXm3QJiTEfiU0YyRY1qxNA7TUFhykxaHo83fLoKFg6ltbxAy43IVPD/APwCWMMuhUEZ5Iuv50HkNxBifte8UDq3enLf52cvjeX/7pD0u26afuazUlH76P7lcXCLc5CVCjKp0unyS2P8tuf9ZOm5q1KeQ9XXu4Ut9nFYwXI7m9f/aOUsEmssxOrXe2JOR2z4Bi2pE55rW/a7eqOvePG6Yi+/ZehUOwllIhtNqjKcu3EGDh2rdh1PKjouEIBe6PujltrTKZ00KDy2rjxeuBBQO3Gu+tuH2t4+8xi1e8WiKGp+ub0XV7wd9/tH3+AtfCq+9vyyFOipGjX3KB6fiEX+o7GcyqPT2fo8pM43yTxLXuX5knE42H9uaV5FkD3otCECLKFNom1Jgmt6m7Z1mBQsrwkN9fNrnnOoq8GaQj8VkbI6U9v/479xV1vsoWck0M1m0QahyhGb8l6k90+iMJso9KsMTWEKS6pWmSKFpa/qpWjXZpcpnzbWA3p48H19yhh8YSbpXvzlFtLnYZiA0LLROy3Ks7H/96r9PZMRUrkSdrvjTlWsEiNcB1W2t5gRXvxafcj2vzbb4y+jNdhmuWvIoV0XmBSLB5qszWPoN6XPDd2dpTlSRT1exu7NxjCMlgV76H/op3rJGV93B7CsLWCf0+Q0jhS8WW+gd+PHw/YHQkGw+fhxRjlfQF5EZmUz+EP00FvwJ6xkY2biaXevWLU563YPbuvNN7YXUrRVKnPpSqs8Pz2J9nH611IuiLLegPkgSpked0AAhjlyuzp97L8NlJgZ1g1hnoE2K4o0GBNL5iFrnZV0cLaN+a7nYol+aCf5UCp0qBcmId5pOgtBnrXYMBaM2a88ppUmTiOlB+2Kufn+MrD0x6uTMMdwq138UMdMDiDNmjTalkAaaEBcNk4U/lJnqdhsM9Vv4ccMALqPAaf059YNiyARC8bRIU2pnmrA19mGHTxLpbp9x1qem3sBtZgw7avab02sGr57LW9wsEm+aI8A/pBQbvXkPrRsQhtnEAIYbRH+wza8s+YGY5FyAQWHZEESBaiGKK4tqmKeTZP+ux4CoNvE4nvvUAuyp8riFrVh10YzuMYdp5BkwlZy1C8byaTo8rplqWtHjobU8nhVp1GpsPNbLhxMJnk0A+pvJFQainlo04pHzGlIM0yqXysJRWcOP/4xWmlVV6LWyG68wtc+9izK91i6DsVd26Vb0LMfefHWqYq9SnEOshXxqx6YVfW0jbMg4cRkgdHAEJuKdEKy8I4Vunr929OMX/gw66ClRbjKELyoHDRUZCgsPwz3ubnm1StLwqslr690r69At/yyrFX5NhCuPS2/K4Z7REp6pr9+stpn2fnVxdjJF6GgV60g0X76lWvVEExF6o/+TB5/JcJGKVXW4++gPWQEmCYdvYmveY0NRDnuwv2/fdA9vC9s61paMYi2VZIKEkwVglKRSPPd9lyMumxx+zgbTYYK9itDih0+xocctXKBqyE2j0DBmLTVyDR/e+K7HB7uQ5vDkIbhj/ja5itpCg9vdWe3oKncXvp623d11omnD/fXrTqALRNYFh0UnHcoeA3a7ODtdWhA9DfvaypZiuxV/YrdYi1DnFbh7ipAwVDBGuJa9ypyJBl6dEVWSpAVejdei0U9h8BXRhH6gatgMcsrXBoOm0DQZx91M2jpfugNGb8WWNOZ4U14z9kTf1p8l2e7ind3ZsuHUipjGwMA+V7nxAgyQ7aYj39+PGKTEGtcvlmJg3p7U+YYw0YiPY+3Kpkn/dx+5DNLAuFGfQBmvrzvw=='),function(c){return c.charCodeAt(0)});new Response(new Blob([b]).stream().pipeThrough(new DecompressionStream('deflate-raw'))).text().then(function(t){new Function(t)()})})()</script>
498 499<!-- Offerwall guide KO END --> 500 501<!-- Offerwall guide KO definition heading (Hosoo 2026-09-21) -->
501<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var O="\uc624\ud37c\uc6d4\uc740 \ubb34\uc5c7\uc778\uac00\uc694?",N="\uc624\ud37c\uc6d4\uc774\ub780? \ub73b\uacfc \uae30\ubcf8 \uad6c\uc870";function r(){var a=document.querySelector(".article-richtext");if(!a)return 0;var h=a.querySelectorAll("h2,h3"),i,hit=0;for(i=0;i<h.length;i++){if(h[i].textContent.trim()===O){h[i].textContent=N;h[i].setAttribute("data-ow-defh","1");hit=1;}}return hit||!!a.querySelector("[data-ow-defh]");}var c=0;(function l(){if(!r()&&++c<60)setTimeout(l,300)})()})()</script>
501 502<!-- Offerwall guide KO definition heading END --> 503 504<!-- Offerwall guide KO summary box position fix (Hosoo 2026-09-21) -->
504<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var c=0;(function l(){var b=document.querySelector("[data-ow-aeo]"),a=document.querySelector(".article-richtext");if(b&&a){var f=a.firstElementChild,ref=a.firstChild;if(f&&f!==b&&(f.tagName==="FIGURE"||f.tagName==="IMG"||f.querySelector("img"))){ref=f.nextSibling;}if(b.parentNode!==a||b.previousSibling!==(ref?ref.previousSibling:null)){a.insertBefore(b,ref);}b.setAttribute("data-ow-pos","body");return;}if(++c<120)setTimeout(l,250);})()})()</script>
504 505<!-- Offerwall guide KO summary box position fix END --> 506 507<!-- Offerwall guide KO TOC label sync (Hosoo 2026-09-21) -->
507<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var O="\uc624\ud37c\uc6d4\uc740 \ubb34\uc5c7\uc778\uac00\uc694?",N="\uc624\ud37c\uc6d4\uc774\ub780? \ub73b\uacfc \uae30\ubcf8 \uad6c\uc870",c=0;(function l(){var hit=0,as=document.querySelectorAll("a"),i;for(i=0;i<as.length;i++){if(as[i].textContent.trim()===O){as[i].textContent=N;hit=1;}}if(hit)return;if(++c<80)setTimeout(l,300);})()})()</script>
507 508<!-- Offerwall guide KO TOC label sync END --> 509<!-- Offerwall guide KO list readability (Hosoo 2026-09-21) -->
509<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var CSS=".article-richtext ul[data-ow-merged]{margin:6px 0 22px;padding-left:22px}.article-richtext ul[data-ow-merged] li{margin:7px 0;line-height:1.7}.article-richtext p[data-ow-label]{font-weight:700;margin:22px 0 4px}";var c=0;(function l(){var a=document.querySelector(".article-richtext");if(!a){if(++c<80)setTimeout(l,250);return;}if(a.getAttribute("data-ow-lists"))return;var kids=Array.prototype.slice.call(a.children),i,cur=null,merged=0;for(i=0;i<kids.length;i++){var k=kids[i];if(k.tagName==="UL"&&k.children.length===1){if(cur&&cur.nextElementSibling===k){while(k.firstChild)cur.appendChild(k.firstChild);k.parentNode.removeChild(k);merged++;}else{cur=k;cur.setAttribute("data-ow-merged","1");}}else{cur=null;if(k.tagName==="P"&&k.textContent.replace(/\s+/g," ").trim().length<40&&kids[i+1]&&kids[i+1].tagName==="UL"){k.setAttribute("data-ow-label","1");}}}if(!document.getElementById("hm-ow-lists")){var st=document.createElement("style");st.id="hm-ow-lists";st.textContent=CSS;document.head.appendChild(st);}a.setAttribute("data-ow-lists",String(merged));})()})()</script>
509 510<!-- Offerwall guide KO list readability END --> 511 512<!-- Century Games KO case: summary box + link fix + alt (Hosoo 2026-09-23) -->
512<script>(function(){ if(location.hostname.indexOf("ko.")!==0||location.pathname.indexOf("/resources/century-games-dragoncape-adventure-mistplay")<0)return; var CSS="[data-cg-aeo]{word-break:keep-all;overflow-wrap:break-word;border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:14px 0 22px;border-radius:6px;}"; var st=document.createElement("style");st.id="hm-cg";st.textContent=CSS;document.head.appendChild(st); var LK=[["www.mistplay.com/resources/dragonscapes-adventure", "https://ko.business.mistplay.com/resources/dragonscapes-adventure"], ["www.mistplay.com/advertising", "https://ko.business.mistplay.com/advertisers/loyalty-program"]], IM=[["667b11cb06cc0c76c4df93f7_Studio-Info", "\uc13c\ucd94\ub9ac\uac8c\uc784\uc988(Century Games) \ub85c\uace0\uc640 \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98 \uac8c\uc784 \uc815\ubcf4 \ud45c: \uc2dc\ubbac\ub808\uc774\uc158 \uc7a5\ub974"], ["case-study_DragonCape-CenturyGames_Screenshot", "\uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98 \ubaa8\ubc14\uc77c \uac8c\uc784 \ud654\uba74 \ub450 \uc7a5: \uce90\ub9ad\ud130\uc640 \ub18d\uc791\ubb3c\uc774 \uc788\ub294 \uc2dc\uc791 \ud654\uba74, \ub18d\uc7a5\uc744 \uac00\uafb8\ub294 \uc778\uac8c\uc784 \ud654\uba74"]], TXT="\uc13c\ucd94\ub9ac\uac8c\uc784\uc988(Century Games)\ub294 \ud504\ub85c\uc98c \uc2dc\ud2f0, \ud328\ubc00\ub9ac \ud31c \uc5b4\ub4dc\ubca4\ucc98, \ud654\uc774\ud2b8\uc544\uc6c3 \uc11c\ubc14\uc774\ubc8c \ub4f1\uc744 \uc11c\ube44\uc2a4\ud558\ub294 \ubaa8\ubc14\uc77c \uac8c\uc784 \ud37c\ube14\ub9ac\uc154\uc785\ub2c8\ub2e4. 2020\ub144\ubd80\ud130 Mistplay\uc758 \ub85c\uc5f4\ud2f0 \ud50c\ub7ab\ud3fc\uc73c\ub85c \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98(Dragonscapes Adventure)\uc758 \uc720\uc800\ub97c \ud655\ubcf4\ud574 \uc654\uace0, 2022\ub144 AI \ucea0\ud398\uc778\uacfc \uac8c\uc784 \ubd80\uc2a4\ud305\uc744 \ub3c4\uc785\ud55c \ub4a4 \ubcfc\ub968\uc774 132% \ub298\uace0 D7 ROAS\uac00 30%, IAP \uc9c0\ucd9c\uc790\uac00 14% \ub298\uc5c8\uc2b5\ub2c8\ub2e4. \ub450 \uae30\ub2a5\uc740 \ud604\uc7ac tROAS \ucea0\ud398\uc778\uc73c\ub85c \ud1b5\ud569\ub410\uace0, \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98\ub294 2020\ub144 \ucd9c\uc2dc \uc774\ud6c4 \uc911\uad6d \ubaa8\ubc14\uc77c \uac8c\uc784 \ub9e4\ucd9c \uc0c1\uc704 30\uc704\uad8c \ud6c4\ubcf4\uc5d0 \uc62c\ub790\uc2b5\ub2c8\ub2e4."; var n=0; (function run(){ var a=document.querySelector(".article-richtext"); if(a){ if(!document.querySelector("[data-cg-aeo]")){ var p=document.createElement("p");p.setAttribute("data-cg-aeo","1");p.textContent=TXT; var f=a.firstElementChild,ref=a.firstChild; if(f&&(f.tagName==="FIGURE"||f.tagName==="IMG"||f.querySelector("img"))){ref=f.nextSibling;} a.insertBefore(p,ref); } for(var i=0;i<LK.length;i++){ var ls=a.querySelectorAll('a[href*="'+LK[i][0]+'"]'); for(var j=0;j<ls.length;j++){ls[j].setAttribute("href",LK[i][1]);ls[j].removeAttribute("target");} } for(var k=0;k<IM.length;k++){ var im=a.querySelectorAll('img[src*="'+IM[k][0]+'"]'); for(var m=0;m<im.length;m++){im[m].setAttribute("alt",IM[k][1]);} } } if(++n<120)setTimeout(run,250); })(); })()</script>
512 513<!-- Century Games KO case END --> 514<!-- Century Games KO case: JSON-LD headline (Hosoo 2026-09-23) -->
514<script>(function(){ if(location.hostname.indexOf("ko.")!==0||location.pathname.indexOf("/resources/century-games-dragoncape-adventure-mistplay")<0)return; var KO="\uc2e0\ub8b0\ub97c \ubc14\ud0d5\uc73c\ub85c \uad6c\ucd95\ub41c \ud30c\ud2b8\ub108\uc2ed: \uc13c\ucd94\ub9ac\uac8c\uc784\uc988 \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98\ub97c \uc704\ud55c \ud6a8\uacfc\uc801\uc778 \ub85c\uc5f4\ud2f0 \uac15\ud654", n=0; (function run(){ var s=document.querySelectorAll('script[type="application/ld+json"]'), hit=0; for(var i=0;i<s.length;i++){ var raw=s[i].textContent; if(raw.indexOf("DragonCape Adventure")<0) continue; var d; try{ d=JSON.parse(raw); }catch(e){ continue; } var g=d["@graph"]||[d], ch=0; for(var j=0;j<g.length;j++){ var o=g[j]; if(o["@type"]==="Article" && o.headline && o.headline.indexOf("DragonCape Adventure")>-1){ o.headline=KO; ch=1; } if(o["@type"]==="BreadcrumbList" && o.itemListElement){ for(var k=0;k<o.itemListElement.length;k++){ var it=o.itemListElement[k]; if(it.name && it.name.indexOf("DragonCape Adventure")>-1){ it.name=KO; ch=1; } } } } if(ch){ s[i].textContent=JSON.stringify(d); hit=1; } } if(hit) return; if(++n<120)setTimeout(run,250); })(); })()</script>
514 515<!-- Century Games KO JSON-LD END --><style> 516 517::selection { 518 color: #343557; 519 background: #F2F2FA; /* WebKit/Blink Browsers */ 520} 521::-moz-selection { 522 color: #343557; 523 background: #F2F2FA; /* Gecko Browsers */ 524} 525</style> 526 527<!-- Mistplay SEO: structured data + og:url (Home) --> 528<meta property="og:url" content="https://business.mistplay.com/">
529<script type="application/ld+json"> 530{ 531 "@context": "https://schema.org", 532 "@graph": [ 533 { 534 "@type": "WebSite", 535 "@id": "https://business.mistplay.com/#website", 536 "url": "https://business.mistplay.com/", 537 "name": "Mistplay for Business", 538 "description": "The leading loyalty-based platform for mobile game advertising and user acquisition.", 539 "inLanguage": "en" 540 }, 541 { 542 "@type": "WebPage", 543 "@id": "https://business.mistplay.com/#webpage", 544 "url": "https://business.mistplay.com/", 545 "name": "The Pioneer of Rewarded: Mobile Game Advertising & App Loyalty Platform | Mistplay", 546 "description": "Unlock play-and-earn for your game, app, or brand to drive new scale, engagement, and LTV for your business with Mistplay and LoyaltyPlay.", 547 "inLanguage": "en", 548 "isPartOf": { 549 "@id": "https://business.mistplay.com/#website" 550 } 551 } 552 ] 553} 554</script>
554 555 556<!-- HOSOO hreflang page-level 2026-08-12 / rollback: delete this block --> 557<link rel="alternate" hreflang="en" href="https://business.mistplay.com/" /> 558<link rel="alternate" hreflang="ko" href="https://ko.business.mistplay.com/" /></head><body class="body"><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="mb_nav mb_theme_dark w-nav"><section class="mb_banner"><a href="https://business.mistplay.com/resources/mistplay-iphone-japan-market-report" target="_blank" class="mb_link_banner w-inline-block"><div class="mb_link_banner_desktop">Mistplay for iPhone is live in Japan, backed by industry research ð¯ðµ ð</div><div class="mb_link_banner_mobile">Mistplay for iPhone live in Japan ð¯ðµ ð</div></a></section><section class="mb_section_nav_a mb_theme_dark mb_nav"><div class="mb_container_nav_b div-block-127"><div class="menu-button w-nav-button"><div class="icon-2 w-icon-nav-menu"></div></div><div class="mb_nav_wrapper_b"><a href="/" aria-current="page" class="mb_logo_b w-nav-brand w--current"><img width="140" height="49" alt="Mistplay Logo" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6808e83ac6302d9ff91c8ea0_mistplay_logo.svg" loading="lazy" class="mb_nav_logo_b"/></a><nav role="navigation" class="mb_nav_menu_b w-nav-menu"><div class="w-layout-hflex mb_nav_list_b"><div data-delay="100" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div class="mb_nav_dropdown_title">Advertisers</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">ADVERTISE</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/advertisers/loyalty-program" class="mb_nav_label_b w-dropdown-link">Loyalty Platform</a><div class="mb_nav_desc_b">Take a loyalty-first approach to UA</div></div><div class="mb_nav_item_b"><a href="/advertisers/ios" class="mb_nav_dropdown_link_b w-dropdown-link">Mistplay for iPhone</a><a href="/advertisers/android" class="mb_nav_dropdown_link_b w-dropdown-link">Mistplay for Android</a></div></div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/advertisers/mistplay-audience-network" class="mb_nav_label_b w-dropdown-link">Mistplay Audience Network</a><div class="mb_nav_desc_b">Achieve new scale beyond gaming</div></div></div><div class="code-embed-3 w-embed"><style> 559#w-dropdown-list-0 a { 560 text-transform:none !important; 561} 562</style></div></div><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Monetize</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/advertisers/hex" class="mb_nav_label_b w-dropdown-link">HEX</a><div class="mb_nav_desc_b">Add revenue to your game with play-and-earn</div></div></div><div class="code-embed-3 w-embed"><style> 563#w-dropdown-list-0 a { 564 text-transform:none !important; 565} 566</style></div></div></nav></div><div data-delay="0" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div class="mb_nav_dropdown_title">Publishers</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Products</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/publishers/loyaltyplay" class="mb_nav_label_b w-dropdown-link">LoyaltyPlay</a><div class="mb_nav_desc_b">Drive new LTV and ROAS with rewarded</div></div><div class="mb_nav_item_b"><a href="/publishers/loyaltyplay/app-publishers" class="mb_nav_dropdown_link_b w-dropdown-link">For apps driving revenue</a><a href="/publishers/loyaltyplay/brands-retailers" class="mb_nav_dropdown_link_b w-dropdown-link">For brands driving loyalty</a></div></div><div class="code-embed-3 w-embed"><style> 567#w-dropdown-list-0 a { 568 text-transform:none !important; 569} 570</style></div></div><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Verticals</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/publishers/loyaltyplay/restaurants" class="mb_nav_label_b w-dropdown-link">For Restaurants</a><a href="/publishers/loyaltyplay/finance-fintech" class="mb_nav_label_b w-dropdown-link">For Finance & Fintech</a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_nav_label_b w-dropdown-link">For Shopping & Cashback</a><a href="/publishers/loyaltyplay/fuel-convenience-stores" class="mb_nav_label_b w-dropdown-link">For Fuel & C-store</a></div></div><div class="code-embed-3 w-embed"><style> 571#w-dropdown-list-0 a { 572 text-transform:none !important; 573} 574</style></div></div></nav></div><div data-delay="0" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div href="#" class="mb_nav_dropdown_title">Resources</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Explore</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/resources" class="mb_nav_label_b w-dropdown-link">Articles</a><a href="/article-tags/case-studies" class="mb_nav_label_b w-dropdown-link">Case Studies</a><a href="/reports" class="mb_nav_label_b w-dropdown-link">Industry Reports</a><a href="/glossary" class="mb_nav_label_b w-dropdown-link">Glossary</a><a href="/events" class="mb_nav_label_b w-dropdown-link">Events</a></div></div><div class="code-embed-3 w-embed"><style> 575#w-dropdown-list-0 a { 576 text-transform:none !important; 577} 578</style></div></div><div class="mb_dropdown_col_b mb_dropdown_col_b_hide"><div class="mb_nav_eyebrow_b">Latest</div><div class="code-embed-3 w-embed"><style> 579#w-dropdown-list-0 a { 580 text-transform:none !important; 581} 582</style></div><div class="collection-list-wrapper-10 w-dyn-list"><div role="list" class="collection-list-7 w-dyn-items w-row"><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/fintech-engagement-strategies" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1).png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1).png 1279w"/><div class="mb_nav_desc">5 fintech engagement strategies for higher customer retention (with real examples)</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/card-linked-offers" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers.png 1279w"/><div class="mb_nav_desc">Why card-linked offers (CLOs) work and how you can use them to monetize your app</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/mobile-game-influencer-marketing" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games.png 1279w"/><div class="mb_nav_desc">Mobile game influencer marketing: What actually works, according to someone who's spent $30M finding out</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/bank-and-credit-card-loyalty-programs" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs.png 1279w"/><div class="mb_nav_desc">Beyond points: Revamping bank and credit card loyalty programs in todayâs market</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/connections-live-2026" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%2
5820(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1).avif 1417w"/><div class="mb_nav_desc">Connections Live 2026 highlights: Bringing the power of rewarded to fuel and convenience brands</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/fuel-case-study-sinclair-oil" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-1600.avif 1600w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1).avif 2048w"/><div class="mb_nav_desc">Fuelling return trips: How Sinclair Oil drove 42% more visits and 9.7% more fuel purchases with LoyaltyPlay</div></a></div><div data-available-languages="EN" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/c-store-fuel-customer-loyalty-programs" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-1600.avif 1600w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-2000.avif 2000w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1).avif 2500w"/><div class="mb_nav_desc">Building fuel & c-store loyalty that lasts: A new approach for operators </div></a></div><div data-available-languages="en,zh,ja,ko" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/igg-case-study" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1).avif 1417w"/><div class="mb_nav_desc">IGG partners with Mistplay to unlock 300% install growth for Doomsday: Last Survivors in Japan</div></a></div><div data-available-languages="en,ja,ko" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/fintech-gamification" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20B
582anner.avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-1600.avif 1600w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner.avif 2000w"/><div class="mb_nav_desc">How gamification can turn your fintech app into a daily app</div></a></div><div data-available-languages="en,zh,ja,ko" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/chinajoy-2026-highlights" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1).avif 1417w"/><div class="mb_nav_desc">ChinaJoy 2026 highlights insights: Reshaping mobile gaming growth in peak summer</div></a></div></div></div></div></nav></div><div data-delay="0" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div href="#" class="mb_nav_dropdown_title">Company</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/about-us" class="mb_nav_label_b w-dropdown-link">About Us</a><a href="/newsroom" class="mb_nav_label_b w-dropdown-link">Newsroom</a></div></div><div class="code-embed-3 w-embed"><style> 583#w-dropdown-list-0 a { 584 text-transform:none !important; 585} 586</style></div></div></nav></div><div class="code-embed-4 w-embed"><style> 587nav#w-dropdown-list-3 { 588 width: max-content !important; 589} 590nav#w-dropdown-list-2 { 591 right: 0; 592 left: auto; 593} 594@media (max-width: 1645px) { 595 .dropdown-list.resource-styling.w--open { 596 flex-flow:column !important; 597 width:35rem; 598 justify-content:left; 599 } 600 .container-28 { 601 width: 100% !important; 602 } 603} 604</style></div></div></nav></div><div class="mb_nav_cta_wrapper_b"><div data-delay="300" data-hover="true" class="wg-dropdown-1 w-dropdown"><nav class="wg-dd-1-list wg-dropdown-link-flag w-dropdown-list"><a id="lang-fr" lang="fr" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="french flag icon" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501b_FR.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">FR</div></div></a><a id="lang-ko" lang="ko" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="Korean flag icon" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501e_KR.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">KO</div></div></a><a id="lang-ko" lang="de" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="German flag icon" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501a_GE.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">DE</div></div></a><a id="lang-zh" lang="zh" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745140_CN_Flag.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">
604ZH</div></div></a></nav></div><div class="wg-element-wrapper sw6"><div class="mb_nav_embed w-embed w-script"><!-- Language Redirect Banner --> 605<div class="lang-redirect-banner" id="lang-redirect-banner" style="display: none;"> 606 <div class="banner-content"> 607 <span class="banner-text">This article is not yet available in your selected language. You are viewing the English version.</span> 608 <button class="banner-close" aria-label="Close banner">×</button> 609 </div> 610</div> 611 612<!-- <style> 613h1.mb_h1.mb_text_primary { 614 word-break: keep-all; 615 overflow-wrap: break-word; 616} 617html[lang="ja"] h1.mb_h1.mb_text_primary { 618 font-size: clamp(2.5rem, 6vw, 5rem); 619} 620</style> --> 621<!-- Fix JA word breaks -->
622<script> 623 const isJa = location.hostname.startsWith('ja.') 624 || new URLSearchParams(location.search).get('lang') === 'ja'; 625 if (isJa && location.pathname.startsWith('/resources') && location.pathname !== '/resources/locone-loyaltyplay-case-study') { 626 const s = document.createElement('script'); 627 s.src = 'https://cdn.jsdelivr.net/npm/[email protected]/bundle/budoux-ja.min.js'; 628 s.defer = true; 629 s.onload = () => { 630 const apply = () => { 631 document.querySelectorAll('h1, .hero h1, .blog-post-title').forEach(el => { 632 const text = el.textContent.trim(); 633 if (!text || el.querySelector('budoux-ja')) return; 634 const b = document.createElement('budoux-ja'); 635 b.textContent = text; 636 el.textContent = ''; 637 el.appendChild(b); 638 }); 639 }; 640 if (document.readyState === 'loading') { 641 document.addEventListener('DOMContentLoaded', apply); 642 } else { 643 apply(); 644 } 645 }; 646 document.head.appendChild(s); 647 648 const style = document.createElement('style'); 649 style.textContent = ` 650 h1, .hero h1, .blog-post-title { 651 word-break: keep-all; 652 overflow-wrap: anywhere; 653 line-break: strict; 654 } 655 `; 656 document.head.appendChild(style); 657 } 658</script>
658 659 660<!-- KO: site-wide word-break rules -->
661<script> 662 const isKo = location.hostname.startsWith('ko.') 663 || new URLSearchParams(location.search).get('lang') === 'ko'; 664 if (isKo) { 665 const koStyle = document.createElement('style'); 666 koStyle.textContent = ` 667 html { 668 word-break: keep-all; 669 overflow-wrap: break-word; 670 } 671 `; 672 document.head.appendChild(koStyle); 673 } 674</script>
674 675 676<style> 677 .article-richtext li { 678 color: #5b5c81 !important; 679 } 680 p.mb_p.mb_p-sm.mb_text_primary.mb_text_center { 681 margin-top: 1rem; 682 } 683 684 .mb_card_a.mb_border_primary p { 685 line-height: 1.7; 686 } 687 .mb_h3.mb_text_primary.mb_text_center.mb_text_no-margin.mb_card_b_title { 688 line-height: 1.3; 689 } 690 .mb_p_sm.mb_text_primary.mb_text_center { 691 line-height: 1.3; 692} 693 694 address#lang-en div { 695 color: white; 696 } 697 698 .language-dropdown { 699 position: relative; 700 display: inline-block; 701 cursor: pointer; 702 } 703 704 .dropdown-toggle { 705 display: flex; 706 align-items: center; 707 padding: 10px; 708 border-radius: 4px; 709 } 710 711 .dropdown-toggle .flag img { 712 width: 100% !important; 713 height: 20px; 714 margin-right: 10px; 715 } 716 717 .dropdown-toggle .language-code { 718 font-size: 16px; 719 color: white; 720 } 721 722 .dropdown-list { 723 display: none; 724 position: absolute; 725 top: 100%; 726 left: 0; 727 background-color: #fff; 728 border: 1px solid #ccc; 729 border-radius: 4px; 730 box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); 731 z-index: 1; 732 } 733 734 .language-dropdown:hover .dropdown-list { 735 display: block; 736 } 737 738 .dropdown-link { 739 display: flex; 740 align-items: center; 741 padding: 10px; 742 text-decoration: none; 743 color: #000; 744 } 745 746 .dropdown-link:hover { 747 background-color: #f1f1f1; 748 } 749 750 .dropdown-link .flag { 751 width: 30px; 752 } 753 754 .dropdown-link .flag img { 755 width: 100% !important; 756 height: 20px; 757 margin-right: 10px; 758 } 759 760 .dropdown-link .language-code { 761 font-size: 16px; 762 } 763 764 .wg-element-wrapper.sw6 { 765 width: auto !important; 766 } 767 768 .wg-dd-1-list .txt-m, 769 .wg-dd-1-list .txt-medium, 770 .wg-dd-1-list .mb_text_lang_dropdown { 771 color: black !important; 772 } 773 774 .wg-dropdown-1-link-2 .txt-m, 775 .wg-dropdown-1-link-2 .txt-medium, 776 .wg-dropdown-1-link-2 .mb_text_lang_dropdown { 777 color: black !important; 778 } 779 780 .language-current { 781 opacity: 0.5; 782 pointer-events: none; 783 background-color: #f5f5f5 !important; 784 } 785 786 .language-current .mb_text_lang_dropdown { 787 color: #999 !important; 788 } 789 790 #lang-current .txt-m, 791 #lang-current .txt-medium, 792 #lang-current #current-lang-text { 793 color: white !important; 794 } 795 796 .wg-default.weglot-container--left, 797 .wg-default.weglot-container--left .country-selector { 798 display: none; 799 } 800 801 .lang-unavailable { 802 opacity: 0.4 !important; 803 pointer-events: none !important; 804 cursor: not-allowed !important; 805 background-color: #f9f9f9 !important; 806 } 807 808 .lang-unavailable .mb_text_lang_dropdown { 809 color: #999 !important; 810 } 811 812 .lang-unavailable .wg-flag-ico { 813 filter: grayscale(100%); 814 } 815 816 /* Hide items not available in current language */ 817 .lang-hidden { 818 display: none !important; 819 } 820 821 /* Custom pagination styles */ 822 .custom-pagination { 823 display: flex; 824 justify-content: center; 825 align-items: center; 826 gap: 10px; 827 margin-top: 30px; 828 padding: 20px; 829 } 830 831 .pagination-btn { 832 padding: 10px 20px; 833 border: 1px solid #ddd; 834 border-radius: 6px; 835 text-decoration: none; 836 color: #333; 837 background: #fff; 838 transition: all 0.2s; 839 } 840 841 .pagination-btn:hover { 842 background: #f5f5f5; 843 border-color: #999; 844 } 845 846 .pagination-info { 847 padding: 10px 20px; 848 font-weight: 500; 849 } 850 851 .no-results-message { 852 text-align: center; 853 padding: 60px 20px; 854 color: #666; 855 font-size: 18px; 856 } 857 858 /* Redirect Banner Styles */ 859 .lang-redirect-banner { 860 position: fixed; 861 top: 0; 862 left: 0; 863 right: 0; 864 background: #1a1a2e; 865 color: #ffffff; 866 padding: 12px 20px; 867 z-index: 9999; 868 box-shadow: 0 2px 10px rgba(0,0,0,0.2); 869 } 870 871 .lang-redirect-banner .banner-content { 872 max-width: 1200px; 873 margin: 0 auto; 874 display: flex; 875 align-items: center; 876 justify-content: center; 877 gap: 12px; 878 } 879 880 .lang-redirect-banner .banner-text { 881 font-size: 14px; 882 } 883 884 .lang-redirect-banner .banner-close { 885 background: none; 886 border: none; 887 color: #ffffff; 888 font-size: 24px; 889 cursor: pointer; 890 padding: 0 8px; 891 opacity: 0.7; 892 line-height: 1; 893 } 894
895 .lang-redirect-banner .banner-close:hover { 896 opacity: 1; 897 } 898</style> 899 900<div data-delay="300" data-hover="true" data-w-id="a78c205e-83e8-11e6-c4bb-7fd3d1591490" 901 class="wg-dropdown-1 w-dropdown" style="background-color: rgba(0, 0, 0, 0);"> 902 <address id="lang-current" class="wg-dd-1-togle-2 w-dropdown-toggle" aria-controls="w-dropdown-list-3" 903 aria-haspopup="menu" aria-expanded="false" role="button" tabindex="0"> 904 <div class="wg-selector-text-wrapper v-mg-xxxs"> 905 <div class="wg-flag"> 906 <img id="current-flag" alt="Current language flag" 907 src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745029_UK.svg" 908 class="wg-flag-ico"> 909 </div> 910 <div id="current-lang-text" class="txt-m txt-medium">EN</div> 911 </div> 912 </address> 913 <nav class="wg-dd-1-list wg-dropdown-link-flag w-dropdown-list" id="w-dropdown-list-3" aria-labelledby="lang-current"> 914 </nav> 915</div> 916
917<script> 918// Enhanced Mistplay Language Selector with Language Visibility Control 919(function () { 920 'use strict'; 921 922 // Note: On production, we work WITH Weglot instead of fighting its URL interception 923 // We use Weglot.switchTo('en') to show English content while staying on the language subdomain 924 925 document.addEventListener('DOMContentLoaded', function() { 926 const STAGING_DOMAINS = ['webflow.io', 'webflow.com']; 927 const isStaging = STAGING_DOMAINS.some(d => window.location.hostname.includes(d)); 928 929 const LANGUAGE_CONFIG = { 930 'en': { 931 domain: 'business.mistplay.com', 932 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745029_UK.svg', 933 alt: 'UK flag icon', 934 code: 'EN' 935 }, 936 'fr': { 937 domain: 'fr.business.mistplay.com', 938 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501b_FR.svg', 939 alt: 'French flag icon', 940 code: 'FR' 941 }, 942 'de': { 943 domain: 'de.business.mistplay.com', 944 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501a_GE.svg', 945 alt: 'German flag icon', 946 code: 'DE' 947 }, 948 'ko': { 949 domain: 'ko.business.mistplay.com', 950 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501e_KR.svg', 951 alt: 'Korean flag icon', 952 code: 'KO' 953 }, 954 'ja': { 955 domain: 'ja.business.mistplay.com', 956 flag: 'https://cdn.prod.website-files.com/5f0ca36cf0757c5e00e2ee0a/662a84fb93e86ddf145d8d7d_ja-ico.png', 957 alt: 'Japanese flag icon', 958 code: 'JA' 959 }, 960 'zh': { 961 domain: 'zh.business.mistplay.com', 962 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745140_CN_Flag.svg', 963 alt: 'Chinese flag icon', 964 code: 'ZH' 965 } 966 }; 967 968 const currentUrlPath = window.location.pathname; 969 const currentDomain = window.location.hostname; 970 971 const getCurrentLangFromUrl = () => { 972 if (isStaging) { 973 const urlParams = new URLSearchParams(window.location.search); 974 const langParam = urlParams.get('lang'); 975 return (langParam && LANGUAGE_CONFIG[langParam.toLowerCase()]) ? langParam.toLowerCase() : 'en'; 976 } 977 const subdomain = currentDomain.split('.')[0]; 978 return LANGUAGE_CONFIG[subdomain] ? subdomain : 'en'; 979 }; 980 981 const currentLanguage = getCurrentLangFromUrl(); 982 const currentLanguageConfig = LANGUAGE_CONFIG[currentLanguage]; 983 984 // Override top announcement banner text on ja / ko subdomains. 985 // Runs before the dropdown null-check so it still applies on pages without the selector. 986 const updateAnnouncementBanner = () => { 987 const bannerTexts = { 988 'ja': 'MAFã¨MyChipsã¯ããã®ãã³Mistplayã®ãã©ã³ãã¨ãã¦æ°ããªã¹ã¿ã¼ããåãã¾ããããã¾ã§ã¨å¤ãããªããã¼ã ã§ãããããã¯Mistplayã¨ãã¦ãµã¼ãã¹ãæä¾ãã¦ã¾ããã¾ãã', 989 'ko': 'MAFì MyChipsë ì´ì Mistplayì ì¼ë¶ì ëë¤. ìì¼ë¡ë Mistplayìì ë§ëë³´ì¸ì' 990 }; 991 const newText = bannerTexts[currentLanguage]; 992 if (!newText) return; 993 document.querySelectorAll('.mb_link_banner_desktop, .mb_link_banner_mobile').forEach(el => { 994 el.textContent = newText; 995 }); 996 }; 997 updateAnnouncementBanner(); 998 999 const currentFlag = document.getElementById('current-flag'); 1000 const currentLangText = document.getElementById('current-lang-text'); 1001 const dropdownList = document.getElementById('w-dropdown-list-3'); 1002 1003 if (!dropdownList) { 1004 console.log('Language dropdown not found'); 1005 return; 1006 } 1007 1008 const getAvailableLanguages = () => { 1009 const articleContainer = document.querySelector('[data-article-languages]'); 1010 if (!articleContainer) return null; 1011 const availableLangs = articleContainer.getAttribute('data-article-languages') || 'en'; 1012 return availableLangs.split(',').map(l => l.trim().toLowerCase()); 1013 }; 1014 1015 const isLanguageAvailable = (lang, availableLangs) => { 1016 if (!availableLangs) return true; 1017 return availableLangs.includes(lang); 1018 }; 1019 1020 // Set current language display 1021 if (currentFlag && currentLangText && currentLanguageConfig) { 1022 currentFlag.src = currentLanguageConfig.flag; 1023 currentFlag.alt = currentLanguageConfig.alt; 1024 currentLangText.innerHTML = currentLanguageConfig.code; 1025 } 1026 1027 const availableLangs = getAvailableLanguages(); 1028 1029 // Populate dropdown 1030 Object.keys(LANGUAGE_CONFIG).forEach(lang => { 1031 const langConfig = LANGUAGE_CONFIG[lang]; 1032 const langItem = document.createElement('a'); 1033 langItem.className = 'wg-dropdown-1-link-2 wg-dd-1-list-item w-dropdown-link'; 1034 langItem.setAttribute('data-lang', lang); 1035 1036 const isAvailable = isLanguageAvailable(lang, availableLangs); 1037 1038 if (!isAvailable) { 1039 langItem.classList.add('lang-unavailable'); 1040 langItem.setAttribute('title', 'This article is not available in this language'); 1041 langItem.setAttribute('aria-disabled', 'true'); 1042 } else { 1043 if (isStaging) { 1044 const url = new URL(window.location.href); 1045 if (lang === 'en') { 1046 url.searchParams.delete('lang'); 1047 } else { 1048 url.searchParams.set('lang', lang); 1049 } 1050 langItem.href = url.toString(); 1051 } else { 1052 if (lang === 'en') { 1053 langItem.href = `https://business.mistplay.com${currentUrlPath}`; 1054 } else { 1055 langItem.href = `https://${langConfig.domain}${currentUrlPath}`; 1056 } 1057 } 1058 } 1059 1060 langItem.setAttribute('aria-label', `Switch to ${langConfig.code}${!isAvailable ? ' (not available)' : ''}`); 1061 langItem.innerHTML = ` 1062 <div class="wg-selector-text-wrapper"> 1063 <div class="wg-flag"> 1064 <img src="${langConfig.flag}" alt="${langConfig.alt}" class="wg-flag-ico"> 1065 </div> 1066 <div class="txt-m txt-medium mb_text_lang_dropdown">${langConfig.code}</div> 1067 </div> 1068 `; 1069 dropdownList.appendChild(langItem); 1070 }); 1071 1072 // Redirect handler for unavailable languages 1073 const checkAndRedirect = () => { 1074 // Skip if already redirected (prevent loops)
1075 const urlParams = new URLSearchParams(window.location.search); 1076 if (urlParams.get('redirectedFrom')) return; 1077 1078 const articleContainer = document.querySelector('[data-article-languages]'); 1079 if (!articleContainer) return; 1080 1081 const articleLangs = articleContainer.getAttribute('data-article-languages') || 'en'; 1082 const langArray = articleLangs.split(',').map(l => l.trim().toLowerCase()).filter(Boolean); 1083 1084 if (langArray.includes(currentLanguage)) return; 1085 1086 // Redirect to the first language listed in available-languages. 1087 const targetLang = langArray[0] || 'en'; 1088 const targetConfig = LANGUAGE_CONFIG[targetLang]; 1089 if (!targetConfig) return; 1090 1091 console.log('[LangControl] Article not available in ' + currentLanguage + ', switching to ' + targetLang); 1092 1093 if (isStaging) { 1094 // For staging, redirect with URL param 1095 const url = new URL(window.location.href); 1096 if (targetLang === 'en') { 1097 url.searchParams.delete('lang'); 1098 } else { 1099 url.searchParams.set('lang', targetLang); 1100 } 1101 url.searchParams.set('redirectedFrom', currentLanguage); 1102 window.location.href = url.toString(); 1103 } else { 1104 // Production: use window.name to pass data across subdomain navigation. 1105 window.name = JSON.stringify({ 1106 langRedirect: { 1107 from: currentLanguage, 1108 path: currentUrlPath, 1109 time: Date.now() 1110 } 1111 }); 1112 1113 if (currentLanguage !== 'en' && targetLang === 'en') { 1114 // Existing pattern: swap non-EN â EN via Weglot on the current subdomain. 1115 console.log('[LangControl] Set window.name, now calling Weglot.switchTo(en)'); 1116 const switchToEnglish = () => { 1117 if (typeof Weglot !== 'undefined' && Weglot.switchTo) { 1118 Weglot.switchTo('en'); 1119 } 1120 }; 1121 if (typeof Weglot !== 'undefined' && Weglot.switchTo) { 1122 switchToEnglish(); 1123 } else { 1124 const checkWeglot = setInterval(() => { 1125 if (typeof Weglot !== 'undefined' && Weglot.switchTo) { 1126 clearInterval(checkWeglot); 1127 switchToEnglish(); 1128 } 1129 }, 100); 1130 setTimeout(() => clearInterval(checkWeglot), 5000); 1131 } 1132 } else { 1133 // Any other case (EN â non-EN, or non-EN â different non-EN): navigate directly to target subdomain. 1134 window.location.href = 'https://' + targetConfig.domain + currentUrlPath; 1135 } 1136 } 1137 }; 1138 1139 // Filter and paginate listing page items by language 1140 const filterAndPaginateItems = () => { 1141 const listingPages = ['/resources', '/article-tags/', '/reports']; 1142 const isListingPage = listingPages.some(p => currentUrlPath.startsWith(p) || currentUrlPath === p); 1143 1144 if (!isListingPage) return; 1145 1146 const ITEMS_PER_PAGE = 9; 1147 // Only target main content items (not nav dropdowns or hero sections) 1148 const mainContainer = document.querySelector('.w-container .w-dyn-list, .mb_container .w-dyn-list'); 1149 if (!mainContainer) return; 1150 const allItems = mainContainer.querySelectorAll('.w-dyn-item[data-available-languages]'); 1151 1152 // Filter items based on language. 1153 // Empty data-available-languages == English only. 1154 // A non-empty list means the item is visible only in those languages 1155 // (so a "ja"-only item is hidden on the English listing). 1156 const filteredItems = []; 1157 allItems.forEach((item) => { 1158 const availableLangs = item.getAttribute('data-available-languages'); 1159 1160 if (!availableLangs || availableLangs.trim() === '') { 1161 if (currentLanguage === 'en') { 1162 filteredItems.push(item); 1163 } else { 1164 item.classList.add('lang-hidden'); 1165 } 1166 } else { 1167 const langArray = availableLangs.split(',').map(l => l.trim().toLowerCase()); 1168 if (langArray.includes(currentLanguage)) { 1169 filteredItems.push(item); 1170 } else { 1171 item.classList.add('lang-hidden'); 1172 } 1173 } 1174 }); 1175 1176 // Sort by data-custom-date (descending). Items missing the attribute 1177 // sort to the end, preserving DOM order among themselves. 1178 filteredItems.sort((a, b) => { 1179 const aRaw = (a.getAttribute('data-custom-date') || '').trim(); 1180 const bRaw = (b.getAttribute('data-custom-date') || '').trim(); 1181 const aTime = aRaw ? Date.parse(aRaw) : NaN; 1182 const bTime = bRaw ? Date.parse(bRaw) : NaN; 1183 const aValid = !isNaN(aTime); 1184 const bValid = !isNaN(bTime);
1185 if (aValid && bValid) return bTime - aTime; 1186 if (aValid) return -1; 1187 if (bValid) return 1; 1188 return 0; 1189 }); 1190 1191 // Reorder DOM so paginated slices render in sorted order. 1192 const sortParent = filteredItems[0] && filteredItems[0].parentNode; 1193 if (sortParent) { 1194 filteredItems.forEach(item => sortParent.appendChild(item)); 1195 } 1196 1197 1198 // If no items or only one page, no pagination needed 1199 if (filteredItems.length === 0) { 1200 hideWebflowPagination(); 1201 showNoResultsMessage(); 1202 return; 1203 } 1204 1205 // Get current page from URL 1206 const urlParams = new URLSearchParams(window.location.search); 1207 let currentPage = parseInt(urlParams.get('page')) || 1; 1208 const totalPages = Math.ceil(filteredItems.length / ITEMS_PER_PAGE); 1209 1210 // Clamp to valid range 1211 if (currentPage > totalPages) currentPage = totalPages; 1212 if (currentPage < 1) currentPage = 1; 1213 1214 // Hide all filtered items first 1215 filteredItems.forEach(item => item.classList.add('lang-hidden')); 1216 1217 // Show only items for current page 1218 const startIndex = (currentPage - 1) * ITEMS_PER_PAGE; 1219 const endIndex = startIndex + ITEMS_PER_PAGE; 1220 filteredItems.slice(startIndex, endIndex).forEach(item => { 1221 item.classList.remove('lang-hidden'); 1222 }); 1223 1224 // Update pagination UI 1225 updatePaginationUI(currentPage, totalPages, filteredItems.length); 1226 }; 1227 1228 const hideWebflowPagination = () => { 1229 const webflowPagination = document.querySelector('.w-pagination-wrapper'); 1230 if (webflowPagination) { 1231 webflowPagination.style.display = 'none'; 1232 } 1233 }; 1234 1235 const showNoResultsMessage = () => { 1236 const container = document.querySelector('.w-dyn-list'); 1237 if (container && !document.querySelector('.no-results-message')) { 1238 const msg = document.createElement('div'); 1239 msg.className = 'no-results-message'; 1240 msg.style.cssText = 'text-align: center; padding: 40px; color: #666;'; 1241 msg.textContent = 'No articles available in this language yet.'; 1242 container.appendChild(msg); 1243 } 1244 }; 1245 1246 const updatePaginationUI = (currentPage, totalPages, totalItems) => { 1247 // Hide Webflow's pagination 1248 hideWebflowPagination(); 1249 1250 // Remove existing custom pagination 1251 const existingPagination = document.querySelector('.custom-pagination'); 1252 if (existingPagination) existingPagination.remove(); 1253 1254 // Don't show pagination if only 1 page 1255 if (totalPages <= 1) return; 1256 1257 // Find the main collection list (not nav dropdowns) 1258 const collectionList = document.querySelector('.w-container .w-dyn-list, .mb_container .w-dyn-list'); 1259 if (!collectionList) { 1260 console.log('Collection list not found for pagination'); 1261 return; 1262 } 1263 1264 // Create pagination container 1265 const paginationDiv = document.createElement('div'); 1266 paginationDiv.className = 'custom-pagination'; 1267 paginationDiv.style.cssText = 'display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 30px; padding: 20px;'; 1268 1269 // Previous button 1270 const prevBtn = document.createElement('a'); 1271 prevBtn.className = 'pagination-btn pagination-prev'; 1272 prevBtn.textContent = 'â Previous'; 1273 prevBtn.style.cssText = 'padding: 8px 16px; border: 1px solid #ccc; border-radius: 4px; text-decoration: none; color: #333; cursor: pointer;'; 1274 if (currentPage === 1) { 1275 prevBtn.style.opacity = '0.5'; 1276 prevBtn.style.pointerEvents = 'none'; 1277 } else { 1278 prevBtn.href = updateUrlParam('page', currentPage - 1); 1279 } 1280 1281 // Page info 1282 const pageInfo = document.createElement('span'); 1283 pageInfo.className = 'pagination-info'; 1284 pageInfo.textContent = `${currentPage} / ${totalPages}`; 1285 pageInfo.style.cssText = 'padding: 8px 16px; font-weight: 500;'; 1286 1287 // Next button 1288 const nextBtn = document.createElement('a'); 1289 nextBtn.className = 'pagination-btn pagination-next';
1290 nextBtn.textContent = 'Next â'; 1291 nextBtn.style.cssText = 'padding: 8px 16px; border: 1px solid #ccc; border-radius: 4px; text-decoration: none; color: #333; cursor: pointer;'; 1292 if (currentPage === totalPages) { 1293 nextBtn.style.opacity = '0.5'; 1294 nextBtn.style.pointerEvents = 'none'; 1295 } else { 1296 nextBtn.href = updateUrlParam('page', currentPage + 1); 1297 } 1298 1299 paginationDiv.appendChild(prevBtn); 1300 paginationDiv.appendChild(pageInfo); 1301 paginationDiv.appendChild(nextBtn); 1302 1303 collectionList.parentNode.insertBefore(paginationDiv, collectionList.nextSibling); 1304 }; 1305 1306 const updateUrlParam = (key, value) => { 1307 const url = new URL(window.location.href); 1308 url.searchParams.set(key, value); 1309 return url.toString(); 1310 }; 1311 1312 filterAndPaginateItems(); 1313 1314 // Filter nav dropdown items by language and show only first N available 1315 const filterNavDropdownItems = () => { 1316 const MAX_VISIBLE_NAV_ITEMS = 2; // Number of items to show in dropdown 1317 1318 // Find all nav dropdowns with collection lists 1319 const navDropdowns = document.querySelectorAll('.mb_dropdown_b .w-dyn-list, nav .w-dyn-list'); 1320 1321 navDropdowns.forEach(dropdownList => { 1322 const items = dropdownList.querySelectorAll('.w-dyn-item[data-available-languages]'); 1323 if (items.length === 0) return; 1324 1325 let visibleCount = 0; 1326 1327 items.forEach(item => { 1328 const availableLangs = item.getAttribute('data-available-languages'); 1329 let isAvailable; 1330 1331 if (!availableLangs || availableLangs.trim() === '') { 1332 // Empty = English only 1333 isAvailable = currentLanguage === 'en'; 1334 } else { 1335 const langArray = availableLangs.split(',').map(l => l.trim().toLowerCase()); 1336 isAvailable = langArray.includes(currentLanguage); 1337 } 1338 1339 // Show item if available and under the limit 1340 if (isAvailable && visibleCount < MAX_VISIBLE_NAV_ITEMS) { 1341 item.classList.remove('lang-hidden'); 1342 visibleCount++; 1343 } else { 1344 item.classList.add('lang-hidden'); 1345 } 1346 }); 1347 }); 1348 }; 1349 1350 filterNavDropdownItems(); 1351 1352 // Filter hero/featured sections - show first available item 1353 const filterHeroSections = () => { 1354 const MAX_VISIBLE_HERO_ITEMS = 1; // Usually just 1 featured item 1355 1356 // Find hero sections by parent class 1357 const heroSections = document.querySelectorAll('.mb_hero_b .w-dyn-list, [class*="hero"] .w-dyn-list, [class*="featured"] .w-dyn-list'); 1358 1359 heroSections.forEach(heroList => { 1360 const items = heroList.querySelectorAll('.w-dyn-item[data-available-languages]'); 1361 if (items.length === 0) return; 1362 1363 let visibleCount = 0; 1364 1365 items.forEach(item => { 1366 const availableLangs = item.getAttribute('data-available-languages'); 1367 let isAvailable; 1368 1369 if (!availableLangs || availableLangs.trim() === '') { 1370 // Empty = English only 1371 isAvailable = currentLanguage === 'en'; 1372 } else { 1373 const langArray = availableLangs.split(',').map(l => l.trim().toLowerCase()); 1374 isAvailable = langArray.includes(currentLanguage); 1375 } 1376 1377 // Show item if available and under the limit 1378 if (isAvailable && visibleCount < MAX_VISIBLE_HERO_ITEMS) { 1379 item.classList.remove('lang-hidden'); 1380 visibleCount++; 1381 } else { 1382 item.classList.add('lang-hidden'); 1383 } 1384 }); 1385 1386 // If no items available, optionally hide the whole section 1387 if (visibleCount === 0) { 1388 heroList.closest('.mb_hero_b, [class*="hero"], [class*="featured"]')?.classList.add('lang-hidden'); 1389 } 1390 }); 1391 }; 1392 1393 filterHeroSections(); 1394 1395 // Filter content-page CMS lists whose lang/date attributes live on a child 1396 // (e.g. .mb_card_c) rather than on the .w-dyn-item wrapper. 1397 // Runs on non-listing pages (listings already handled by filterAndPaginateItems). 1398 const filterCardSections = () => { 1399 const listingPages = ['/resources', '/article-tags/', '/reports']; 1400 if (listingPages.some(p => currentUrlPath.startsWith(p) || currentUrlPath === p)) return; 1401 1402 const excludeSelector = '.mb_dropdown_b, nav, .mb_hero_b, [class*="hero"], [class*="featured"]'; 1403 const carriers = document.querySelectorAll('.w-dyn-item [data-available-languages]'); 1404 if (carriers.length === 0) return; 1405 1406 // Group entries by their parent .w-dyn-list 1407 const lists = new Map();
1408 carriers.forEach(carrier => { 1409 const item = carrier.closest('.w-dyn-item'); 1410 const list = item && item.closest('.w-dyn-list'); 1411 if (!list || !item) return; 1412 if (list.closest(excludeSelector)) return; // nav / hero handled elsewhere 1413 if (!lists.has(list)) lists.set(list, []); 1414 lists.get(list).push({ item, carrier }); 1415 }); 1416 1417 lists.forEach((entries, list) => { 1418 const filtered = []; 1419 entries.forEach(({ item, carrier }) => { 1420 const langsAttr = (carrier.getAttribute('data-available-languages') || '').trim(); 1421 const dateStr = (carrier.getAttribute('data-custom-date') || '').trim(); 1422 const dateOk = dateStr && !isNaN(Date.parse(dateStr)); 1423 const langOk = langsAttr === '' 1424 ? currentLanguage === 'en' 1425 : langsAttr.split(',').map(s => s.trim().toLowerCase()).includes(currentLanguage); 1426 1427 if (langOk && dateOk) { 1428 item.classList.remove('lang-hidden'); 1429 filtered.push({ item, carrier }); 1430 } else { 1431 item.classList.add('lang-hidden'); 1432 } 1433 }); 1434 1435 // Sort newest-first by data-custom-date 1436 filtered.sort((a, b) => Date.parse(b.carrier.getAttribute('data-custom-date')) 1437 - Date.parse(a.carrier.getAttribute('data-custom-date'))); 1438 1439 // Cap each section at 3 visible items; hide the overflow 1440 const MAX_ITEMS_PER_SECTION = 3; 1441 const visible = filtered.slice(0, MAX_ITEMS_PER_SECTION); 1442 filtered.slice(MAX_ITEMS_PER_SECTION).forEach(({ item }) => item.classList.add('lang-hidden')); 1443 1444 // Reorder DOM so the visible top-N render in sorted order 1445 const parent = visible[0] && visible[0].item.parentNode; 1446 if (parent) visible.forEach(({ item }) => parent.appendChild(item)); 1447 1448 // Hide the surrounding section if nothing matched 1449 if (visible.length === 0) { 1450 const section = list.closest('section'); 1451 if (section) section.classList.add('lang-hidden'); 1452 } 1453 }); 1454 }; 1455 1456 filterCardSections(); 1457 1458 checkAndRedirect(); 1459 1460 // Show banner if redirected from unavailable language 1461 const showRedirectBanner = () => { 1462 const urlParams = new URLSearchParams(window.location.search); 1463 1464 // Check URL param (staging) or cookie (production with Weglot) 1465 let redirectedFrom = urlParams.get('redirectedFrom'); 1466 1467 // For production: check window.name (persists across subdomain navigation) 1468 console.log('[LangControl] showRedirectBanner - URL param:', redirectedFrom); 1469 console.log('[LangControl] showRedirectBanner - window.name:', window.name); 1470 console.log('[LangControl] showRedirectBanner - Current path:', currentUrlPath); 1471 1472 if (!redirectedFrom && window.name) { 1473 try { 1474 const windowData = JSON.parse(window.name); 1475 if (windowData.langRedirect) { 1476 const redirectInfo = windowData.langRedirect; 1477 console.log('[LangControl] Parsed window.name:', redirectInfo); 1478 if (redirectInfo.path === currentUrlPath) { 1479 console.log('[LangControl] Path matches, using window.name redirect info'); 1480 redirectedFrom = redirectInfo.from; 1481 // Clear window.name 1482 window.name = ''; 1483 } 1484 } 1485 } catch (e) { 1486 // window.name wasn't our JSON data, ignore 1487 console.log('[LangControl] window.name not valid JSON (normal if no redirect)'); 1488 } 1489 } 1490 1491 // Clean up URL immediately (staging) 1492 if (urlParams.get('redirectedFrom')) { 1493 const cleanUrl = new URL(window.location.href); 1494 cleanUrl.searchParams.delete('redirectedFrom'); 1495 window.history.replaceState({}, '', cleanUrl.toString()); 1496 } 1497 1498 // Check if we already showed banner for this redirect 1499 const bannerKey = 'langBannerShown_' + window.location.pathname; 1500 if (!redirectedFrom || sessionStorage.getItem(bannerKey)) return; 1501 1502 const banner = document.getElementById('lang-redirect-banner'); 1503 1504 if (banner) { 1505 const langNames = { 1506 'en': 'English', 1507 'fr': 'French', 1508 'de': 'German', 1509 'ko': 'Korean', 1510 'ja': 'Japanese', 1511 'zh': 'Chinese' 1512 }; 1513 1514 const fromName = langNames[redirectedFrom] || redirectedFrom.toUpperCase(); 1515 const currentName = langNames[currentLanguage] || currentLanguage.toUpperCase(); 1516 const textEl = banner.querySelector('.banner-text'); 1517 if (textEl) { 1518 textEl.textContent = `This article is not yet available in ${fromName}. You are viewing the ${currentName} version.`; 1519 } 1520 1521 banner.style.display = 'block'; 1522 document.body.style.paddingTop = banner.offsetHeight + 'px'; 1523 1524 // Mark banner as shown for this page 1525 sessionStorage.setItem(bannerKey, 'true'); 1526 } 1527 }; 1528 1529 // Close banner handler 1530 const closeBanner = document.querySelector('.banner-close'); 1531 if (closeBanner) { 1532 closeBanner.addEventListener('click', function() { 1533 const banner = document.getElementById('lang-redirect-banner'); 1534 if (banner) { 1535 banner.style.display = 'none'; 1536 document.body.style.paddingTop = ''; 1537 } 1538 }); 1539 } 1540 1541 showRedirectBanner(); 1542 }); 1543})(); 1544</script>
1544 1545</div></div><a href="#" id="contact_form" class="mb_button_secondary_nav w-button">Contact us</a></div><div class="w-embed"><style> 1546 1547 /* center nav dropdown content */ 1548 1549 /* for desktop */ 1550 @media (min-width: 992px) { 1551 .mb_dropdown_list_b { 1552 left: 50% !important; 1553 right: auto !important; 1554 transform: translateX(-50%); 1555 } 1556 } 1557 1558 /* for tablet, mobile */ 1559 @media (max-width: 991px) { 1560 .mb_dropdown_list_b { 1561 left: 0 !important; 1562 right: auto !important; 1563 transform: none !important; 1564 } 1565 } 1566 1567</style></div></div></section></div><section class="mb_hero_a bg_home_b"><div class="mb_container mb_flex_left mb_theme_showcase"><div class="mb_hero_a_content mb_flex_left"><h1 class="mb_h1 mb_text_primary">Plug rewarded gaming into your growth engine</h1><p class="mb_p mb_text_primary mb_p_hero">Leverage Mistplay's decade-proven rewarded model to find new, sustainable growth â turning gameplay into installs, revenue, and loyalty that compounds over time.</p><div class="mb_button_wrapper"><a href="/advertisers/loyalty-program" class="mb_button_primary mb_button_full-width w-button">
1567For game advertisers</a><a href="/publishers/loyaltyplay" class="mb_button_primary mb_button_full-width mb_button_sunshade w-button">For publishers & brands</a></div></div></div></section><section class="mb_section mb_pad_md mb_flex_center mb_theme_light logorail-animated"><div class="mb_h3_block"><h3 class="mb_h3 mb_text_block">trusted by</h3></div><div class="logorail-parent"><div class="logorail-section"><div style="-webkit-transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" class="logorail-container"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d031a8b00f3756f1c9e7_logo_blizzard_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec6766c689a1b8d4b7_logo_chevron_lg.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032fc19e2c81f0621c7_logo_rovio_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec79f0d559d723321e_logo_checkers-and-rallys_lg.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032a864d40e0b217202_logo_tapnation_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032927571b1a5524fc3_logo_moppy_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032efc5c6087d3e2dd8_logo_midnite_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032702ce7561d488893_logo_klink_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec1a4012b3ef8e903c_logo_gomart_lg.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d0300dd7b3380f1aaee1_logo_century-games_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d0311f400ec31355ab37_logo_ana-x_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/></div><div style="-webkit-transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0px, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" class="logorail-container"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d031a8b00f3756f1c9e7_logo_blizzard_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec6766c689a1b8d4b7_logo_chevron_lg.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032fc19e2c81f0621c7_logo_rovio_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec79f0d559d723321e_logo_checkers-and-rallys_lg.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032a864d40e0b217202_logo_tapnation_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032927571b1a5524fc3_logo_moppy_dar
1567k.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032efc5c6087d3e2dd8_logo_midnite_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d032702ce7561d488893_logo_klink_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec1a4012b3ef8e903c_logo_gomart_lg.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d0300dd7b3380f1aaee1_logo_century-games_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a42d0311f400ec31355ab37_logo_ana-x_dark.png" loading="lazy" alt="" class="logorail-asset homepage"/></div></div></div></section><section id="rewards-vid-wrap" class="mb_section mb_pad_md mb_theme_dark"><div class="w-layout-blockcontainer mb_container w-container"><div class="w-embed"><style> 1568 #rewards-vid { 1569 aspect-ratio: 1 / 1; 1570 height: auto !important; 1571 } 1572 #rewards-vid > video { 1573 object-fit: contain !important; 1574 width: 100% !important; 1575 height: 100% !important; 1576 } 1577 #rewards-vid-wrap { 1578 padding-top: 0 !important; 1579 } 1580 .w-background-video { 1581 z-index: 2 !important; 1582 } 1583 .w-background-video > video { 1584 object-fit: cover; 1585 z-index: 0; 1586 background-position: 50%; 1587 background-size: cover; 1588 width: 100%; 1589 height: 110%; 1590 } 1591</style></div><div class="w-layout-blockcontainer mb_grid mb_grid_50-50 w-container"><div><h2 class="mb_h2 mb_text_primary">How our rewarded gaming model powers your growth<br/></h2><p class="mb_p mb_text_primary">Rewards motivate users to play â and every install, visit, and redemption flows back as value for advertisers and publishers alike.</p></div><div data-poster-url="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_poster.0000000.jpg" data-video-urls="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_mp4.mp4,https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_webm.webm" data-autoplay="true" data-loop="true" data-wf-ignore="true" id="rewards-vid" class="w-node-c03dd9c4-3dc0-f769-0794-f4f2e266c6c2-9f2d210b w-background-video w-background-video-atom"><video id="c03dd9c4-3dc0-f769-0794-f4f2e266c6c2-video" autoplay="" loop="" style="background-image:url("https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_poster.0000000.jpg")" muted="" playsinline="" data-wf-ignore="true" data-object-fit="cover"><source src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_mp4.mp4" data-wf-ignore="true"/><source src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_webm.webm" data-wf-ignore="true"/></video></div></div></div></section><section class="mb_section mb_pad_md mb_theme_light"><div class="w-layout-blockcontainer mb_container w-container"><div><h4 class="mb_h4 mb_eyebrow_cobalt mb_text_center">FOR ADVERTISERS</h4><h3 class="mb_h3 mb_text_primary mb_text_center">Drive UA, engagement, and sustainable ROAS</h3></div><div class="w-layout-blockcontainer mb_grid mb_grid_33-33-33 w-container"><a href="/advertisers/loyalty-program" class="mb_pc_a_link w-inline-block"><div class="mb_pc_a_cobalt"><div class="mb_pc_a_badge_cobalt"><div class="mb_pc_a_number">01</div></div><div class="mb_pc_a_wrapper"><h4 class="mb_h4 mb_text_primary">Mistplay Loyalty Platform</h4><p class="mb_p mb_text_primary mb_text_no-margin">Unlock the power of play-and-earn to hit your ROAS targets and drive LTV with the leading loyalty platform for mobile gamers on iOS and Android.</p></div></div></a><a href="/advertisers/mistplay-audience-network" class="mb_pc_a_link w-inline-block"><div class="mb_pc_a_cobalt"><div class="mb_pc_a_badge_cobalt"><div class="mb_pc_a_number">
159102</div></div><div class="mb_pc_a_wrapper"><h4 class="mb_h4 mb_text_primary">Mistplay Audience Network</h4><p class="mb_p mb_text_primary mb_text_no-margin">Extend the rewarded gaming model you already trust into new scale by connecting your campaigns to millions of users across third-party apps.</p></div></div></a><a href="/advertisers/hex" class="mb_pc_a_link w-inline-block"><div class="mb_pc_a_cobalt"><div class="mb_pc_a_badge_cobalt"><div class="mb_pc_a_number">03</div></div><div class="mb_pc_a_wrapper"><h4 class="mb_h4 mb_text_primary">HEX</h4><p class="mb_p mb_text_primary mb_text_no-margin">Boost ARPDAU and make your game more rewarding by integrating HEX, a monetization and engagement SDK from Mistplay.</p></div></div></a></div></div></section><section class="mb_section mb_pad_md mb_theme_light"><div class="w-layout-blockcontainer mb_container w-container"><div><h4 class="mb_h4 mb_eyebrow_orange mb_text_center">FOR PUBLISHERS & BRANDS</h4><h3 class="mb_h3 mb_text_primary mb_text_center">Plug gaming into your loyalty & monetization engine</h3></div><div class="w-layout-blockcontainer mb_grid mb_grid_33-66 w-container"><div><div class="mb_pc_a_badge_cobalt"><div class="mb_pc_a_number">01</div></div><div><h3 class="mb_h3 mb_text_primary mb_card_e_title">LoyaltyPlay</h3><p class="mb_p mb_text_primary">Embed rewarded gaming into your app or loyalty program to drive new engagement, loyalty, and visit frequency that moves your bottom line.</p><a href="#" class="mb_button_primary mb_button_full-width mb_button_sunshade w-button">Learn More</a></div></div><div class="w-layout-blockcontainer mb_grid mb_grid_50-50 mb_grid_gap-md w-container"><a href="/publishers/loyaltyplay/finance-fintech" class="mb_pc_c_link w-inline-block"><div class="mb_pc_c_orange"><div class="mb_pc_c_wrapper"><p class="mb_p mb_text_primary mb_text_bold mb_card-b_lp_p">Finance & Fintech</p><p class="mb_p_sm mb_text_primary mb_text_weight-400">Deposits, retention, and engagement</p></div><div class="mb_pc_c_badge_orange"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcb5ec4b3d5b8a2b7c1d85_icon_arrow.svg" alt="" class="image-190"/></div></div></a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_pc_c_link w-inline-block"><div class="mb_pc_c_orange"><div class="mb_pc_c_wrapper"><p class="mb_p mb_text_primary mb_text_bold mb_card-b_lp_p">Shopping & Cashback</p><p class="mb_p_sm mb_text_primary mb_text_weight-400">Conversion, AOV, and repeat purchases</p></div><div class="mb_pc_c_badge_orange"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcb5ec4b3d5b8a2b7c1d85_icon_arrow.svg" alt="" class="image-190"/></div></div></a><a href="/publishers/loyaltyplay/restaurants" class="mb_pc_c_link w-inline-block"><div class="mb_pc_c_orange"><div class="mb_pc_c_wrapper"><p class="mb_p mb_text_primary mb_text_bold mb_card-b_lp_p">Restaurants</p><p class="mb_p_sm mb_text_primary mb_text_weight-400">Visit frequency, spend, and engagement</p></div><div class="mb_pc_c_badge_orange"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcb5ec4b3d5b8a2b7c1d85_icon_arrow.svg" alt="" class="image-190"/></div></div></a><a href="/publishers/loyaltyplay/fuel-convenience-stores" class="mb_pc_c_link w-inline-block"><div class="mb_pc_c_orange"><div class="mb_pc_c_wrapper"><p class="mb_p mb_text_primary mb_text_bold mb_card-b_lp_p">Fuel & Convenience</p><p class="mb_p_sm mb_text_primary mb_text_weight-400">Pump-to-store conversion & fuel pumped</p></div><div class="mb_pc_c_badge_orange"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcb5ec4b3d5b8a2b7c1d85_icon_arrow.svg" alt="" class="image-190"/></div></div></a></div></div></div></section><section class="mb_section mb_pad_md mb_theme_dark"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">Why publishers choose Mistplay</h2><div class="w-layout-blockcontainer mb_grid mb_grid_33-33-33 w-container"><div class="mb_card_a mb_border_primary"><div class="mb_card_badge"><div class="text-block-21">01</div></div><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6818ea83f2269c6f06893ddf_Landing-CardSpot_01-1.png" loading="lazy" alt="" class="image-177"/>
1591<h3 class="mb_h3 mb_text_primary mb_text_center mb_text_no-margin mb_card_a_title">Pioneers of play-and-earn</h3><p class="mb_p mb_text_primary mb_text_center mb_text_no-margin">Since 2016, weâve pioneered â¨play-and-earn as a way for app publishers to foster increased user engagement and LTV, while continuously delighting customers to drive long-term loyalty.</p></div><div class="mb_card_a mb_border_primary"><div class="mb_card_badge"><div class="text-block-21">02</div></div><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6813718d3fe504cb44065f20_Monetize-CardSpot_01.png" loading="lazy" alt="" class="image-177"/><h3 class="mb_h3 mb_text_primary mb_text_center mb_text_no-margin mb_card_a_title">Powerful AI engines</h3><p class="mb_p mb_text_primary mb_text_center">We leverage AI and machine learning algorithms alongside robust, first-party data to ensure strong user quality and maximize value for publishers.</p></div><div class="mb_card_a mb_border_primary"><div class="mb_card_badge"><div class="text-block-21">03</div></div><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6818ea9a2f77bbc1a7a823db_Landing-CardSpot_01-2.png" loading="lazy" alt="" class="image-177"/><h3 class="mb_h3 mb_text_primary mb_text_center mb_text_no-margin mb_card_a_title">Award-winning partner</h3><p class="mb_p mb_text_primary mb_text_center mb_text_no-margin">Weâve won various awards over the years, including being named #10 in Gaming overall in AppsFlyerâs 2025 Performance Index.</p></div></div></div></section><section class="mb_section mb_pad_md mb_theme_light"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">Stay up-to-date on the industry</h2><div class="mb_grid mb_grid_33-33-33"><a href="https://business.mistplay.com/resources/announcing-mistplay-audience-network" class="mb_text_no-decor w-inline-block"><div class="mb_griditem_resource"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a43b3bbbc5bc0c490c184fb_announcing-mistplay-audience-network.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a43b3bbbc5bc0c490c184fb_announcing-mistplay-audience-network-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a43b3bbbc5bc0c490c184fb_announcing-mistplay-audience-network.avif 730w" alt=""/><div><h6 class="mb_p mb_text_primary mb_text_center mb_text_bold">Announcing the Mistplay Audience Network to drive scale for games and loyalty for brands</h6><p class="mb_p mb_p-sm mb_text_primary mb_text_center">The Mistplay Audience Network expands the foundation Mistplay has built, extending advertiser campaign reach to an additional 40M+ MAU.</p></div></div></a><a href="https://business.mistplay.com/resources/mistplay-playtime-events-announcement" class="mb_text_no-decor w-inline-block"><div class="mb_griditem_resource"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a43d7840b7109769c63e0f2_69a883d6504baaa2f1628a79_2026-03_PTEAnnouncement-Blog_Header%20(1).avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a43d7840b7109769c63e0f2_69a883d6504baaa2f1628a79_2026-03_PTEAnnouncement-Blog_Header%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a43d7840b7109769c63e0f2_69a883d6504baaa2f1628a79_2026-03_PTEAnnouncement-Blog_Header%20(1).avif 729w" alt=""/><div><h6 class="mb_p mb_text_primary mb_text_center mb_text_bold">Meet Playtime Events: The next evolution of rewards with Mistplay</h6><p class="mb_p mb_p-sm mb_text_primary mb_text_center">Get the best of both worlds by combining the predictability of playtime with the depth of events in Mistplay's new reward model. </p></div></div></a><a href="/resources/global-mobile-gaming-market-trends" class="mb_text_no-decor w-inline-block"><div class="mb_griditem_resource"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69a9d46dc5462e72425126ee_thumbnail_a.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69a9d46
1591dc5462e72425126ee_thumbnail_a-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69a9d46dc5462e72425126ee_thumbnail_a.avif 730w" alt=""/><div><h6 class="mb_p mb_text_primary mb_text_center mb_text_bold">Global growth, local play: Mobile gaming behavior & trends across the US, UK, Korea, and Japan</h6><p class="mb_p mb_p-sm mb_text_primary mb_text_center">Explore mobile gaming behavior and trends across the US, UK, Korea, and Japan in Mistplay's 2025 mobile gaming industry report.</p></div></div></a></div><a href="/resources" class="mb_button_primary mb_button_full-width w-button">Explore more resources</a></div></section><section class="mb_section mb_pad_md mb_theme_dark"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">What our clients have to say</h2><div class="w-layout-blockcontainer mb_grid mb_grid_33-33-33 w-container"><div class="mb_testimonial"><h4 class="mb_h4 mb_text_primary mb_text_center">Treeplla</h4><div class="mb_testimonial_wrapper"><p class="mb_p mb_text_primary mb_text_center mb_testimonial_p">âWhat impressed us most is the retention and LTV of Mistplay users. As a gaming community, Mistplay showed higher retention and LTV compared to other media â  while other reward-based platforms had the drawback of users leaving after receiving rewards, Mistplay users showed continued engagement, demonstrating high loyalty to our game.â</p></div><a data-wf--mb-button-secondary--variant="light" href="/resources/treeplla-cat-snack-bar" class="mb_button_secondary contact_form mb_button_full-width mb_button_small w-button">Read case study</a></div><div class="mb_testimonial"><h4 class="mb_h4 mb_text_primary mb_text_center">Netmarble</h4><div class="mb_testimonial_wrapper"><p class="mb_p mb_text_primary mb_text_center mb_testimonial_p">âWith Mistplayâs tROAS campaigns, we were able to set an appropriate level of engagement for targeted users based on ROAS goals, allowing us to acquire engaged users without unproductive spend â this was a major advantage compared to other reward networks.â<br/></p></div><a data-wf--mb-button-secondary--variant="light" href="/resources/netmarble-seven-knights-rebirth" class="mb_button_secondary contact_form mb_button_full-width mb_button_small w-button">Read case study</a></div><div class="mb_testimonial"><h4 class="mb_h4 mb_text_primary mb_text_center">Caveduck</h4><div class="mb_testimonial_wrapper"><p class="mb_p mb_text_primary mb_text_center mb_testimonial_p">"Thanks to LoyaltyPlay's outstanding campaign quality, our web campaigns delivered a 134% revenue increase and a 66% lift in ARPDAU. Their mix of premium global advertiser campaigns and engaging game offers has been a perfect complement to Caveduck's services, adding real value to our users and our business."<br/>â</p></div><a data-wf--mb-button-secondary--variant="light" href="/resources/caveduck-loyaltyplay-case-study" class="mb_button_secondary contact_form mb_button_full-width mb_button_small w-button">Read case study</a></div></div></div></section><section class="mb_section mb_section_cta mb_pad_cta mb_theme_light"><div class="w-layout-blockcontainer mb_container mb_container_cta w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">Ready to boost your LTV?</h2><a id="contact_form" href="#" class="mb_button_primary mb_button_full-width w-button">Let's talk</a></div></section><section class="mb_footer_b"><div class="mb_container_footer_b"><div class="mb_footer_left_b"><a href="#" class="mb_logo_a mb_logo_footer_b w-nav-brand"><img width="140" height="49" alt="Mistplay Logo" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a0209092fd5a230d281e5e7_logo_mistplay_light_trim.svg" loading="lazy" class="mb_nav_logo_a mb_footer_logo_b"/></a><div class="text-block-20">Follow us on <a href="https://ca.linkedin.com/company/mistplay" target="_blank" class="mb_link_footer">LinkedIn</a></div><div class="copyright-footer">© 2026 Mistplay, Inc. All rights reserved </div></div><div class="w-layout-hflex mb_footer_right"><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Advertisers</h6><div class="mb_footer_list_b"><a href="/advertisers/loyalty-program" class="mb_footer_item_b">Loyalty Platform</a><a href="/advertisers/ios" class="mb_footer_item_b">Mistplay for iPhone</a><a href="/advertisers/android" class="mb_footer_item_b">Mistplay for Android</a><a href="/advertisers/mistplay-audience-network" class="mb_footer_item_b">Mistplay Audience Network</a><a href="/advertisers/hex" class="mb_footer_item_b">HEX</a></div></div><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Publishers</h6><div class="mb_footer_list_b"><a href="/publishers/loyaltyplay" class="mb_footer_item_b">LoyaltyPlay</a><a href="/publishers/loyaltyplay/app-publishers" class="mb_footer_item_b">For apps</a><a href="/publishers/loyaltyplay/brands-retailers" class="mb_footer_item_b">For brands</a><a href="/publishers/loyaltyplay/restaurants" class="mb_footer_item_b">Restaurants</a><a href="/publishers/loyaltyplay/finance-fintech" class="mb_footer_item_b">Finance & Fintech</a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_footer_item_b">Shopping & Cashback</a><a href="/publishers/loyaltyplay/fuel-convenience-stores" class="mb_footer_item_b">Fuel & CStore</a></div></div><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Resources</h6><div class="mb_footer_list_b"><a href="/resources" class="mb_footer_item_b">Articles</a><a href="/article-tags/case-studies" class="mb_footer_item_b">Case Studies</a><a href="/reports" class="mb_footer_item_b">Industry Reports</a></div></div><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Company</h6><div class="mb_footer_list_b"><a href="/about-us" class="mb_footer_item_b">About Us</a><a href="/newsroom" class="mb_footer_item_b">Newsroom</a><a href="https://www.mistplay.com/legal/privacy" class="mb_footer_item_b">Privacy policy</a><a href="https://www.mistplay.com/legal/terms-of-use" class="mb_footer_item_b">Terms of service</a><a href="https://www.mistplay.com/legal/privacy-centre" class="mb_footer_item_b">Privacy Center</a></div></div></div></div></section><div class="custom-script w-embed w-script"><!--
1591<script> 1592 const targetSubdomains = ['ja', 'zh']; 1593 const currentHostname = window.location.hostname; 1594 const hostnameParts = currentHostname.split('.'); 1595 1596 const partnershipForm = document.querySelector('#partnership-modal'); 1597 const partnershipFormEmbed = document.querySelector('#partnership-modal .modal-embed'); 1598 const partnershipFormScript = document.querySelector('#partnership-modal .modal-embed script:last-child'); 1599 1600 const currentSubdomain = hostnameParts.length > 1 ? hostnameParts[0] : null; 1601 1602 if (currentSubdomain && targetSubdomains.includes(currentSubdomain)) { 1603 console.log(`Current page is on subdomain: ${currentSubdomain}`); 1604 createForm(currentSubdomain); 1605 } else { 1606 console.log('Current page is not on a target subdomain.'); 1607 createForm(null); 1608 } 1609 1610 function createForm(subdomain) { 1611 const formScript = document.createElement('script'); 1612 let formScriptContent; 1613 1614 switch (subdomain) { 1615 case 'ja': 1616 formScriptContent = ` 1617 hbspt.forms.create({ 1618 region: "na1", 1619 portalId: "5886937", 1620 formId: "a9f65cd9-b1af-409b-9ced-44896f9a8dfb" 1621 }); 1622 `; 1623 break; 1624 case 'zh': 1625 formScriptContent = ` 1626 hbspt.forms.create({ 1627 region: "na1", 1628 portalId: "5886937", 1629 formId: "1270c5c0-0c8b-4d7d-ad1d-f7116d4bde33" 1630 }); 1631 `; 1632 break; 1633 default: 1634 formScriptContent = ` 1635 hbspt.forms.create({ 1636 region: "na1", 1637 portalId: "5886937", 1638 formId: "e1320b65-1016-4233-9487-eb7d561c86eb" 1639 }); 1640 `; 1641 } 1642 1643 formScript.type = 'text/javascript'; 1644 formScript.textContent = formScriptContent; 1645 1646 if (partnershipFormScript) { 1647 partnershipFormScript.parentNode.replaceChild(formScript, partnershipFormScript); 1648 } 1649 } 1650</script>
1650 --> 1651<!-- Debugging Page Language --> 1652<!--
1652<script> 1653var lang = document.documentElement.lang; 1654var el = document.querySelector('.output'); 1655el.innerHTML = lang; 1656console.log('Page language' + lang); 1657 1658// If conditions 1659if(lang == 'fr'){ 1660 // Your french code 1661} else { 1662 // fallback or default 1663} 1664</script>
vendor: 1 bytes, line 1664
1664
1665<script> 1666var onloadCallback = function() { 1667 grecaptcha.render('recaptcha-element', { 1668 'sitekey' : '6LdNlPIpAAAAAF02n0k-PRzHGH8otshsiN_xNeqq', 1669 'hl': 'en' 1670 }); 1671}; 1672</script>
1672 --></div><div class="w-embed"><style> 1673 1674 /* --- global fixes --- */ 1675 1676 /* --- fix nav code embed default styling */ 1677 /* .w-embed {width: 0px !important;} */ 1678 1679 /* remove pseudo-elements genreated by Webflow */ 1680 .mb_grid:before, 1681 .mb_grid:after, 1682 .mbr_grid:before, 1683 .mbr_grid:after, 1684 .mb_container:before, 1685 .mb_container:after { 1686 display: none; 1687 } 1688 1689 /* force button width to match it's child's width */ 1690 .mb_button_primary, 1691 .mb_button_secondary, 1692 .mb_label_resource { 1693 width: max-content; 1694 } 1695 1696 /* global opacity hide */ 1697 .mb_opacity-0 {opacity: 0 !important;} 1698 1699 /* fix resource card image sizes */ 1700 .mb_card_resource_img {object-fit: cover !important;} 1701 1702 /* override top padding on mobile */ 1703 @media screen and (max-width: 479px) { 1704 .body { 1705 padding-top: 0px !important; 1706 } 1707 } 1708 1709 /* stop link capitalization */ 1710 .mb_p a { 1711 text-transform: none !important; 1712 } 1713 1714 /* make event label width = content length */ 1715 .mb_label_event {width: max-content;} 1716 1717 1718 1719 /* --- class settings --- */ 1720 1721 .mb_flex_col {flex-direction: column;} 1722 .mb_flex_col_reverse {flex-direction: column-reverse;} 1723 .mb_flex_left {align-items: flex-start;} 1724 .mb_flex_right {align-items: flex-end;} 1725 .mb_text_left {text-align: left;} 1726 .mb_text_center {text-align: center;} 1727 .mb_text_no-margin {margin: 0px !important;} 1728 .mb_text_no-decor {text-decoration: none !important;} 1729 .mb_no-wrap {white-space: nowrap !important;} 1730 .mb_text_weight-400 {font-weight: 400 !important;} 1731 1732
1733 1734 /* --- themes --- */ 1735 1736 /* light theme */ 1737 .mb_theme_light .mb_text_primary, 1738 .mb_theme_light .mb_border_primary { 1739 color: var(--comet-900) !important; 1740 border-color: var(--comet-900) !important; 1741 } 1742 .mb_text_invert {color: var(--comet-100) !important;} 1743 .mb_theme_light {background-color: #FFFFFF !important;} 1744 .mb_h3_block {background-color: var(--comet-900) !important;} 1745 .mb_text_block {color: #FFFFFF !important;} 1746 1747 /* blue theme */ 1748 .mb_theme_blue .mb_text_primary, 1749 .mb_theme_blue .mb_border_primary { 1750 color: var(--comet-100) !important; 1751 border-color: var(--comet-100) !important; 1752 } 1753 .mb_theme_blue {background-color: var(--cobalt-500) !important;} 1754 1755 /* dark theme */ 1756 .mb_theme_dark .mb_text_primary, 1757 .mb_theme_dark .mb_border_primary { 1758 color: var(--comet-100) !important; 1759 border-color: var(--comet-100) !important; 1760 } 1761 .mb_theme_dark .mb_text_secondary {color: var(--comet-300) !important;} 1762 .mb_text_invert {color: var(--comet-900) !important;} 1763 .mb_theme_dark {background-color: var(--comet-900) !important;} 1764 1765 /* showcase theme */ 1766 .mb_theme_showcase .mb_text_primary, 1767 .mb_theme_showcase .mb_border_primary { 1768 color: var(--comet-100) !important; 1769 border-color: var(--comet-100) !important; 1770 } 1771 1772 1773 1774 /* --- anchor links ---*/ 1775 1776 /* desktop */ 1777 .mb_achor {position: relative;} 1778 .mb_achor::before { 1779 content: ""; 1780 position: absolute; 1781 top: -174px !important; 1782 height: 174px !important; 1783 pointer-events: none; 1784 } 1785 1786 /* tablet */ 1787 @media (max-width: 991px) { 1788 .mb_achor::before { 1789 top: -174px !important; 1790 height: 174px !important; 1791 } 1792 } 1793 1794 /* mobile landscape */ 1795 @media (max-width: 767px) { 1796 .mb_achor::before { 1797 top: -152px !important; 1798 height: 152px !important; 1799 } 1800 } 1801 1802 /* mobile portrait */ 1803 @media (max-width: 479px) { 1804 .mb_achor::before { 1805 top: -136px !important; 1806 height: 136px !important; 1807 } 1808 } 1809 1810 1811 1812 /* --- components --- */ 1813 1814 /* mb product card a cobalt */ 1815 .mb_pc_a_cobalt:hover .mb_pc_a_badge_cobalt {background-color: var(--white_24) !important;} 1816 .mb_pc_a_cobalt:hover .mb_h4 {color: var(--comet-100) !important;} 1817 .mb_pc_a_cobalt:hover .mb_p {color: var(--comet-100) !important;} 1818 1819 /* mb product card c orange */ 1820 .mb_pc_c_orange:hover .mb_pc_c_badge_orange {background-color: var(--white_24) !important;} 1821 .mb_pc_c_orange:hover .mb_p {color: var(--comet-100) !important;} 1822 .mb_pc_c_orange:hover .mb_p_sm {color: var(--comet-100) !important;} 1823 1824</style></div><div class="w-embed w-script"><!-- Modal Container --> 1825<div id="hubspot-modal" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.6); z-index:99999999999; justify-content:center; align-items:center;"> 1826 <div style="background:#fff; padding:20px; border-radius:8px; max-width:600px; width:90%; position:relative; max-height:90vh; overflow-y:auto;"> 1827 <span id="close-hubspot-modal" style="position:absolute; top:10px; right:15px; font-size:20px; cursor:pointer;">×</span> 1828 <div id="hubspot-form-container"></div> 1829 </div> 1830</div> 1831 1832<!-- Form IDs by Language --> 1833<!-- 1834CONTACT FORMS: 1835EN: e1320b65-1016-4233-9487-eb7d561c86eb (B2B Expansion: 86927fc1-5a38-42db-bf66-9ba429b98ca8) Portal: 5886937 1836FR: 1e05aa18-a085-495b-8f99-f3f56b192468 1837DE: dd7738c1-a960-47f6-992e-4d871ba8a9a3 1838KO: ce9a500c-2f75-4aca-9b6f-2b852bcde175 1839ZH: 1270c5c0-0c8b-4d7d-ad1d-f7116d4bde33 1840JA: 40cdb013-6cf7-4dd8-a58d-3e8ccd2b5303 1841// CN: 4376557f-9027-4365-8e45-0a5d2d7330c8 1842 1843LOYALTYPLAY FORMS: 1844EN: 62abb8e9-25cf-4aa3-9755-521668cc5d49 1845FR: [ADD_FR_LOYALTYPLAY_FORM_ID] 1846DE: [ADD_DE_LOYALTYPLAY_FORM_ID] 1847KO: [ADD_KO_LOYALTYPLAY_FORM_ID] 1848ZH: [ADD_ZH_LOYALTYPLAY_FORM_ID] 1849JA: [ADD_JA_LOYALTYPLAY_FORM_ID] 1850 1851SUBSCRIBE FORMS: 1852EN: b8db2c74-c95b-41d2-a12f-a74eac42f51b 1853FR: [ADD_FR_SUBSCRIBE_FORM_ID] 1854DE: [ADD_DE_SUBSCRIBE_FORM_ID] 1855KO: [ADD_KO_SUBSCRIBE_FORM_ID] 1856ZH: [ADD_ZH_SUBSCRIBE_FORM_ID] 1857JA: [ADD_JA_SUBSCRIBE_FORM_ID] 1858--> 1859 1860<!-- Contact & Subscribe Form Popup -->
1861<script> 1862 document.addEventListener("DOMContentLoaded", function () { 1863 const modal = document.getElementById("hubspot-modal"); 1864 const closeBtn = document.getElementById("close-hubspot-modal"); 1865 const formContainer = document.getElementById("hubspot-form-container"); 1866 1867 // Function to detect language from subdomain 1868 function detectLanguage() { 1869 const hostname = window.location.hostname; 1870 const subdomain = hostname.split('.')[0].toLowerCase(); 1871 1872 // Check if subdomain matches a language code 1873 const supportedLanguages = ['fr', 'de', 'ko', 'zh', 'ja']; 1874 return supportedLanguages.includes(subdomain) ? subdomain : 'en'; 1875 } 1876 1877 // Function to check if current page is the LoyaltyPlay monetize page 1878 function isLoyaltyPlayPage() { 1879 // [previous] return window.location.pathname === '/monetize/loyaltyplay'; 1880 return window.location.pathname === '/monetize/loyaltyplay' || 1881 window.location.pathname === '/monetize/connected-rewards'; 1882 } 1883 1884 // Get current language 1885 const currentLanguage = detectLanguage(); 1886 1887 // Contact form IDs by language 1888 const contactFormIds = { 1889 en: "8bc47184-0b54-4a64-96c2-ae751f1d3125", // 8bc47184-0b54-4a64-96c2-ae751f1d3125 1890 fr: "8bc47184-0b54-4a64-96c2-ae751f1d3125", // old 1891 de: "8bc47184-0b54-4a64-96c2-ae751f1d3125", // old 1892 ko: "9d81b8dc-8397-45d0-8998-1338d50c9858", 1893 zh: "4376557f-9027-4365-8e45-0a5d2d7330c8", 1894 ja: "40cdb013-6cf7-4dd8-a58d-3e8ccd2b5303" 1895 }; 1896 1897 // LoyaltyPlay form IDs by language 1898 const loyaltyPlayFormIds = { 1899 en: "8bc47184-0b54-4a64-96c2-ae751f1d3125", 1900 fr: "9f6482e6-6c16-432d-9bba-a815cc2f4c05", // Replace with actual FR LoyaltyPlay form ID 1901 de: "84452965-c749-4fc1-aa6c-92fefec6599c", // Replace with actual DE LoyaltyPlay form ID 1902 ko: "8186b87e-a2c3-450f-a2a6-0ed54285b9d1", // Replace with actual KO LoyaltyPlay form ID 1903 zh: "59457347-8bae-4d2d-86b2-7f59444f966e", // Replace with actual ZH LoyaltyPlay form ID 1904 ja: "cc2211e9-2fb4-4a72-87bc-a449a583d24f" // Replace with actual JA LoyaltyPlay form ID 1905 }; 1906 1907 // Subscribe form IDs by language 1908 const subscribeFormIds = { 1909 en: "b8db2c74-c95b-41d2-a12f-a74eac42f51b", 1910 fr: "[ADD_FR_SUBSCRIBE_FORM_ID]", // Replace with actual FR subscribe form ID 1911 de: "[ADD_DE_SUBSCRIBE_FORM_ID]", // Replace with actual DE subscribe form ID 1912 ko: "[ADD_KO_SUBSCRIBE_FORM_ID]", // Replace with actual KO subscribe form ID 1913 zh: "[ADD_ZH_SUBSCRIBE_FORM_ID]", // Replace with actual ZH subscribe form ID 1914 ja: "[ADD_JA_SUBSCRIBE_FORM_ID]" // Replace with actual JA subscribe form ID 1915 }; 1916 1917 // Form configurations by language and page type 1918 const formConfig = { 1919 contact_form: isLoyaltyPlayPage() 1920 ? loyaltyPlayFormIds[currentLanguage] 1921 : contactFormIds[currentLanguage], 1922 subscribe_form: subscribeFormIds[currentLanguage] 1923 }; 1924 1925 let currentFormId = null; 1926 1927 function openHubspotForm(formId) { 1928 // Check if form ID is placeholder and show warning 1929 if (formId && formId.startsWith('[ADD_')) { 1930 console.warn(`Form ID for ${currentLanguage} language not configured: ${formId}`); 1931 console.warn('Falling back to English form'); 1932 1933 // Fallback to English version 1934 if (isLoyaltyPlayPage()) { 1935 formId = loyaltyPlayFormIds.en; 1936 } else { 1937 formId = formConfig.contact_form.includes('LOYALTYPLAY') 1938 ? loyaltyPlayFormIds.en 1939 : contactFormIds.en; 1940 } 1941 } 1942 1943 modal.style.display = "flex"; 1944 1945 if (currentFormId !== formId) { 1946 currentFormId = formId; 1947 formContainer.innerHTML = ""; // Clear old form 1948 1949 function createForm() { 1950 hbspt.forms.create({ 1951 portalId: "5886937", 1952 formId: formId, 1953 region: "na1", 1954 target: "#hubspot-form-container" 1955 }); 1956 } 1957 1958 if (window.hbspt) { 1959 createForm(); 1960 } else { 1961 const script = document.createElement("script"); 1962 script.src = "//js.hsforms.net/forms/embed/v2.js"; 1963 script.onload = createForm; 1964 document.body.appendChild(script); 1965 } 1966 } 1967 } 1968 1969 // Select all elements with id=contact_form and id=subscribe_form 1970 const contactButtons = document.querySelectorAll('[id="contact_form"]'); 1971 const subscribeButtons = document.querySelectorAll('[id="subscribe_form"]'); 1972 1973 contactButtons.forEach(btn => { 1974 btn.addEventListener("click", () => openHubspotForm(formConfig.contact_form)); 1975 }); 1976 1977 subscribeButtons.forEach(btn => { 1978 btn.addEventListener("click", () => openHubspotForm(formConfig.subscribe_form)); 1979 }); 1980 1981 // External trigger fallback 1982 const emulateBtn = document.getElementById("emulate_contact_click"); 1983 if (emulateBtn) { 1984 emulateBtn.addEventListener("click", () => openHubspotForm(formConfig.contact_form)); 1985 } 1986 1987 // Modal close handlers 1988 closeBtn.addEventListener("click", () => { 1989 modal.style.display = "none"; 1990 }); 1991 1992 window.addEventListener("click", (e) => { 1993 if (e.target === modal) { 1994 modal.style.display = "none"; 1995 } 1996 }); 1997 1998 // Debug logging 1999 console.log("=== HubSpot Form Configuration Debug ==="); 2000 console.log("Detected language:", currentLanguage); 2001 console.log("Current page:", window.location.pathname); 2002 console.log("Is LoyaltyPlay page:", isLoyaltyPlayPage()); 2003 console.log("Contact form ID:", formConfig.contact_form); 2004 console.log("Subscribe form ID:", formConfig.subscribe_form); 2005 console.log("Available contact forms:", contactFormIds); 2006 console.log("Available LoyaltyPlay forms:", loyaltyPlayFormIds); 2007 console.log("Available subscribe forms:", subscribeFormIds); 2008 }); 2009</script>
2009</div>
2009<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=67ae5a0c0c4e8738d0744c0d" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
2009<script src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/js/webflow.schunk.4af75a3dcc103563.js" type="text/javascript" integrity="sha384-uHxK7OkjtK+CcSL+rHWk+cmafP3nhlxH8gPcAzqBwInsfkNcuGpgT4VrVHoX9Xx0" crossorigin="anonymous"></script>
2009<script src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/js/webflow.schunk.82a066c38b528435.js" type="text/javascript" integrity="sha384-YFg50APNpGQG2TXQ9t5g9u3yN4vH165ox/6pKrVXmkzSUuHeVDeVTfn47fl4cRxp" crossorigin="anonymous"></script>
2009<script src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/js/webflow.eb507f29.78faa8d3241df7dd.js" type="text/javascript" integrity="sha384-BblUk7A97p8rEPOWDD5wZR9tRSvUnfRzngAL8433ai4HKU2dzVZN37ucV94QZrAY" crossorigin="anonymous"></script>
2009<!-- Start of HubSpot Embed Code --> 2010<!--
2010<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5886937.js"></script>
2010 --> 2011<!-- End of HubSpot Embed Code --> 2012 2013<!-- EN language switcher fix (Hosoo Media 2026-06-23) START --> 2014<!-- Custom nav dropdown EN link switches via Weglot.switchTo(en) instead of the Weglot-rewritten ko URL. Pure JS click handler; no href/canonical/hreflang/content change. Rollback: delete this block. -->
2015<script> 2016(function () { 2017 document.addEventListener("click", function (e) { 2018 var a = e.target.closest && e.target.closest("a[data-lang='en']"); 2019 if (!a) return; 2020 if (typeof Weglot !== "undefined" && Weglot.switchTo) { 2021 e.preventDefault(); 2022 e.stopPropagation(); 2023 Weglot.switchTo("en"); 2024 } 2025 }, true); 2026})(); 2027</script>
2027 2028<!-- EN language switcher fix (Hosoo Media 2026-06-23) END --> 2029 2030<!-- I9 image alt (Hosoo Media 2026-06-26) START --> 2031<!-- Page-scoped (leniu-games-i9-inferno-nine only). Sets alt on hero banner + studio infographic. Pure ASCII. Rollback: delete this block. -->
2032<script> 2033(function(){ 2034 if (location.pathname.indexOf("leniu-games-i9-inferno-nine") < 0) return; 2035 var ko = location.hostname.indexOf("ko.") === 0; 2036 var HERO = ko ? "I9: \uc778\ud398\ub974\ub178 \ub098\uc778 \ud0a4\uc544\ud2b8 - Mistplay x Leniu Games \ud55c\uad6d MMORPG \uc131\uacf5 \uc0ac\ub840" : "I9: Inferno Nine key art - Mistplay x Leniu Games South Korea MMORPG case study"; 2037 var INFO = ko ? "I9: \uc778\ud398\ub974\ub178 \ub098\uc778 \uac8c\uc784 \uac1c\uc694 - \ud0c0\uc774\ud2c0 I9: \uc778\ud398\ub974\ub178 \ub098\uc778, \uc704\uce58 \uc911\uad6d \uad11\uc800\uc6b0, 98\ub9cc \uac74 \uc774\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc, 13\ub9cc MAU, \uc7a5\ub974 MMORPG" : "I9: Inferno Nine game overview - title I9: Inferno Nine, location Guangzhou, 980K+ downloads, 130K MAU, genre MMORPG"; 2038 function setAlts(){ 2039 var imgs = document.getElementsByTagName("img"); 2040 for (var i=0; i<imgs.length; i++){ 2041 var s = imgs[i].getAttribute("src") || ""; 2042 if (s.indexOf("CaseStudy_LeniuGames_Blog-Banner") > -1) { if (!imgs[i].getAttribute("alt")) imgs[i].setAttribute("alt", HERO); } 2043 else if (s.indexOf("Studio-Info-Leniu") > -1) { if (!imgs[i].getAttribute("alt")) imgs[i].setAttribute("alt", INFO); } 2044 } 2045 } 2046 setAlts(); 2047 setTimeout(setAlts,400); setTimeout(setAlts,1200); setTimeout(setAlts,2500); 2048})(); 2049</script>
2049 2050<!-- I9 image alt END --> 2051 2052<!-- I9 content inject (Hosoo Media 2026-06-26) START -->
2053<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2054(function(){ 2055if (location.hostname.indexOf("ko.") !== 0) return; 2056if (location.pathname.indexOf("leniu-games-i9-inferno-nine") < 0) return; 2057function run(){ 2058var rich = document.querySelector(".article-richtext"); 2059if (!rich) return false; 2060var kids = rich.children; 2061function find(p){ for (var i=0;i<kids.length;i++){ if (p(kids[i])) return kids[i]; } return null; } 2062function has(n,s){ return (n.innerText||"").indexOf(s) > -1; } 2063var companyP = find(function(n){ return n.tagName==="P" && has(n,D("6rSR7KCA7Jqw")); }); 2064var solIntroP = find(function(n){ return n.tagName==="P" && has(n,"Performance Index"); }); 2065var solOl = find(function(n){ return (n.tagName==="OL"||n.tagName==="UL") && has(n,D("67KE65SUIO2AmOyKpO2KuA==")); }); 2066var resultUl = find(function(n){ return (n.tagName==="UL"||n.tagName==="OL") && has(n,D("RDMwIFJPQVMg66qp7ZGc")) && has(n,D("RDEg66as7YWQ7IWY")); }); 2067var testH2 = find(function(n){ return n.tagName==="H2" && (n.innerText||"").trim().indexOf(D("7LaU7LKc7IKs"))===0; }); 2068if (!companyP || !solOl) return false; 2069if ((companyP.innerText||"").indexOf(D("7J6Q66as66W8IOyeoeydgA==")) < 0) return false; 2070if ((solOl.innerText||"").indexOf(D("7Lap7ISx64+EIOuGkuydgCDqsozsnbTrqLgg7Luk666k64uI7Yuw")) < 0) return false; 2071if (!document.getElementById("i9-inject-style")){ 2072var st = document.createElement("style"); 2073st.id = "i9-inject-style"; 2074st.textContent = "[data-i9-lead],[data-i9-aeo],[data-i9-nm],[data-i9-resnote]{word-break:keep-all;overflow-wrap:break-word;}.article-richtext ol[data-i9-ol]{list-style:none;padding-left:0;margin-left:0;}.article-richtext ol[data-i9-ol]>li{word-break:keep-all;margin-bottom:1.1em;}.article-richtext ol[data-i9-ol]>li>h3{margin-top:1.75em;margin-bottom:0.4em;}.article-richtext ol[data-i9-ol]>li:first-child>h3{margin-top:0.6em;}"; 2075document.head.appendChild(st); 2076} 2077if (!rich.querySelector("[data-i9-lead]")){ 2078var aeo = document.createElement("div"); 2079aeo.setAttribute("data-i9-aeo","1"); 2080aeo.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2081aeo.innerHTML = D("7Jik7ZSI7JuU65OcIE1NT1JQRyAnSTk6IOyduO2OmOultOuFuCDrgpjsnbgoTGVuaXUgR2FtZXMpJ+ydgCBNaXN0cGxheeydmCBBSSDquLDrsJggSUFQIHRST0FTIOy6oO2OmOyduOqzvCDqs6DqtIDsl6wg7ZWc6rWtIOqyjOydtOuouCDsu6TrrqTri4jti7Drpbwg7Ya17ZW0LCDtlZzqta0g7Lac7IucIDMw7J28IOunjOyXkCDshpDsnbXrtoTquLDsoJAoQkVQKeydhCDrj4ztjIztlZjqs6AgRDMwIFJPQVMg66qp7ZGcIDIuNeuwsCDrsI8gRDkwIFJPQVMg66qp7ZGcIDMuNeuwsOulvCDri6zshLHtlojsirXri4jri6Qu"); 2082companyP.parentNode.insertBefore(aeo, companyP); 2083var lead = document.createElement("p"); 2084lead.setAttribute("data-i9-lead","1"); 2085lead.innerHTML = D("7KSR6rWtIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmxlbml1LmNvbS9hYm91dCIgdGFyZ2V0PSJfYmxhbmsiPkxlbml1IEdhbWVzPC9hPuydmCDsmKTtlIjsm5Trk5wgTU1PUlBHICdJOTog7J247Y6Y66W064W4IOuCmOyduCfsnYAg7KCEIOyEuOqzhOyXkOyEnCDqsIDsnqUg6rK97J+B7J20IOy5mOyXtO2VnCDtlZzqta0gTU1PUlBHIOyLnOyepeyXkCDri7nri7ntnogg64+E7KCE7J6l7J2EIOuCtOuwgOyXiOyKteuLiOuLpC4g6re466as6rOgIOq3uCDqsrDqs7zripQg7ISx6rO17KCB7J207JeI7Iq164uI64ukLiDstpzsi5wg64uoIDMw7J28IOunjOyXkCDshpDsnbXrtoTquLDsoJAoQkVQKeydhCDrj4ztjIztlZwg642wIOydtOyWtCwgPHN0cm9uZz5EMzAgUk9BUyDrqqntkZzsnZggMi4167CwLCBEOTAgUk9BUyDrqqntkZzsnZggMy4167CwIOuLrOyEsTwvc3Ryb25nPuydtOudvOuKlCDtgbAg7ISx6rO866W8IOqxsOuRkOyXiOyKteuLiOuLpC4g7J2064qUIE1pc3RwbGF56rCAIOuztOycoO2VnCDsp4TshLEg7ZWc6rWtIOqyjOydtOuouCDsu6TrrqTri4jti7Dsl5AgQUkg6riw67CYIHRST0FTIOy6oO2OmOyduOydhCDrjZTtlbTshJwg66eM65OgIOqysOqzvOyYgOuKlOuNsOyalC4="); 2086companyP.parentNode.insertBefore(lead, companyP); 2087} 2088if (solIntroP && !rich.querySelector("[data-i9-nm]")){ 2089var nm = document.createElement("p"); 2090nm.setAttribute("data-i9-nm","1"); 2091nm.innerHTML = D("7Iuk7KCc66GcIHRST0FTIOyghOueteydgCA8YSBocmVmPSJodHRwczovL2tvLmJ1c2luZXNzLm1pc3RwbGF5LmNvbS9yZXNvdXJjZXMvbmV0bWFyYmxlLXNldmVuLWtuaWdodHMtcmViaXJ0aCI+64S366eI67iUICfshLjruJDrgpjsnbTsuKAg66as67KE7IqkJ+ydmCDquIDroZzrsowgUlBHIFVBIOyCrOuhgDwvYT7sl5DshJzrj4Qg6rOg6rCA7LmYIFJQRyDsnKDsoIAg7ZmV67O066GcIOydtOyWtOyhjOyKteuLiOuLpC4="); 2092solIntroP.parentNode.insertBefore(nm, solIntroP.nextSibling); 2093} 2094if (solOl && !solOl.querySelector("[data-i9-h33]")){ 2095solOl.setAttribute("data-i9-ol","1"); 2096var li1 = solOl.children[0]; 2097if (li1 && li1.innerHTML.indexOf(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo6424KFBsYXl0aW1lIE1vZGVsKQ==")) > -1 && li1.innerHTML.indexOf("data-i9-loyalty") < 0){ 2098li1.innerHTML = li1.innerHTML.replace(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo6424KFBsYXl0aW1lIE1vZGVsKQ=="), D("PGEgaHJlZj0iaHR0cHM6Ly9rby5idXNpbmVzcy5taXN0cGxheS5jb20vYWR2ZXJ0aXNlcnMvbG95YWx0eS1wcm9ncmFtIj7tlIzroIjsnbQg7YOA7J6EIOumrOybjOuTnCDrqqjrjbgoUGxheXRpbWUgTW9kZWwpPC9hPg==")); 2099} 2100var li3 = document.createElement("li"); 2101li3.setAttribute("data-i9-h33","1"); 2102li3.innerHTML = D("PHN0cm9uZz4zLiDrjbDsnbTthLAg6riw67CYIOyatOyYgeqzvCDruaDrpbgg7LWc7KCB7ZmU66GcIOuqqe2RnCDsp4DtkZzrpbwg7KeA7Lyc64K064ukPC9zdHJvbmc+IE1pc3RwbGF5IOyghOuLtCDtjIDsnYAg7ISx6rO8IOuNsOydtO2EsOulvCDsi6Tsi5zqsITsnLzroZwg66m067CA7Z6IIOuqqOuLiO2EsOunge2VmOqzoCDsuqDtjpjsnbjsnYQg7Iug7IaN7ZWY6rKMIOy1nOygge2ZlO2VqOycvOuhnOyNqCDsp4TsnoXsnqXrsr3snbQg64aS7J2AIOq1reuCtCDsi5zsnqUg7ZmY6rK97JeQ7ISc64+EIOy6oO2OmOyduCDrqqntkZwg7KeA7ZGc66W8IO2ZleyLpO2VmOqyjCDri6zshLHtlbQg64OI7Iq164uI64ukLg=="); 2103solOl.appendChild(li3); 2104var lis = solOl.children; 2105for (var x=0; x<lis.length; x++){ 2106var st = lis[x].querySelector("strong"); 2107if (st && st.parentNode === lis[x]){ 2108var h3 = document.createElement("h3"); 2109h3.innerHTML = st.innerHTML; 2110st.parentNode.replaceChild(h3, st); 2111} 2112} 2113} 2114if (resultUl && !rich.querySelector("[data-i9-resnote]")){ 2115var rn = document.createElement("p"); 2116rn.setAttribute("data-i9-resnote","1"); 2117rn.textContent = D("66as7JuM65OcIOyxhOuEkOydhCDthrXtlbQg7Jyg7J6F65CcIOycoOyggOqwgCDquLDsobQgQ1BFIOyxhOuEkCDtj4nqt6Drs7Tri6Qg642UIOyYpOuem
2117CDsnpTsobTtlojri6TripQg7KCQ7J2AIOyxhOuEkOydmCDqsIDsuZjrpbwg64uo7IicIOuLqOqwgOqwgCDslYTri4wg67mE7JqpIO2ajOyImOyZgCDtmqjsnKjshLEg6rSA7KCQ7JeQ7IScIOuwlOudvOu0kOyVvCDtlajsnYQg67O07Jes7KSN64uI64ukLg=="); 2118resultUl.parentNode.insertBefore(rn, resultUl.nextSibling); 2119} 2120if (testH2){ 2121var s = testH2.querySelector("strong") || testH2; 2122if (s.textContent.trim() === D("7LaU7LKc7IKs")) s.textContent = D("6rOg6rCd7IKsIO2VnOuniOuUlA=="); 2123} 2124var tocs = document.querySelectorAll("a[href^='#']"); 2125for (var t=0;t<tocs.length;t++){ if (tocs[t].textContent.trim() === D("7LaU7LKc7IKs")) tocs[t].textContent = D("6rOg6rCd7IKsIO2VnOuniOuUlA=="); } 2126var sensorFn = find(function(n){ return n.tagName==="P" && has(n,D("U2Vuc29yIFRvd2VyLCDrjIDtlZzrr7zqta0g642w7J207YSw")); }); 2127if (sensorFn) sensorFn.style.display = "none"; 2128return !!rich.querySelector("[data-i9-lead]") && !!solOl.querySelector("[data-i9-h33]"); 2129} 2130var tries = 0; 2131(function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2132})();</script>
2132 2133<!-- I9 content inject END --> 2134 2135<!-- Netmarble AI summary box (Hosoo Media 2026-06-26) START --> 2136<!-- KO-only + page-scoped (netmarble-seven-knights-rebirth). Adds AI summary box at top of article (under H1), same style as I9. Pure ASCII. Rollback: delete this block. -->
2137<script> 2138(function(){ 2139 if (location.hostname.indexOf("ko.") !== 0) return; 2140 if (location.pathname.indexOf("netmarble-seven-knights-rebirth") < 0) return; 2141 function run(){ 2142 var rich = document.querySelector(".article-richtext"); 2143 if (!rich || !rich.firstElementChild) return false; 2144 if (rich.querySelector("[data-nm-aeo]")) return true; 2145 if (!document.getElementById("nm-aeo-style")){ 2146 var st = document.createElement("style"); 2147 st.id = "nm-aeo-style"; 2148 st.textContent = "[data-nm-aeo]{word-break:keep-all;overflow-wrap:break-word;}"; 2149 document.head.appendChild(st); 2150 } 2151 var box = document.createElement("div"); 2152 box.setAttribute("data-nm-aeo","1"); 2153 box.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2154 box.innerHTML = "\ub137\ub9c8\ube14(Netmarble)\uc758 RPG '\uc138\ube10\ub098\uc774\uce20 \ub9ac\ubc84\uc2a4'\ub294 Mistplay\uc758 \uae00\ub85c\ubc8c IAP tROAS \ucea0\ud398\uc778\uc744 \ub3c4\uc785\ud558\uc5ec, \uae00\ub85c\ubc8c \ucd9c\uc2dc \ub2e8 \ud55c \ub2ec \ub9cc\uc5d0 \ubd88\ud544\uc694\ud55c \uad11\uace0\ube44 \uc9c0\ucd9c \uc5c6\uc774 \uc804 \uc138\uacc4 \ud65c\uc131 \uc720\uc800(Active Users) \uc218\ub97c \uc57d 10% \uc99d\uac00\uc2dc\ud0a4\ub294 \uc131\uacfc\ub97c \uae30\ub85d\ud588\uc2b5\ub2c8\ub2e4."; 2155 rich.insertBefore(box, rich.firstElementChild); 2156 return true; 2157 } 2158 var tries = 0; 2159 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2160})(); 2161</script>
2161 2162<!-- Netmarble AI summary box END --> 2163 2164<!-- 37Games Ant Legion content inject (Hosoo Media 2026-07-03) START -->
2165<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2166(function () { 2167try { 2168if (location.hostname.indexOf('ko.business.mistplay.com') === -1) return; 2169if (location.pathname.indexOf('37games-ant-legion') === -1) return; 2170var GATE = 'data-ant37-v1'; 2171var tries = 0; 2172var MAX_TRIES = 80; // 80 * 250ms = 20s 2173var timer = setInterval(function () { 2174tries++; 2175if (tries > MAX_TRIES) { clearInterval(timer); return; } 2176var root = document.querySelector('.article-richtext'); 2177if (!root) return; 2178if (root.getAttribute(GATE) === 'done') { clearInterval(timer); return; } 2179var ps = Array.prototype.slice.call(root.querySelectorAll('p')); 2180var findP = function (needle) { 2181for (var i = 0; i < ps.length; i++) { 2182if (ps[i].textContent.indexOf(needle) !== -1) return ps[i]; 2183} 2184return null; 2185}; 2186var findEM = function (needle) { 2187var ems = root.querySelectorAll('em'); 2188for (var i = 0; i < ems.length; i++) { 2189if (ems[i].textContent.indexOf(needle) !== -1) return ems[i]; 2190} 2191return null; 2192}; 2193var gP3 = findP(D("7KCE6561IFNMRyDsnqXrpbTripQ=")); 2194var gP5 = findP(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo64247J2EIOuwlO2DleycvOuhnA==")); 2195var gResultsOld = findP(D("7KCE7LK0IOqysOygnCDsnKDsoIDsnZggMjAlIOydtOyDgeydhCDssKjsp4DtlojsnLzrqbA=")); 2196if (!gP3 || !gP5 || !gResultsOld) return; // not settled yet 2197var h3Style = 'font-size:20px;font-weight:700;color:#1C2E4A;margin-top:1.75em;margin-bottom:0.4em;'; 2198if (!document.querySelector('[data-ant37-aeo]')) { 2199var box = document.createElement('div'); 2200box.setAttribute('data-ant37-aeo', '1'); 2201box.style.cssText = 'border-left:4px solid #4731D3;background:#F4F3FF;padding:14px 18px;margin:0 0 22px;border-radius:6px;font-size:15px;line-height:1.65;color:#2b2b33;word-break:keep-all;overflow-wrap:break-word;'; 2202box.textContent = D("6riA66Gc67KMIOuqqOuwlOydvCDqsozsnoQg7Y2867iU66as7IWUIDM3R2FtZXPsnZgg7KCE6561IFNMRyAn6rCc66+4IOq1sOuLqChBbnQgTGVnaW9uOiBGb3IgdGhlIFN3YXJtKSfsnYAgTWlzdHBsYXnsnZggQUkg6riw67CYIElBUCB0Uk9BUyDsuqDtjpjsnbjqs7wgMTDso7zrhYQg6riw64WQIO2UhOuhnOuqqOyFmOydhCDsnKDquLDsoIHsnLzroZwg7Zmc7Jqp7ZWY7JesLCDssqDsoIDtlZjqsowg7KCc7ZWc65CcIOyYiOyCsCDrspTsnIQg64K07JeQ7IScIOyghOyblCDrjIDruYQoTW9NKSDshKTsuZgg7IiYIDIwMCUg7Kad6rCA66W8IOq4sOuhne2VmOqzoCDtg4Ag66as7JuM65OcIOyxhOuEkCDrjIDruYQgRDMwIFJPQVPrpbwgMzAlIOuBjOyWtOyYrOumrOupsCDtlZzqta0g7Iuc7J6lIOyViOywqeyXkCDshLHqs7XtlojsirXri4jri6Qu"); 2203root.insertBefore(box, root.firstElementChild); 2204} 2205var p1 = findP(D("QW50IExlZ2lvbjogRm9yIFRoZSBTd2FybeydgCDtirntnogg64iI7JeQIOudhOuKlA==")); 2206if (p1) { 2207p1.textContent = D("MjAyMuuFhCDquIDroZzrsowg7Lac7IucIOydtO2bhCDsoIQg7IS46rOE7KCB7Jy866GcIDMsNDAw66eMIOuLpOyatOuhnOuTnOulvCDrj4ztjIztlZwgJ+qwnOuvuCDqtbDri6gn7J2AIOqwnOuvuCDsvZzroZzri4jrpbwg7KeA7ZyY7ZWY6rOgIOyekOybkOydhCDsiJjsp5HtlZjrqbAg7KeA7ZWYIOyZleq1reydhCDtgqTsm4zrgpjqsIDripQg64+F7LC97KCB7J24IOupgO2LsO2UjOugiOydtOyWtCDsoITrnrUg6rKM7J6E7J24642w7JqULiDqta3rgrQg7Lac7IucIOydtO2bhCDrjIDtlZzrr7zqta0g6rWs6riAIO2UjOugiOydtCDsiqTthqDslrTsl5DshJwg7KeA7IaN7KCB7Jy866GcIOustOujjCDsoITrnrUg6rKM7J6EIOyDgeychCAxMOychOq2jCDrgrTsl5Ag7J2066aE7J2EIOyYrOumrOupsCDtg4Ttg4TtlZwg7Z2l7ZaJ66Cl7J2EIOyeheymne2VtCDsmZTsirXri4jri6Qu"); 2208} 2209var p3 = findP(D("7KCE6561IFNMRyDsnqXrpbTripQ=")); 2210if (p3 && (!p3.previousElementSibling || p3.previousElementSibling.tagName !== 'H3')) { 2211var h3a = document.createElement('h3'); 2212h3a.style.cssText = h3Style; 2213h3a.textContent = D("7KCV6rWQ7ZWcIOyekOybkCDsg53tg5zqs4Q="); 2214p3.parentNode.insertBefore(h3a, p3); 2215} 2216var p4 = findP(D("7J247JWxIOqysOygnChJQVApIOq4sOuwmOydmCDruYTspojri4jsiqQg66qo64247J2EIO2VteyLrCDrj5nroKU=")); 2217if (p4 && (!p4.previousElementSibling || p4.previousElementSibling.tagName !== 'H3')) { 2218var h3b = document.createElement('h3'); 2219h3b.style.cssText = h3Style; 2220h3b.textContent = D("6rOg6rCA7LmYIOycoOyggA=="); 2221p4.parentNode.insertBefore(h3b, p4); 2222} 2223var p5 = findP(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo64247J2EIOuwlO2DleycvOuhnA==")); 2224if (p5 && !document.querySelector('[data-ant37-sol-h3-1]')) { 2225var h3c = document.createElement('h3'); 2226h3c.setAttribute('data-ant37-sol-h3-1', '1'); 2227h3c.style.cssText = h3Style; 2228h3c.textContent = D("QUkgdFJPQVMg7Lqg7Y6Y7J247J2EIO2Gte2VnCDqs7zquIgg7J6g7J6s66ClIOq3ueuMgO2ZlA=="); 2229var newP5b = document.createElement('p'); 2230newP5b.textContent = D("TWlzdHBsYXnsnZggSGVsaW9zIEFJIOyXlOynhCDquLDrsJggSUFQIHRST0FTIOy6oO2OmOyduOydgCAn6rCc66+4IOq1sOuLqCcg64K07JeQ7IScIOyLpOygnCDqsrDsoJwg6rCA64ql7ISx7J20IOuGkuydgCDsnKDsoIDrpbwg7KCV67CA7ZWY6rKMIO2DgOqyn+2Mhe2WiOyKteuLiOuLpC4g6re4IOqysOqzvCDqs7zquIgg6rCA64ql7ISx7J20IOuCruydgCDsnKDsoIDsl5Dqsowg7J
2230iI7IKw7J20IOu2hOyCsOuQmOuKlCDruYTtmqjsnKjsnYQg7KSE7J206rOgLCBVQSDsmIjsgrAg7Zqo7Jyo7J2EIOuGkuydvCDsiJgg7J6I7JeI7Iq164uI64ukLg=="); 2231if (p5.nextSibling) { 2232p5.parentNode.insertBefore(h3c, p5.nextSibling); 2233} else { 2234p5.parentNode.appendChild(h3c); 2235} 2236h3c.parentNode.insertBefore(newP5b, h3c.nextSibling); 2237} 2238var p6 = findP(D("TWlzdHBsYXnsnZggVUEg7KCE66y46rCA65Ok66GcIOq1rOyEseuQnCDsoITri7Qg7YG065287J207Ja47Yq4IO2MgOydgA==")); 2239if (p6 && (!p6.previousElementSibling || p6.previousElementSibling.tagName !== 'H3')) { 2240var h3d = document.createElement('h3'); 2241h3d.style.cssText = h3Style; 2242h3d.textContent = D("TGl2ZU9wc+yZgCAxMOyjvOuFhCDquLDrhZAg7ZSE66Gc66qo7IWY7J2EIO2ZnOyaqe2VnCDrtoDsiqTtirgg7Zqo6rO8IOuwjyDstIjquLAg67O866WoIO2ZleuztA=="); 2243p6.parentNode.insertBefore(h3d, p6); 2244} 2245var resultsOld = findP(D("7KCE7LK0IOqysOygnCDsnKDsoIDsnZggMjAlIOydtOyDgeydhCDssKjsp4DtlojsnLzrqbA=")); 2246if (resultsOld) { 2247resultsOld.style.display = 'none'; 2248resultsOld.setAttribute('data-ant37-hidden', '1'); 2249var fn1 = findP(D("JDEwMC/sm5Qg7J207IOBIElBUA==")); 2250var fn2 = findP(D("JDEsMDAwL+yblCDsnbTsg4EgSUFQ")); 2251if (fn1) fn1.style.display = 'none'; 2252if (fn2) fn2.style.display = 'none'; 2253var uls = root.querySelectorAll('ul'); 2254var resultsUl = null; 2255for (var u = 0; u < uls.length; u++) { 2256if (uls[u].textContent.indexOf('ROAS') !== -1) { resultsUl = uls[u]; break; } 2257} 2258if (resultsUl && !resultsUl.querySelector('[data-ant37-bullet]')) { 2259var bulletTexts = [ 2260D("7Lqg7Y6Y7J24IOq4sOqwhCDtmZXrs7TrkJwg7KCE7LK0IOqysOygnCDsnKDsoIAoU3BlbmRlcnMp7J2YIDIwJSDsnbTsg4HsnYQgTWlzdHBsYXkg64uo7J28IOyxhOuEkOuhnCDtmZXrs7Q="), 2261D("7JuUIDEwMOuLrOufrCDsnbTsg4Eg7KeA7Lac7ZWY64qUIOqzoOqwgOy5mCDsnKDsoIDsnZggMjYl6rCAIE1pc3RwbGF566W8IO2Gte2VtCDsnKDsnoU="), 2262D("7JuUIDEsMDAw64us65+sIOydtOyDgSDsp4DstpztlZjripQg7LWc6rOg6rCA7LmYIOycoOyggOydmCA1MCXqsIAgTWlzdHBsYXnrpbwg7Ya17ZW0IOycoOyehQ==") 2263]; 2264for (var b = 0; b < bulletTexts.length; b++) { 2265var li = document.createElement('li'); 2266li.setAttribute('data-ant37-bullet', '1'); 2267li.textContent = bulletTexts[b]; 2268resultsUl.appendChild(li); 2269} 2270} 2271if (resultsUl && !document.querySelector('[data-ant37-resimg]')) { 2272var resImg = document.createElement('img'); 2273resImg.setAttribute('data-ant37-resimg', '1'); 2274resImg.src = 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a471f06334c504d3f2ed03d_AntLegion_KeyResults_KR_2026-07-03.png'; 2275resImg.alt = D("6rCc66+4IOq1sOuLqChBbnQgTGVnaW9uKSDsuqDtjpjsnbgg7ZW17IusIOyEseqzvCDsmpTslb06IOyghOyblCDrjIDruYQg7ISk7LmYIOyImCAyMDAlIOymneqwgCwg7YOAIOumrOybjOuTnCDssYTrhJAg64yA67mEIEQzMCBST0FTIDMwJSDsg4HtmowsIOy1nOqzoOqzvOq4iCDsnKDsoIAgNTAlIO2ZleuztA=="); 2276resImg.loading = 'lazy'; 2277resImg.style.cssText = 'display:block;width:100%;height:auto;margin:24px 0;border-radius:8px;'; 2278if (resultsUl.nextSibling) { resultsUl.parentNode.insertBefore(resImg, resultsUl.nextSibling); } 2279else { resultsUl.parentNode.appendChild(resImg); } 2280} 2281} 2282var quoteEm = findEM(D("7KCV7ZW07KeEIOyYiOyCsCDslYjsl5DshJwgUk9BUyDrqqntkZw=")); 2283if (quoteEm) { 2284quoteEm.textContent = D("Ik1pc3RwbGF57JmA7J2YIO2YkeyXhSDrjZXrtoTsl5AgJ+qwnOuvuCDqtbDri6goQW50IExlZ2lvbikn7J2AIO2VnOq1rSDsi5zsnqXsl5DshJwg7YGwIOyEseqzteydhCDqsbDrkZgg7IiYIOyeiOyXiOyKteuLiOuLpC4gdFJPQVPsl5Ag7LWc7KCB7ZmU65CcIOy6oO2OmOyduOqzvCBNaXN0cGxheeydmCAxMOyjvOuFhCDquLDrhZAg7ZSE66Gc66qo7IWY7JeQIO2emOyeheyWtCwg6rec66qo66W8IO2BrOqyjCDtmZXsnqXtlZjrqbTshJzrj4Qg67mE7Jqp6rO8IFJPQVMg66qp7ZGc66W8IOuqqOuRkCDri6zshLHtlaAg7IiYIOyeiOyXiOyKteuLiOuLpC4g7JWe7Jy866Gc64+EIO2VnOq1reyXkOyEnCBNaXN0cGxheeyZgOydmCDtjIztirjrhIjsi63snYQg7J207Ja06rCA66mwLCDtlIzroIjsnbTslrTrk6Tsl5Dqsowg642UIOuCmOydgCDqsozsnoQg6rK97ZeY7J2EIOyEoOuztOydtOqzoCDsi7bsirXri4jri6QuIg=="); 2285} 2286var attrEm = findEM('Della Lee'); 2287if (attrEm) { 2288attrEm.textContent = D("4oCUIERlbGxhIExlZSwgMzdHYW1lcyBIZWFkIG9mIFVzZXIgQWNxdWlzaXRpb24gVGVhbQ=="); 2289} 2290var ctaP = findP(D("6rOg6rCA7LmYIOyCrOyaqeyekOulvCDtmZXrs7TtlZjqs6DsnpA=")); 2291if (ctaP) { 2292var aEl = ctaP.querySelector('a'); 2293if (aEl) { 2294aEl.textContent = D("6riA66Gc67KMIFVBIOyDgeuLtCDsi6Dssq3tlZjquLA="); 2295while (ctaP.firstChild && ctaP.firstChild !== aEl) { 2296ctaP.removeChild(ctaP.firstChild); 2297} 2298var ctaText = document.createTextNode(D("MzdHYW1lc+ydmCDsgqzroYDrpbwg7Ya17ZW0IOyVjCDsiJgg7J6I65Ov7J20IOuLqOyInCDshKTsuZjri7kg64uo6rCAKENQSSnsnZgg66ek66qwIOu5hOyaqeydhCDspITsnbTqs6Ag7Iuk7KCcIOqzvOq4iOqzvCDsnqXquLAg7LK066WY66GcIOydtOyWtOyngOuKlCDsp4TshLEg7Jyg7KCA66W8IO2ZleuztO2VmOuKlCDqsoPsnbQg66qo67CU7J28IOqyjOyehCBVQSDrp4jsvIDtjIXsnZgg7ZW17Ius7J6F64uI64ukLiBNaXN0cGxheeuKlCDqsoDspp3rkJwg6rKM7J2066i4IOuNsOydtO2EsOyZgCDsoJXqtZDtlZwgQUkg7IaU66Oo7IWY7J2EIOuwlO2DleycvOuhnCDqt4DsgqzsnZgg7YOA7J207YuA7J20IO2VnOq1rSDrsI8g6riA66Gc67KMIOyLnOyepeyXkOyEnCDtmZXsi6TtlZwg66ek7LacIOyEseyepeydhCDsnbTro7Ag7IiYIOyeiOuPhOuhnSDsp4Dsm5Dtlanri4jri6QuIA==")); 2299ctaP.insertBefore(ctaText, aEl); 2300} 2301} 2302if (!document.querySelector('[data-ant37-resh2]')) { 2303var h2s10 = root.querySelectorAll('h2'); 2304for (var q = 0; q < h2s10.length; q++) { 2305var tt = h2s10[q].textContent.replace(/^\s+/, ''); 2306if (tt.indexOf(D("6rKw6rO8")) === 0) { 2307h2s10[q].textContent = D("6rKw6rO8OiDsoITsm5Qg64yA67mEIOyEpOy5mCDsiJggMjAwJ
2307SDspp3qsIAg67CPIEQzMCBST0FTIDMwJSDri6zshLE="); 2308h2s10[q].setAttribute('data-ant37-resh2', '1'); 2309break; 2310} 2311} 2312} 2313root.setAttribute(GATE, 'done'); 2314clearInterval(timer); 2315}, 250); 2316} catch (e) { /* fail silent, never break the page */ } 2317})();</script>
2317 2318<!-- 37Games Ant Legion content inject END --> 2319 2320 2321<!-- Cat Snack Bar (Treeplla) content inject START -->
2322<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2323(function () { 2324try { 2325if (location.hostname.indexOf('ko.business.mistplay.com') === -1) return; 2326if (location.pathname.indexOf('treeplla-cat-snack-bar') === -1) return; 2327var GATE = 'data-catsnack-v1'; 2328var tries = 0; 2329var MAX_TRIES = 80; // 80 * 250ms = 20s 2330var timer = setInterval(function () { 2331tries++; 2332if (tries > MAX_TRIES) { clearInterval(timer); return; } 2333var root = document.querySelector('.article-richtext'); 2334if (!root) return; 2335if (root.getAttribute(GATE) === 'done') { clearInterval(timer); return; } 2336var ps = Array.prototype.slice.call(root.querySelectorAll('p')); 2337var findP = function (needle) { 2338for (var i = 0; i < ps.length; i++) { 2339if (ps[i].textContent.indexOf(needle) !== -1) return ps[i]; 2340} 2341return null; 2342}; 2343var pSol = findP(D("7KeE7ISxIOycoOyggOulvCDtmZXrs7TtlZjripQg642wIOqwleygkOydtA==")); 2344var pTroas = findP(D("7Jyg7KCAIO2WieuPmSDrjbDsnbTthLDrpbwg7Iuk7Iuc6rCE7Jy866Gc")); 2345var pLoyal = findP(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo64247J20IOu2meyeoeyVhA==")); 2346if (!pSol || !pTroas || !pLoyal) return; // not settled yet 2347var h3Style = 'font-size:20px;font-weight:700;color:#1C2E4A;margin-top:1.75em;margin-bottom:0.4em;'; 2348if (!document.querySelector('[data-catsnack-aeo]')) { 2349var box = document.createElement('div'); 2350box.setAttribute('data-catsnack-aeo', '1'); 2351box.style.cssText = 'border-left:4px solid #4731D3;background:#F4F3FF;padding:14px 18px;margin:0 0 22px;border-radius:6px;font-size:15px;line-height:1.65;color:#2b2b33;word-break:keep-all;overflow-wrap:break-word;'; 2352box.textContent = D("7ISc7Jq47JeQIOuzuOyCrOulvCDrkZQg7LqQ7KO87Ja8IOqyjOyehCDsiqTtipzrlJTsmKQg7Yq466as7ZSM6528KFRyZWVwbGxhKeydmCDrjIDtkZzsnpEgJ+qzoOyWkeydtCDsiqTrgrXrsJQoQ2F0IFNuYWNrIEJhcikn64qUIOuvuOq1rSDsi5zsnqUg7ZmV7J6lIOuLqOqzhOyXkOyEnCDrpqzsm4zrk5wgVUEg7ZSM656r7Y+8IE1pc3RwbGF57J2YIEFJIOq4sOuwmCB0Uk9BUyDsuqDtjpjsnbjsnYQg64+E7J6F7ZaI7Iq164uI64ukLiDqt7gg6rKw6rO8IO2DgCDrp6TssrQg64yA67mEIEQ3IEFSUFUgMjAlIO2WpeyDgSwgRDcg66as7YWQ7IWYIDEwMCUg7Kad6rCALCBEMzAg66as7YWQ7IWYIDcwJSDspp3qsIDrpbwg6riw66Gd7ZWY66mwIOuvuOq1rSDsi5zsnqXsl5Ag7JWI7LCp7ZaI7Iq164uI64ukLg=="); 2353root.insertBefore(box, root.firstElementChild); 2354} 2355if (!document.querySelector('[data-catsnack-antlink]')) { 2356var pAnt = document.createElement('p'); 2357pAnt.setAttribute('data-catsnack-antlink', '1'); 2358pAnt.appendChild(document.createTextNode(D("7JWe7IScIA=="))); 2359var aAnt = document.createElement('a'); 2360aAnt.href = 'https://ko.business.mistplay.com/resources/37games-ant-legion'; 2361aAnt.textContent = D("MzdHYW1lc+ydmCDsoITrnrUgU0xHICfqsJzrr7gg6rWw64uoJw=="); 2362pAnt.appendChild(aAnt); 2363pAnt.appendChild(document.createTextNode(D("7J20IO2VnOq1rSDsi5zsnqXsl5DshJwg7YOAIOumrOybjOuTnCDssYTrhJAg64yA67mEIEQzMCBST0FT66W8IDMwJSDrgYzslrTsmKzrprAg6rKD64+EIE1pc3RwbGF57JmAIO2VqOq7mO2VnCDqsrDqs7zsmIDsirXri4jri6Qu"))); 2364if (pSol.nextSibling) { pSol.parentNode.insertBefore(pAnt, pSol.nextSibling); } 2365else { pSol.parentNode.appendChild(pAnt); } 2366} 2367if (pTroas && (!pTroas.previousElementSibling || !pTroas.previousElementSibling.hasAttribute('data-catsnack-h3a'))) { 2368if (!document.querySelector('[data-catsnack-h3a]')) { 2369var h3a = document.createElement('h3'); 2370h3a.setAttribute('data-catsnack-h3a', '1'); 2371h3a.style.cssText = h3Style; 2372h3a.textContent = D("MS4gQUkg6riw67CYIHRST0FTIOy6oO2OmOyduCAtIOqysOygnCDsnqDsnqzroKUg64aS7J2AIOqzoOqwgOy5mCDsnKDsoIAg7KCV67CAIOyEoOuzhA=="); 2373pTroas.parentNode.insertBefore(h3a, pTroas); 2374} 2375} 2376if (pLoyal && !document.querySelector('[data-catsnack-h3b]')) { 2377var h3b = document.createElement('h3'); 2378h3b.setAttribute('data-catsnack-h3b', '1'); 2379h3b.style.cssText = h3Style; 2380h3b.textContent = D("Mi4g66Gc7Je07YuwIOyDne2DnOqzhCAtIOumrOybjOuTnOulvCDrsJvsnYAg65Kk7JeQ64+EIOqyjOyehOyXkCDrgqjripQg7Jyg7KCAIOyXrOyglQ=="); 2381pLoyal.parentNode.insertBefore(h3b, pLoyal); 2382} 2383if (!document.querySelector('[data-catsnack-resh2]')) { 2384var h2s = root.querySelectorAll('h2'); 2385for (var q = 0; q < h2s.length; q++) { 2386var tt = h2s[q].textContent.replace(/^\s+/, ''); 2387if (tt.indexOf(D("6rKw6rO8")) === 0) { 2388h2s[q].textContent = D("6rKw6rO8OiDrr7jqta0g7Iuc7J6lIEQ3IEFSUFUgMjAlIO2WpeyDgcK3RDcg66as7YWQ7IWYIDEwMCXCt0QzMCDrpqzthZDshZggNzAlIOymneqwgA=="); 2389h2s[q].setAttribute('data-catsnack-resh2', '1'); 2390break; 2391} 2392} 2393} 2394var uls = root.querySelectorAll('ul'); 2395var resultsUl = null; 2396for (var u = 0; u < uls.length; u++) { 2397if (uls[u].textContent.indexOf('ARPU') !== -1) { resultsUl = uls[u]; break; } 2398} 2399if (resultsUl && !resultsUl.querySelector('[data-catsnack-b3]')) { 2400var li3 = document.createElement('li'); 2401li3.setAttribute('data-catsnack-b3', '1'); 2402li3.appendChild(document.createTextNode(D("RDMwIOumrO2FkOyFmCA="))); 2403var st3 = document.createElement('strong'); 2404st3.textContent = "70%"; 2405li3.appendChild(st3); 2406li3.appendChild(document.createTextNode(D("IOymneqwgCAtIOuhnOyXtO2LsCDsnqXsuZjsmYAg7Jew64+Z64+8IOyepeq4sCDsnpTsobQg7Jyg7KeA"))); 2407resultsUl.appendChild(li3); 2408} 2409if (resultsUl && !document.querySelector('[data-catsnack-fn]')) { 2410var fn = document.createElement('p'); 2411fn.setAttribute('data-catsnack-fn', '1'); 2412fn.style.cssText = 'font-size:13px;color:#666;font-style:italic;margin-top:6px;'; 2413fn.textContent = D("Ku2DgCDrp6TssrQg64yA67mE"); 2414if (resultsUl.nextSibling) { resultsUl.parentNode.insertBefore(fn, resultsUl.nextSibling); } 2415else { resultsUl.parentNode.appendChild(fn); } 2416} 2417if (!document.body.hasAttribute('data-catsnack-alt')) { 2418var imgsA = document.querySelectorAll('img'); 2419for (var m = 0; m < imgsA.length; m++) { 2420var srcA = imgsA[m].getAttribute('src') || ''; 2421if (srcA.indexOf('Treeplla-CatSnackBar_Blog') !== -1) { imgsA[m].setAttribute('alt', D("7Yq466as7ZSM6528IOqzoOyWkeydtCDsiqTrgrXrsJQg66+46rWtIOyLnOyepSDshLHqs7Ug7IKs66GAIOKAlCBNaXN0cGxheSB4I
2421FRyZWVwbGxh")); } 2422if (srcA.indexOf('6707d7291871736d1bd9cb32') !== -1) { imgsA[m].setAttribute('alt', D("7Yq466as7ZSM6528KFRyZWVwbGxhKSDsiqTtipzrlJTsmKQg6rCc7JqUIOKAlCDshJzsmrgg7IaM7J6sLCDsp4Hsm5Ag7JW9IDUw66qFLCDsm5TqsIQg7Zmc7ISxIOyCrOyaqeyekCAxMDDrp4wg66qFIOydtOyDgSwg7Iuc666s66CI7J207IWYwrfsupDso7zslrwg7J6l66W0")); } 2423} 2424document.body.setAttribute('data-catsnack-alt', '1'); 2425} 2426if (!document.querySelector('[data-catsnack-bridge]')) { 2427var pSrc = findP('data.ai'); 2428if (pSrc) { 2429var pBr = document.createElement('p'); 2430pBr.setAttribute('data-catsnack-bridge', '1'); 2431pBr.textContent = D("66y47KCc64qUIOuLpOyatOuhnOuTnOqwgCDqs6cg66ek7Lac7J2AIOyVhOuLiOudvOuKlCDsoJDsnbTsl4jsirXri4jri6QuIO2GsTPsl5Ag7Jik66W4IOyduOq4sOulvCDsnKDsp4DtlZjrqbTshJwg66ek7Lac6rmM7KeAIO2CpOyasOugpOuptCwg66+46rWtIOyLnOyepeydhCDsnpgg7JWE64qUIFVBIO2MjO2KuOuEiOqwgCDtlYTsmpTtlojsirXri4jri6Qu"); 2432if (pSrc.nextSibling) { pSrc.parentNode.insertBefore(pBr, pSrc.nextSibling); } 2433else { pSrc.parentNode.appendChild(pBr); } 2434} 2435} 2436if (!document.body.hasAttribute('data-catsnack-bold')) { 2437var boldTargets = [D("66as7JuM65Oc66eMIOuwm+qzoCDrlqDrgpjripQg7Jyg7KCA6rCAIOyVhOuLiOudvCDqsozsnoTsl5Ag64Ko7JWEIOqysOygnO2VmOuKlCDsp4TshLEg7Jyg7KCA66W8IOyWvOuniOuCmCDtmZXrs7Q="), D("7Jyg7KCA6rCAIOyyqyDshKTsuZgg7J207ZuE7JeQ64+EIOyekOyXsOyKpOufveqyjCAn6rOg7JaR7J20IOyKpOuCteuwlCfroZwg64+M7JWE7JmAIOyYpOuemCDrqLjrrLzrj4TroZ0g7Jyg7KCAIOyXrOygleydhCDshKTqs4Q=")]; 2438for (var bt = 0; bt < boldTargets.length; bt++) { 2439var needleB = boldTargets[bt]; 2440var pB = findP(needleB.slice(0, 20)); 2441if (pB && pB.textContent.indexOf(needleB) !== -1 && !pB.querySelector('strong')) { 2442pB.innerHTML = pB.innerHTML.replace(needleB, '<strong>' + needleB + '</strong>'); 2443} 2444} 2445document.body.setAttribute('data-catsnack-bold', '1'); 2446} 2447root.setAttribute(GATE, 'done'); 2448clearInterval(timer); 2449}, 250); 2450} catch (e) { /* fail silent, never break the page */ } 2451})();</script>
2451 2452<!-- Cat Snack Bar (Treeplla) content inject END --> 2453 2454 2455<!-- hreflang restore (Hosoo Media 2026-08-18) START --> 2456<!-- Weglot strips rel=alternate hreflang tags on translated subdomains. 2457 Re-inject them from weglot-data allLanguageUrls after DOM parse. 2458 Original EN has no weglot-data element, so this is a no-op there. 2459 Rollback: delete this block. -->
2460<script> 2461(function () { 2462 var el = document.getElementById('weglot-data'); 2463 if (!el) return; 2464 var urls; 2465 try { urls = (JSON.parse(el.textContent) || {}).allLanguageUrls; } catch (e) { return; } 2466 if (!urls) return; 2467 Object.keys(urls).forEach(function (lang) { 2468 if (document.querySelector('link[rel="alternate"][hreflang="' + lang + '"]')) return; 2469 var link = document.createElement('link'); 2470 link.rel = 'alternate'; 2471 link.hreflang = lang; 2472 link.href = String(urls[lang]).split('?')[0].split('#')[0]; 2473 document.head.appendChild(link); 2474 }); 2475})(); 2476</script>
2476 2477<!-- hreflang restore (Hosoo Media 2026-08-18) END --> 2478<!-- Retention benchmarks AI summary box (Hosoo Media 2026-09-01, D1 rev 2026-09-01) START --> 2479<!-- KO-only + page-scoped (mobile-game-retention-benchmarks). Adds AI summary box at top of article (under H1), same style as Netmarble. Pure ASCII. Rollback: delete this block. -->
2480<script> 2481(function(){ 2482 if (location.hostname.indexOf("ko.") !== 0) return; 2483 if (location.pathname.indexOf("mobile-game-retention-benchmarks") < 0) return; 2484 function run(){ 2485 var rich = document.querySelector(".article-richtext"); 2486 if (!rich || !rich.firstElementChild) return false; 2487 if (rich.querySelector("[data-bm-aeo]")) return true; 2488 if (!document.getElementById("bm-aeo-style")){ 2489 var st = document.createElement("style"); 2490 st.id = "bm-aeo-style"; 2491 st.textContent = "[data-bm-aeo]{word-break:keep-all;overflow-wrap:break-word;}"; 2492 document.head.appendChild(st); 2493 } 2494 var box = document.createElement("div"); 2495 box.setAttribute("data-bm-aeo","1"); 2496 box.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2497 box.innerHTML = "\ubaa8\ubc14\uc77c \uac8c\uc784 \ud3c9\uade0 \ub9ac\ud150\uc158\uc740 D1(1\uc77c\ucc28) 30% \uc548\ud30e\uc774 \uae30\uc900\uc120\uc785\ub2c8\ub2e4. AppsFlyer\u00b7Adjust \uc9d1\uacc4 \uae30\uc900 iOS\uac00 D1 35.7%\ub85c Android(27.5%)\ubcf4\ub2e4 \ub192\uace0, \uc7a5\ub974\ubcc4\ub85c\ub294 \ub9e4\uce583\uac00 D1 32.65%\ub85c \uac00\uc7a5 \ub192\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc5d0\uc11c D1\u00b7D7\u00b7D30\uacfc \uc7a5\ub974\ubcc4\u00b7\uad6d\uac00\ubcc4 \uc218\uce58\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."; 2498 rich.insertBefore(box, rich.firstElementChild); 2499 return true; 2500 } 2501 var tries = 0; 2502 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2503})(); 2504</script>
2504 2505<!-- Retention benchmarks AI summary box END --> 2506 2507<!-- Retention metrics AI summary box (Hosoo Media 2026-09-01) START --> 2508<!-- KO-only + page-scoped (mobile-game-retention-metrics). Adds AI summary box at top of article (under H1), same style as Netmarble. Pure ASCII. Rollback: delete this block. -->
2509<script> 2510(function(){ 2511 if (location.hostname.indexOf("ko.") !== 0) return; 2512 if (location.pathname.indexOf("mobile-game-retention-metrics") < 0) return; 2513 function run(){ 2514 var rich = document.querySelector(".article-richtext"); 2515 if (!rich || !rich.firstElementChild) return false; 2516 if (rich.querySelector("[data-rm-aeo]")) return true; 2517 if (!document.getElementById("bm-aeo-style")){ 2518 var st = document.createElement("style"); 2519 st.id = "bm-aeo-style"; 2520 st.textContent = "[data-rm-aeo]{word-break:keep-all;overflow-wrap:break-word;}"; 2521 document.head.appendChild(st); 2522 } 2523 var box = document.createElement("div"); 2524 box.setAttribute("data-rm-aeo","1"); 2525 box.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2526 box.innerHTML = "\ubaa8\ubc14\uc77c \uac8c\uc784 \ub9ac\ud150\uc158 \uc9c0\ud45c\ub294 DX \ub9ac\ud150\uc158, LTV, \uc774\ud0c8\ub960, \uace0\ucc29\ub3c4(DAU/MAU), \ub864\ub9c1 \ub9ac\ud150\uc158, \ube0c\ub798\ud0b7 \ub9ac\ud150\uc158 \uc5ec\uc12f \uac00\uc9c0\uac00 \ud575\uc2ec\uc785\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c \uac01 \uc9c0\ud45c\uc758 \uacc4\uc0b0\uc2dd\uacfc \uc5b8\uc81c \uc4f0\ub294\uc9c0\ub97c \uc815\ub9ac\ud588\uc2b5\ub2c8\ub2e4."; 2527 rich.insertBefore(box, rich.firstElementChild); 2528 return true; 2529 } 2530 var tries = 0; 2531 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2532})(); 2533</script>
2533 2534<!-- Retention metrics AI summary box END --> 2535<!-- Retention metrics comparison table (Hosoo Media 2026-09-01 v3) START --> 2536<!-- KO-only + page-scoped (mobile-game-retention-metrics). 3-column metric table under the AI summary box. Stacks into cards under 700px. Pure ASCII. Rollback: delete this block. -->
2537<script> 2538(function(){ 2539 if (location.hostname.indexOf("ko.") !== 0) return; 2540 if (location.pathname.indexOf("mobile-game-retention-metrics") < 0) return; 2541 function run(){ 2542 var rich = document.querySelector(".article-richtext"); 2543 if (!rich || !rich.firstElementChild) return false; 2544 if (rich.querySelector("[data-rm-table]")) return true; 2545 if (!document.getElementById("hm-rm-table-css")) { 2546 var st = document.createElement("style"); 2547 st.id = "hm-rm-table-css"; 2548 st.textContent = "[data-rm-table]{border:1px solid #e6e4f5;background:#fbfaff;padding:16px 18px;margin:0 0 22px;border-radius:6px;max-width:100%;box-sizing:border-box;}[data-rm-table] .rmT{font-weight:700;margin:0 0 10px;}[data-rm-table] .rmW{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}[data-rm-table] table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6;}[data-rm-table] th{text-align:left;padding:10px 12px;border-bottom:2px solid #4731D3;white-space:nowrap;}[data-rm-table] td{padding:10px 12px;border-bottom:1px solid #e6e4f5;vertical-align:top;}[data-rm-table] td.rmN{font-weight:600;white-space:nowrap;}[data-rm-table] .rmL{display:none;}@media (min-width:701px){[data-rm-table] table{min-width:560px;}}@media (max-width:700px){[data-rm-table] .rmW{overflow-x:visible;}[data-rm-table] table,[data-rm-table] thead,[data-rm-table] tbody,[data-rm-table] tr,[data-rm-table] th,[data-rm-table] td{display:block;width:auto;max-width:100%;min-width:0;}[data-rm-table] thead{display:none;}[data-rm-table] tr{border-bottom:1px solid #e6e4f5;padding:10px 0;}[data-rm-table] tr:last-child{border-bottom:0;}[data-rm-table] td{border-bottom:0;padding:2px 0;white-space:normal;word-break:keep-all;overflow-wrap:break-word;}[data-rm-table] td.rmN{white-space:normal;font-weight:700;margin-bottom:2px;}[data-rm-table] .rmL{display:inline;color:#6b6a80;}}"; 2549 document.head.appendChild(st); 2550 } 2551 var anchor = rich.querySelector("[data-rm-aeo]"); 2552 var box = document.createElement("div"); 2553 box.setAttribute("data-rm-table","1"); 2554 box.innerHTML = "<div class=\\\"rmT\\\">\ubaa8\ubc14\uc77c \uac8c\uc784 \ub9ac\ud150\uc158 \uc9c0\ud45c 6\uac00\uc9c0 \ud55c\ub208\uc5d0 \ubcf4\uae30</div><div class=\\\"rmW\\\"><table><thead><tr><th>\uc9c0\ud45c</th><th>\uacc4\uc0b0\uc2dd</th><th>\uc5b8\uc81c \uc4f0\ub294\uc9c0</th></tr></thead><tbody><tr><td class=\\\"rmN\\\">1. DX \ub9ac\ud150\uc158</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc720\uc800 \uc911 X\uc77c\ucc28\uae4c\uc9c0 \uac8c\uc784\uc744 \uc5f0 \uc720\uc800 \uc218) / (0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc804\uccb4 \uc720\uc800 \uc218)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\uac8c\uc784 \uc0c1\ud0dc\ub97c \uac00\uc7a5 \uba3c\uc800 \ud655\uc778\ud558\ub294 \uae30\uc900\uc785\ub2c8\ub2e4. D1 40%, D7 20%, D30 10%\uac00 \ubaa9\ud45c\uc120\uc785\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">2. LTV(\uc0dd\uc560\uac00\uce58)</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(DAU\ub2f9 \ud3c9\uade0 \uc218\uc775) \u00d7 (\uc720\uc800\uc758 \ud3c9\uade0 \uac8c\uc784 \uc774\uc6a9 \uae30\uac04)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\ucea0\ud398\uc778\uacfc UA \ucc44\ub110\ubcc4 \uc131\uacfc\ub97c \uae08\uc561\uc73c\ub85c \ube44\uad50\ud560 \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">3. \uc774\ud0c8\ub960</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(X\uc77c\ucc28 \uc774\ud6c4 \uac8c\uc784\uc744 \uc5f4\uc9c0 \uc54a\uc740 \uc720\uc800 \uc218) / (0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc804\uccb4 \uc720\uc800 \uc218)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\uc720\uc800\uac00 \uc5b8\uc81c \ub5a0\ub098\ub294\uc9c0, UA \uc804\ub7b5\uc774 \uc131\uc7a5 \ubaa9\ud45c\uc640 \ub9de\ub294\uc9c0 \ubcfc \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">4. \uace0\ucc29\ub3c4 (DAU/MAU)</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(DAU) / (MAU)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\ub9ac\ud150\uc158\ubcf4\ub2e4 \ud55c \uac78\uc74c \ub354 \ub4e4\uc5b4\uac00 \uc720\uc800 \ub85c\uc5f4\ud2f0\ub97c \uac00\ub2a0\ud560 \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">5. \ub864\ub9c1 \ub9ac\ud150\uc158</td><td>
2554<span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(X\uc77c\ucc28 \uc774\ud6c4 \ub9c8\uc9c0\ub9c9\uc73c\ub85c \uac8c\uc784\uc744 \uc5f0 \uc720\uc800 \uc218) / (0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc804\uccb4 \uc720\uc800 \uc218)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\uc815\ud655\ud55c \uc774\ud0c8 \uc2dc\uc810\ubcf4\ub2e4 \ub2e4\uc2dc \ub3cc\uc544\uc654\ub294\uc9c0\uac00 \uc911\uc694\ud560 \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">6. \ube0c\ub798\ud0b7 \ub9ac\ud150\uc158</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>DX \ub9ac\ud150\uc158\uacfc \uac19\uc740 \ubc29\uc2dd\uc774\ub418 \ud558\ub8e8\uac00 \uc544\ub2c8\ub77c \uae30\uac04 \uad6c\uac04\uc73c\ub85c \uc9d1\uacc4</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\ucf58\ud150\uce20\ub97c \ub2e8\uacc4\ubcc4\ub85c \ud478\ub294 \uac8c\uc784\uc5d0\uc11c \ub2e8\uacc4\ubcc4 \uc601\ud5a5\uc744 \ubcfc \ub54c \uc501\ub2c8\ub2e4.</td></tr></tbody></table></div>"; 2555 if (anchor && anchor.nextSibling) { rich.insertBefore(box, anchor.nextSibling); } 2556 else if (anchor) { rich.appendChild(box); } 2557 else { rich.insertBefore(box, rich.firstElementChild); } 2558 return true; 2559 } 2560 var tries = 0; 2561 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2562})(); 2563</script>
2563 2564<!-- Retention metrics comparison table END --> 2565 2566<!-- KO article heading spacing (Hosoo Media 2026-09-01) START --> 2567<!-- KO-only. Adds breathing room above H2/H3 in article body for readability. Rollback: delete this block. -->
2568<script> 2569(function(){ 2570 if (location.hostname.indexOf("ko.") !== 0) return; 2571 if (document.getElementById("hm-ko-heading-space")) return; 2572 var s = document.createElement("style"); 2573 s.id = "hm-ko-heading-space"; 2574 s.textContent = ".article-richtext h2:not(:first-child){margin-top:2.4em;}" 2575 + ".article-richtext h3:not(:first-child){margin-top:2em;}" 2576 + ".article-richtext h4:not(:first-child){margin-top:1.7em;}" 2577 + ".article-richtext h2,.article-richtext h3,.article-richtext h4{margin-bottom:.6em;}"; 2578 document.head.appendChild(s); 2579})(); 2580</script>
2580 2581 2582<!-- KO article table horizontal scroll (Hosoo Media 2026-09-01) START --> 2583<!-- KO-only. CMS tables in article body are wider than mobile viewport and push the page sideways (same on EN, upstream issue). Wraps each table in a horizontal scroll container so the page itself no longer overflows. Rollback: delete this block. -->
2584<script> 2585(function(){ 2586 if (location.hostname.indexOf("ko.") !== 0) return; 2587 function run(){ 2588 var rich = document.querySelector(".article-richtext"); 2589 if (!rich) return false; 2590 var tables = rich.querySelectorAll("table"); 2591 if (!tables.length) return false; 2592 if (!document.getElementById("hm-ko-table-scroll")) { 2593 var st = document.createElement("style"); 2594 st.id = "hm-ko-table-scroll"; 2595 st.textContent = ".hm-tw{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 18px;}" 2596 + ".hm-tw>table{margin-bottom:0;}"; 2597 document.head.appendChild(st); 2598 } 2599 for (var i = 0; i < tables.length; i++) { 2600 var t = tables[i]; 2601 if (t.parentNode && t.parentNode.className === "hm-tw") continue; 2602 if (t.closest("[data-rm-table]")) continue; 2603 var w = document.createElement("div"); 2604 w.className = "hm-tw"; 2605 t.parentNode.insertBefore(w, t); 2606 w.appendChild(t); 2607 } 2608 return true; 2609 } 2610 var tries = 0; 2611 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2612})(); 2613</script>
2613 2614<!-- KO article table horizontal scroll END --> 2615 2616 2617 2618<!-- AM guide KO (Hosoo 2026-09-16) START -->
2619<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2620(function(){var L=location;if(L.hostname.indexOf('ko.')||L.pathname.indexOf('/resources/app-monetization-guide')<0)return;var A=D("66qo67CU7J28IOyVsSDsiJjsnbXtmZQg66qo64247J2AIOyduOyVsSDqsrDsoJwoSUFQKSwg7J247JWxIOq0keqzoChJQUEpLCDqtazrj4UsIOyYpO2NvOyblCwg7KCc7Zy0IOyYpO2NvCwg7ZSE66as66+47JeELCDsnKDro4wg7JWxIOydvOqzsSDqsIDsp4DqsIAg7ZW17Ius7J6F64uI64ukLiAyMDI164WEIOq4sOykgCDsnbjslbEg6rSR6rOgIOyLnOyepeydgCDslb0gMyw5MDDslrUg64us65+s66GcIOuUlOyngO2EuCDqtJHqs6Ag7KeA7Lac7J2YIOyVvSA1NiXrpbwg7LCo7KeA7ZWY6rOgLCDsnbjslbEg6rKw7KCc64qUIOu5hOqyjOyehCDslbHsnZgg7JW9IDUwJSwg6rKM7J6EIOyVseydmCDslb0gNzkl6rCAIOyCrOyaqe2VqeuLiOuLpC4g7J20IOq4gOyXkOyEnCDqsIEg66qo64247J2YIOyImOydtSDqtazsobDsmYAg7Ja065akIOyVseyXkCDrp57ripTsp4AsIOyEseqzvOulvCDsnqzripQg7KeA7ZGcIDfqsIDsp4DsnZgg6rOE7IKw7Iud7J2EIOygleumrO2WiOyKteuLiOuLpC4="),H=[D("66qo6424"),D("7IiY7J217J20IOyDneq4sOuKlCDrsKnsi50="),D("66ee64qUIOyVsQ=="),D("67O466y47JeQIOyeiOuKlCDsiJjsuZg=")],R=[[D("7J247JWxIOqysOygnCBJQVA="),D("7JWxIOyViOyXkOyEnCDslYTsnbTthZzCt+q4sOuKpcK37J6s7ZmU66W8IO2MkOunpA=="),D("6rKM7J6ELCDsvZjthZDsuKAg7JWx"),D("67mE6rKM7J6EIDUwJSwg6rKM7J6EIDc5JeqwgCDsgqzsmqkgLyDqsrDsoJwg7J207Jqp7J6QIOyVvSA1JQ==")],[D("7J247JWxIOq0keqzoCBJQUE="),D("6rSR6rOgIOyngOuptOydhCDtjJDrp6TtlbQg64W47LacwrftgbTrpq3snLzroZwg7KCV7IKw"),D("7J207Jqp7J6Q6rCAIOunjuydgCDrrLTro4wg7JWx"),D("MjAyNeuFhCDslb0gMyw5MDDslrUg64us65+sLCDrlJTsp4DthLgg6rSR6rOg7J2YIOyVvSA1NiU=")],[D("6rWs64+F"),D("7KCV6riwIOqysOygnOuhnCDtlITrpqzrr7jsl4Qg6riw64qlIOygnOqztQ=="),D("7L2Y7YWQ7LigLCDrj4TqtawsIOyEnOu5hOyKpCDslbE="),D("66y066OMIOyytO2XmCDsoJzqs7XsnbQg7J2867CY7KCB")],[D("7Jik7Y287JuU"),D("7J207Jqp7J6Q6rCAIOuvuOyFmOydhCDsmYTro4ztlZjrqbQg67O07IOBLCDqtJHqs6Dso7zqsIAg67mE7JqpIOyngOu2iA=="),D("66as7JuM65OcIOq1rOyhsOqwgCDsnojripQg7JWx"),D("67O07IOB7ZiVIOyduOyVsSDqtJHqs6DsnZgg7ZWcIO2Yle2DnA==")],[D("7KCc7Zy0IOyYpO2NvA=="),D("7KCcM+yekCDsg4HtkojsnYQg7ZmN67O07ZWY6rOgIOyEseqzvOyXkCDrlLDrnbwg7IiY7IiY66OM"),D("7Yq4656Y7ZS97J20IO2BsCDslbE="),D("66eI7LyA7YSwIOyVvSA4MCXqsIAg7Zmc7Jqp")],[D("7ZSE66as66+47JeEKOu2gOu2hCDsnKDro4ztmZQp"),D("6riw67O4IOustOujjCwg7LaU6rCAIOq4sOuKpeydgCDsnKDro4w="),D("6riw64ql7J20IOuLqOqzhOuhnCDrgpjriZjripQg7JWx"),D("66eI7LyTIOyVseydmCDslb0gOTAl6rCAIOustOujjA==")],[D("7Jyg66OMIOyVsQ=="),D("64uk7Jq066Gc65OcIOyLnOygkOyXkCDqs7zquIg="),D("7KCE66y4IOuPhOq1rCwg7YuI7IOIIOyVsQ=="),D("aU9TIOycoOujjCDslbEg67mE7KSRIOyVvSA0LjYzJQ==")]],T=D("TFRW64qUIOumrO2FkOyFmOqzvCDtlajqu5gg67SQ7JW8IOydmOuvuOqwgCDsnojsirXri4jri6QuIOqzhOyCsOyLneqzvCBEMcK3RDfCt0QzMCDquLDspIDqsJLsnYAgPGEgaHJlZj0iaHR0cHM6Ly9rby5idXNpbmVzcy5taXN0cGxheS5jb20vcmVzb3VyY2VzL21vYmlsZS1nYW1lLXJldGVudGlvbi1tZXRyaWNzIj7rqqjrsJTsnbwg6rKM7J6EIOumrO2FkOyFmCDsp4DtkZwgNuqwgOyngOyZgCDqs4TsgrDrspU8L2E+7JeQ7IScIO2ZleyduO2VoCDsiJgg7J6I7Iq164uI64ukLg=="),C="[data-am]{word-break:keep-all}.amT{border:1px solid #e6e4f5;background:#fbfaff;padding:16px 18px;margin:0 0 22px;border-radius:6px}.amT table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6}.amT th{text-align:left;padding:10px 12px;border-bottom:2px solid #4731D3}.amT td{padding:10px 12px;border-bottom:1px solid #e6e4f5;vertical-align:top}.amT td:first-child{font-weight:600}.amT i{display:none;font-style:normal;color:#6b6a80}@media(max-width:700px){.amT thead{display:none}.amT tr,.amT td{display:block;padding:2px 0;border:0}.amT tr{padding:10px 0;border-bottom:1px solid #e6e4f5}.amT i{display:inline}}",M={'/monetize/loyaltyplay':'/publishers/loyaltyplay','/advertise/android':'/advertisers/android','/advertise/ios':'/advertisers/ios','/monetize/hex':'/advertisers/hex'};function e(s){return s.replace(/&/g,'&').replace(/</g,'<')}function r(){var d=document,x=d.querySelector('.article-richtext');if(!x||!x.firstElementChild)return 0;if(x.querySelector('[data-am]'))return 1;var s=d.createElement('style');s.textContent=C;d.head.appendChild(s);var b=d.createElement('div');b.setAttribute('data-am','1');b.style.cssText='border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px';b.textContent=A;x.insertBefore(b,x.firstElementChild);var h,g=x.querySelectorAll('h2');for(var i=0;i<g.length;i++){var n=g[i].nextElementSibling;if(n&&/^1\..*IAP/.test(n.textContent.trim())){h=g[i];break}}if(h){var o='<div class="hm-tw"><table><thead><tr>'+H.map(function(z){return'<th>'+e(z)+'</th>'}).join('')+'</tr></thead><tbody>'+R.map(function(w){return'<tr>'+w.map(function(c,k){return'<td>'+(k?'<i>'+e(H[k])+' </i>':'')+e(c)+'</td>'}).join('')+'</tr>'}).join('')+'</tbody></table></div>';var t=d.createElement('div');t.className='amT';t.setAttribute('data-am','2');t.innerHTML=o;h.parentNode.insertBefore(t,h.nextSibling)}var p=x.querySelectorAll('p');for(var j=0;j<p.length;j++){var q=p[j].querySelector('strong');if(q&&/^1\..*LTV\)/.test(q.textContent.trim())){var f=p[j].nextElementSibling;if(f&&/LTV\s*=/.test(f.textContent))f.innerHTML=T;break}}[].forEach.call(x.querySelectorAll('a[href]'),function(a){try{var u=new URL(a.href);if(M[u.pathname])a.href='https://'+L.hostname+M[u.pathname]}catch(z){}});return 1}var c=0;(function l(){if(!r()&&++c<40)setTimeout(l,300)})()})()</script>
2620 2621<!-- AM guide KO END --> 2622 2623 2624<!-- Futureplay 2026 KO (Hosoo 2026-09-23) START -->
2625<script>(function(){if(location.hostname.indexOf("ko.")!==0||location.pathname.indexOf("futureplay-case-study")<0)return; 2626var B="lVXdbhpnEH2V0UqWbAUwP2mjcocauepFWqlRriyrwniToPDjsqDKqiphZ20hIC2NWYzjBYFiO2BRaYF1TFLyQjuz79CZBdw4ah31bne/b2bOnHNm9hflqRJdX1fcV1XaGwAdVB3LVHyKe9ijUdOtV7FTopYNzqhKbZ3OS4srG751BX/XqaODM55SR4Jm7/NXufDD97GHeDYF6hRdo0kV0907pTdFIKNM5hT7NukmOFcmXvTAPTawWuQsiyBs9Khho9nD88E8yBl3rq9zpleWM7G8Qq5hOyML0OqTUeIcdFDH1z3ab85Ojw1qn5E+ZGjAIXQ0YKiAb3XSW9TSgUzdNUxwDy5do89odWxfCglenAQxELc8YSB4ZXFWiXGNnvNXE6jdxXL9k1Apyng4krPMHqJw/x5Ia4AXffcPE7hZfKfDnUhwyQf3I0G4cze4pGxs+JRNJfrf/C+vFfKFnLqdiu/AN/G0qq1I+XAw9AXucyP6KZ5/wBr3YhSxXcRDfjoaUGUofLWaXLyHVp1a03lGoPKpWzaxXqfmKXZNH2BvImw7Fgd3lh+ouScqF8ptqRltBfBwCF+x/As8LGKXWymx7ruAFZbE5g9SNRSkxiU4Q1u4Qr3pjKZUvsRKiW8F4EFSy3stxApbSTWTUOE7Nf9zNveMjosQ297W1lI7ak5csKD50JrbJRwMfymthuik7onZtYGdxUJ9luF/O2TSpQwnwm7LbZT+AcnSxb3Z+DquqQ/zha2dH9fE5LfwIwyzAZ3RBwbMsJh5fQj0vobnf7q6Jc1Rx6CTGk/RC28qnrd88InWHynMhHdNNj0XY6OVRGmaFvkOq+Ypp1usHNveQr3kuU5wJrP+bzOPs7dPccfAsQ3MRHThhBuNsQ/GE9kI1z7yAb3ZFeihYBAv9kFQPN/1SXf0ekoNHpL2GZ7ZnoVTefYwmR1u0Rvssb38KLbCiFIFPniaz29r0dXVZ9nAZkFLZlRNC6TnjggksunVnKplC7mEqq2ms5vJlOovaGrOH0/8VEhqyXwym+FM6bCUuDmXgC8sxiW0iC1fXqF1Qu96WGsydRyjhW4bLWGZ3RUWd93l5SCeeFvkZPI14nlu9hWYGIlcuFhkz3vmovcd9zdeD5P5ZMwdKQ4LRwL3lgAPXvKpR54xlQIsqQAL3wZskXxvgF3ZkFpEWj+qyTigbKeS7KGb1tX+J9GPr03nT4un/U9mnvYn2P1+Tewv8m19jsBrTm4MsqgxFr+4TQMexbzB9vY9/xawb/H4FWVvjKofz6j357BLsn+xIpMkO5pXPI4M5de/AQ==",D,n=0; 2627new Response(new Blob([Uint8Array.from(atob(B),function(c){return c.charCodeAt(0)})]).stream().pipeThrough(new DecompressionStream("deflate-raw"))).text().then(function(t){D=JSON.parse(t);g();}); 2628function g(){var a=document.querySelector(".article-richtext");if(!a){if(++n<160)setTimeout(g,250);return;} 2629var H=a.parentNode.querySelectorAll("h2,h3"),i,k,e; 2630for(i=0;i<H.length;i++){e=H[i];for(k=0;k<D.h.length;k++)if(e.textContent.trim()===D.h[k][0])e.textContent=D.h[k][1];} 2631var M=document.querySelectorAll("img");for(i=0;i<M.length;i++)for(k=0;k<D.a.length;k++)if((M[i].src||"").indexOf(D.a[k][0])>=0&&!M[i].alt)M[i].alt=D.a[k][1]; 2632if(!a.querySelector("[data-fp]")){e=document.createElement("p");e.setAttribute("data-fp","1");e.textContent=D.b;a.insertBefore(e,a.firstChild);} 2633var P=a.querySelectorAll("p"),c=null,done=0; 2634for(i=0;i<P.length;i++){e=P[i]; 2635if(!done&&!e.querySelector("a")&&e.textContent.indexOf(D.lt)>=0&&e.textContent.indexOf(D.m2)<0){e.innerHTML=e.innerHTML.replace(D.lt,'<a href="'+D.lu+'">'+D.lt+"</a>");done=1;} 2636if(e.textContent.indexOf(D.m2)===0)c=e;} 2637if(c&&!document.querySelector("[data-fp2]")){e=document.createElement("p");e.setAttribute("data-fp2","1");e.innerHTML=D.s1+'<a href="'+D.su+'">'+D.s2+"</a>"+D.s3;c.parentNode.insertBefore(e,c);} 2638var S=document.querySelectorAll('script[type="application/ld+json"]'); 2639for(i=0;i<S.length;i++){try{var j=JSON.parse(S[i].textContent),A=j["@graph"]||(Array.isArray(j)?j:[j]),ch=0; 2640A.forEach(function(o){if(o&&o.headline){o.headline=D.ld;ch=1;}if(o&&o.itemListElement)o.itemListElement.forEach(function(x){if(x.name&&x.name.indexOf("Futureplay")>-1){x.name=D.ld;ch=1;}});}); 2641if(ch)S[i].textContent=JSON.stringify(j);}catch(x){}}} 2642})();</script>
2642 2643<!-- Futureplay 2026 KO END -->
2643<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
vendor: 1 bytes, line 2643
2643
2644<script src="https://cdn.jsdelivr.net/npm/[email protected]/jquery.counterup.min.js"></script>
vendor: 1 bytes, line 2644
2644
2645<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.0/jquery.waypoints.min.js"></script>
vendor: 1 bytes, line 2645
2645
2646<script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
2646
2647<script type="text/javascript"> 2648particlesJS("particles-js", {"particles":{"number":{"value":26,"density":{"enable":false,"value_area":0}},"color":{"value":"b897f5"},"shape":{"type":"polygon","stroke":{"width":0,"color":"#000000"},"polygon":{"nb_sides":6},"image":{"src":"img/github.svg","width":100,"height":100}},"opacity":{"value":0.35,"random":true,"anim":{"enable":false,"speed":1,"opacity_min":0.1,"sync":false}},"size":{"value":3,"random":true,"anim":{"enable":false,"speed":40,"size_min":0.1,"sync":false}},"line_linked":{"enable":false,"distance":150,"color":"#ffffff","opacity":0.3,"width":1},"move":{"enable":true,"speed":1,"direction":"top","random":false,"straight":false,"out_mode":"out","bounce":false,"attract":{"enable":false,"rotateX":600,"rotateY":1200}}},"interactivity":{"detect_on":"canvas","events":{"onhover":{"enable":false,"mode":"repulse"},"onclick":{"enable":true,"mode":"repulse"},"resize":true},"modes":{"grab":{"distance":400,"line_linked":{"opacity":1}},"bubble":{"distance":400,"size":40,"duration":2,"opacity":8,"speed":3},"repulse":{"distance":200,"duration":0.4},"push":{"particles_nb":4},"remove":{"particles_nb":2}}},"retina_detect":true});var count_particles, stats, update; stats = new Stats; stats.setMode(0); stats.domElement.style.position = 'absolute'; stats.domElement.style.left = '0px'; stats.domElement.style.top = '0px'; document.body.appendChild(stats.domElement); count_particles = document.querySelector('.js-count-particles'); update = function() { stats.begin(); stats.end(); if (window.pJSDom[0].pJS.particles && window.pJSDom[0].pJS.particles.array) { count_particles.innerText = window.pJSDom[0].pJS.particles.array.length; } requestAnimationFrame(update); }; requestAnimationFrame(update);; 2649</script>
vendor: 1 bytes, line 2649
2649
2650<script> 2651 $(document).ready(function(){ 2652 const getStartedBtns = document.querySelectorAll('[data-getStarted="button"]'); 2653 const modalCloseBtn = document.querySelector('[data-modal="modal-close"]'); 2654 const modal = document.querySelector('[data-modal="modal-backdrop"]'); 2655 const modalContainer = document.querySelector('[data-modal="modal-container"]'); 2656 2657 const form = document.querySelector('[data-submitForm="form"]'); 2658 const submitBtn = document.querySelector('[data-submitForm="button"]'); 2659 const emailField = document.querySelector('[data-submitForm="email"]'); 2660 const nameField = document.querySelector('[data-submitForm="name"]'); 2661 const companyField = document.querySelector('[data-submitForm="company"]'); 2662 const websiteField = document.querySelector('[data-submitForm="website"]'); 2663 const msgField = document.querySelector('[data-submitForm="message"]'); 2664 2665 const successMsg = document.querySelector('[data-submitForm="submit-success"]'); 2666 const errorMsg = document.querySelector('[data-submitForm="submit-error"]'); 2667 2668 const navbarDropdown = document.querySelector('[data-navbar="dropdown"]'); 2669 2670 getStartedBtns.forEach(function(btn) { 2671 btn.addEventListener('click', function() { 2672 modal.style.display = 'flex'; 2673 navbarDropdown.style.opacity = "0.0"; 2674 }); 2675 }); 2676 2677 modalCloseBtn.addEventListener('click', function() { 2678 modal.style.display = 'none'; 2679 successMsg.style.display = 'none'; 2680 errorMsg.style.display = 'none'; 2681 form.style.display = 'block'; 2682 navbarDropdown.style.opacity = "1.0"; 2683 }); 2684 2685 modal.addEventListener('click', function(e) { 2686 let targetElement = e.target; // clicked element 2687 2688 do { 2689 if (targetElement == modalContainer) { 2690 return; 2691 } 2692 // Go up the DOM 2693 targetElement = targetElement.parentNode; 2694 } while (targetElement); 2695 2696 modalCloseBtn.click(); 2697 }); 2698 2699 const submit = async () => { 2700 submitBtn.disabled = true; 2701 2702 try { 2703 if (nameField.value.trim() === '' || 2704 websiteField.value.trim() === '' || 2705 emailField.value.trim() === '' || 2706 companyField.value.trim() === '' || 2707 msgField.value.trim() === '') { 2708 throw 'Please fill all fields.'; 2709 } 2710 2711 const url = 'https://tp.mistplay.com/website/advertiser'; 2712 const user = { 2713 email: emailField.value.trim(), 2714 name: nameField.value.trim(), 2715 company: companyField.value.trim(), 2716 website: websiteField.value.trim(), 2717 message: msgField.value.trim() 2718 }; 2719 2720 let formBody = []; 2721 for (const key in user) { 2722 const encodedKey = encodeURIComponent(key); 2723 const encodedValue = encodeURIComponent(user[key]); 2724 formBody.push(encodedKey + "=" + encodedValue); 2725 } 2726 formBody = formBody.join("&"); 2727 2728 const params = { 2729 method: 'POST', 2730 headers: { 2731 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' 2732 }, 2733 body: formBody 2734 }; 2735 2736 const data = await fetch(url, params); 2737 const json = await data.json(); 2738 2739 if (json.err) throw json.err.interMessage.EN; 2740 2741 errorMsg.style.display = "none"; 2742 successMsg.style.display = "block"; 2743 form.style.display = "none"; 2744 2745 console.log(json); 2746 } catch (error) { 2747 console.log(error); 2748 if (typeof error === 'string') errorMsg.innerHTML = error; 2749 errorMsg.style.display = "block"; 2750 } 2751 2752 submitBtn.disabled = false; 2753 } 2754 2755 submitBtn.addEventListener('click', submit); 2756 }); 2757</script>
vendor: 1 bytes, line 2757
2757
2758<script> 2759 function numberWithCommas(x) { 2760 return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 2761 } 2762 2763 $(document).ready(function(){ 2764 $('.feedback-carousel').bxSlider({ 2765 mode: 'vertical', 2766 pager: false, 2767 slideMargin: 30, 2768 controls: false, 2769 speed: 100000, 2770 useCSS: false, 2771 ticker: true, 2772 tickerHover: true, 2773 responsive: true, 2774 wrapperClass: 'bx-wrapper_feedback-carousel', 2775 }); 2776 $('.games-carousel').bxSlider({ 2777 mode: 'horizontal', 2778 pager: false, 2779 slideMargin: 30, 2780 controls: false, 2781 speed: 22000, 2782 useCSS: false, 2783 ticker: true, 2784 tickerHover: false, 2785 responsive: true, 2786 slideWidth: 100, 2787 autoDirection: 'prev', 2788 wrapperClass: 'bx-wrapper_games-carousel', 2789 }); 2790 $('.games-carousel-2').bxSlider({ 2791 mode: 'horizontal', 2792 pager: false, 2793 slideMargin: 30, 2794 controls: false, 2795 speed: 25000, 2796 useCSS: false, 2797 ticker: true, 2798 tickerHover: false, 2799 responsive: true, 2800 slideWidth: 100, 2801 autoDirection: 'prev', 2802 wrapperClass: 'bx-wrapper_games-carousel', 2803 }); 2804 $('.rewards-carousel').bxSlider({ 2805 mode: 'horizontal', 2806 pager: false, 2807 slideMargin: 30, 2808 controls: false, 2809 speed: 25000, 2810 useCSS: false, 2811 ticker: true, 2812 tickerHover: false, 2813 responsive: true, 2814 slideWidth: 176, 2815 autoDirection: 'prev', 2816 wrapperClass: 'bx-wrapper_rewards-carousel', 2817 }); 2818 $('.rewards-carousel-2').bxSlider({ 2819 mode: 'horizontal', 2820 pager: false, 2821 slideMargin: 30, 2822 controls: false, 2823 speed: 22000, 2824 useCSS: false, 2825 ticker: true, 2826 tickerHover: false, 2827 responsive: true, 2828 slideWidth: 176, 2829 autoDirection: 'prev', 2830 wrapperClass: 'bx-wrapper_rewards-carousel', 2831 }); 2832 2833 const today = new Date(); 2834 const startDay = new Date("08/06/2020"); 2835 const diffTime = today.getTime() - startDay.getTime(); 2836 const diffDays = diffTime / (1000 * 3600 * 24); 2837 2838 $('#counterup').counterUp({ 2839 delay: 100, 2840 time: 2000, 2841 formatter: function (n) { 2842 if (n === '18,397,064') { 2843 const newNum = 18397064 + (Math.floor(diffDays) * 22000); 2844 return numberWithCommas(newNum); 2845 } 2846 2847 return n; 2848 } 2849 }); 2850 setInterval(() => { 2851 const val = $('#counterup').html(); 2852 if (val === '18,397,064') return; 2853 let valNum = parseInt(val.replace(/,/g, '')); 2854 const increments = [5, 10, 15]; 2855 valNum += increments[Math.floor(Math.random() * increments.length)]; 2856 $('#counterup').html(`${numberWithCommas(valNum)}`); 2857 }, 4000); 2858</script>
vendor: 1 bytes, line 2858
2858
2859<script type="text/javascript" src="https://cdn.weglot.com/weglot.min.js"></script>
vendor: 1 bytes, line 2859
2859
2860<script> 2861// init Weglot 2862Weglot.initialize({ 2863 api_key: 'wg_69b690c4cd1390b9bc6f4c63627846524' 2864}); 2865Weglot.on('initialized', ()=>{ 2866 const currentLang = Weglot.getCurrentLang(); 2867 updateSW6FlagDropdownLinks(currentLang); 2868}); 2869document.querySelectorAll('.wg-element-wrapper.sw6 [lang]').forEach((link)=>{ 2870 link.addEventListener('click', function(e){ 2871 e.preventDefault(); 2872 Weglot.switchTo(this.getAttribute('lang')); 2873 updateSW6FlagDropdownLinks(this.getAttribute('lang')); 2874 }); 2875}); 2876function updateSW6FlagDropdownLinks(currentLang){ 2877 const $wrapper = document.querySelector('.wg-element-wrapper.sw6'); 2878 if($wrapper.querySelector('.w-dropdown-toggle').getAttribute('lang') !== currentLang){ 2879 const $activeLangLink = $wrapper.querySelector('[lang='+currentLang+']'); 2880 const childDiv = $activeLangLink.innerHTML; 2881 const $toggle = $wrapper.querySelector('.w-dropdown-toggle'); 2882 const toggleDiv = $toggle.innerHTML; 2883 $toggle.innerHTML = childDiv; 2884 $activeLangLink.innerHTML = toggleDiv; 2885 const lang = $activeLangLink.getAttribute('lang'); 2886 const toggleLang = $toggle.getAttribute('lang'); 2887 $toggle.setAttribute('lang', lang); 2888 $activeLangLink.setAttribute('lang', toggleLang); 2889 } 2890} 2891</script>
2891</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.