|
|
@@ -0,0 +1,265 @@
|
|
|
+<!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>
|