PageSourceSearch

https://mistplay-business-8cad2c.webflow.io/

html mistplay-business-8cad2c.webflow.io collected 2026-10-03 13:28:49 UTC 208,102 bytes, 2,891 lines download raw bytes

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 &amp; 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 &amp; 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 &amp; 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 &amp; Fintech</a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_nav_label_b w-dropdown-link">For Shopping &amp; Cashback</a><a href="/publishers/loyaltyplay/fuel-convenience-stores" class="mb_nav_label_b w-dropdown-link">For Fuel &amp; 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&#x27;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 &amp; 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">&times;</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&#x27;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 &amp; 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(&quot;https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d%2F6aa8565331ce5cc6bd5ab09d_Value_Exchange_Cycle%282%29_poster.0000000.jpg&quot;)" 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 &amp; BRANDS</h4><h3 class="mb_h3 mb_text_primary mb_text_center">Plug gaming into your loyalty &amp; 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 &amp; 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 &amp; 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 &amp; Convenience</p><p class="mb_p_sm mb_text_primary mb_text_weight-400">Pump-to-store conversion &amp; 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&#x27;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 &amp; 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&#x27;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">&quot;Thanks to LoyaltyPlay&#x27;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&#x27;s services, adding real value to our users and our business.&quot;<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&#x27;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 &amp; Fintech</a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_footer_item_b">Shopping &amp; Cashback</a><a href="/publishers/loyaltyplay/fuel-convenience-stores" class="mb_footer_item_b">Fuel &amp; 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;">&times;</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,'&amp;').replace(/</g,'&lt;')}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.