| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <title>USSlot77 - Get Free Bonus</title>
- <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
- <meta name="referrer" content="no-referrer-when-downgrade" />
- <script>
- !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
- n.callMethod.apply(n,arguments):n.queue.push(arguments)};
- if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
- n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;
- s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}
- (window, document,'script','https://connect.facebook.net/en_US/fbevents.js');
- fbq('init','26337722602485177');
- fbq('track','PageView');
- </script>
- <noscript><img height="1" width="1" style="display:none"
- src="https://www.facebook.com/tr?id=26337722602485177&ev=PageView&noscript=1"
- /></noscript>
- <style>
- * { box-sizing: border-box; margin: 0; padding: 0; }
- html, body {
- width: 100%; height: 100%;
- background: #000;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
- }
- body { display: flex; justify-content: center; align-items: stretch; }
- .stage {
- position: relative;
- width: 100%;
- max-width: 720px;
- height: 100vh;
- max-height: 1280px;
- overflow: hidden;
- background: #000 url("https://usslots-s3.s3.us-east-1.amazonaws.com/h5-images/bg_01.png") no-repeat top center;
- background-size: cover;
- cursor: pointer;
- }
- .top-bar {
- position: absolute;
- top: 0;
- left: 50%;
- transform: translateX(-50%);
- width: 100%;
- max-width: 720px;
- height: auto;
- z-index: 5;
- pointer-events: none;
- }
- .popup-mask {
- position: absolute;
- inset: 0;
- background: rgba(0, 0, 0, 0.65);
- display: flex;
- justify-content: center;
- align-items: center;
- z-index: 10;
- }
- .popup { position: relative; width: 78%; max-width: 563px; }
- .popup__img { width: 100%; display: block; }
- .hint {
- position: absolute;
- left: 50%;
- bottom: 16px;
- transform: translateX(-50%);
- width: calc(100% - 24px);
- max-width: 680px;
- padding: 10px 12px;
- border-radius: 12px;
- background: rgba(0,0,0,0.55);
- color: rgba(255,255,255,0.88);
- font-size: 12px;
- line-height: 1.35;
- z-index: 20;
- pointer-events: none;
- text-align: center;
- border: 1px solid rgba(255,255,255,0.12);
- backdrop-filter: blur(6px);
- }
- .toast {
- position: fixed;
- left: 50%;
- bottom: 18px;
- transform: translateX(-50%);
- padding: 10px 12px;
- border-radius: 999px;
- background: rgba(0,0,0,0.7);
- border: 1px solid rgba(255,255,255,0.12);
- color: rgba(255,255,255,0.92);
- font-size: 13px;
- opacity: 0;
- pointer-events: none;
- transition: opacity .18s ease;
- z-index: 9999;
- max-width: min(92vw, 520px);
- text-align: center;
- }
- .toast.show { opacity: 1; }
- .stage.locked { cursor: progress; }
- </style>
- </head>
- <body>
- <div class="stage" id="stageRoot">
- <img src="https://usslots-s3.s3.us-east-1.amazonaws.com/h5-images/top_01.png" alt="Top Bar" class="top-bar" />
- <div class="popup-mask" id="bonusPopup">
- <div class="popup">
- <img src="https://usslots-s3.s3.us-east-1.amazonaws.com/h5-images/pop_01.png" alt="Popup" class="popup__img" />
- </div>
- </div>
- <div class="hint" id="hintText">Tap anywhere to download. If download fails, open in system browser.</div>
- </div>
- <div class="toast" id="toast" role="status" aria-live="polite"></div>
- <script>
- var APK_URL = "https://usslots-s3.s3.us-east-1.amazonaws.com/apk/USSlotAD.apk";
- function toast(msg) {
- var el = document.getElementById("toast");
- el.textContent = msg;
- el.classList.add("show");
- clearTimeout(el.__t);
- el.__t = setTimeout(function(){ el.classList.remove("show"); }, 2200);
- }
- function parseQuery() {
- var params = {};
- try {
- var usp = new URLSearchParams(window.location.search);
- usp.forEach(function(v,k){ params[k] = v; });
- } catch (e) {}
- return params;
- }
- function setCookie(name, value, days) {
- try {
- if (!value) return;
- var d = new Date();
- d.setTime(d.getTime() + (days||30)*24*60*60*1000);
- document.cookie = name + "=" + encodeURIComponent(value) + "; expires=" + d.toUTCString() + "; path=/; SameSite=Lax";
- } catch(e) {}
- }
- function detectEnv() {
- var ua = navigator.userAgent || "";
- return {
- ua: ua,
- isAndroid: /Android/i.test(ua),
- isIOS: /iPhone|iPad|iPod/i.test(ua),
- isWeChat: /MicroMessenger/i.test(ua),
- isFBInApp: /\bFBAN\b|\bFBAV\b/i.test(ua) || /Instagram/i.test(ua)
- };
- }
- function trackLeadOnce(payload) {
- if (window.__leadTracked) return;
- window.__leadTracked = true;
- try {
- if (typeof window.fbq === "function") {
- window.fbq("track", "Lead", payload || {});
- }
- } catch (e) {}
- }
- /***********************
- * 主逻辑
- ***********************/
- (function initLanding() {
- var stage = document.getElementById("stageRoot");
- var popup = document.getElementById("bonusPopup");
- var hint = document.getElementById("hintText");
- var qp = parseQuery();
- var env = detectEnv();
- // 1) 归因参数:只保存,不拼到 APK 链接
- // 建议允许保存的字段(常见投放+你们自定义 sub/c)
- var attribution = {
- fbclid: qp.fbclid || "",
- utm_source: qp.utm_source || "",
- utm_medium: qp.utm_medium || "",
- utm_campaign: qp.utm_campaign || "",
- utm_content: qp.utm_content || "",
- utm_term: qp.utm_term || "",
- campaign_id: qp.campaign_id || qp.c || "",
- adset_id: qp.adset_id || "",
- ad_id: qp.ad_id || "",
- placement: qp.placement || "",
- creative: qp.creative || "",
- sub: qp.sub || "",
- sub1: qp.sub1 || "",
- sub2: qp.sub2 || "",
- sub3: qp.sub3 || "",
- sub4: qp.sub4 || "",
- sub5: qp.sub5 || ""
- };
- // localStorage + cookie(cookie 只存关键的,避免太长)
- try {
- localStorage.setItem("lp_attribution", JSON.stringify(attribution));
- } catch(e){}
- setCookie("fbclid", attribution.fbclid, 30);
- setCookie("utm_source", attribution.utm_source, 30);
- setCookie("utm_medium", attribution.utm_medium, 30);
- setCookie("utm_campaign", attribution.utm_campaign, 30);
- setCookie("campaign_id", attribution.campaign_id, 30);
- // 2) 环境提示
- if (env.isIOS) {
- hint.textContent = "iPhone/iPad cannot install APK. Please use an Android device.";
- } else if (env.isWeChat) {
- hint.textContent = "WeChat may block APK download. Tap ⋯ and open in Browser.";
- } else if (env.isFBInApp) {
- hint.textContent = "If download fails in in-app browser, please open in system browser.";
- } else {
- hint.textContent = "Tap anywhere to download APK. Install after download completes.";
- }
- // 3) 点击:只触发一次 + 防连点
- function handleClick() {
- if (stage.classList.contains("locked")) return;
- stage.classList.add("locked");
- // Pixel Lead(如果没有 Pixel,这步会自动忽略)
- trackLeadOnce({
- content_name: "USSlot77",
- platform: env.isAndroid ? "android" : (env.isIOS ? "ios" : "other"),
- fbclid: attribution.fbclid,
- utm_campaign: attribution.utm_campaign,
- campaign_id: attribution.campaign_id,
- ad_id: attribution.ad_id
- });
- if (env.isIOS) {
- toast("iOS cannot install APK. Use Android device.");
- stage.classList.remove("locked");
- return;
- }
- toast("Starting download…");
- window.location.assign(APK_URL); // 永远不拼参数
- }
- stage.addEventListener("click", handleClick, { passive: true });
- if (popup) popup.addEventListener("click", handleClick, { passive: true });
- })();
- </script>
- </body>
- </html>
|