endpoints.path: /
endpoints.endpoint_type: HTTP
endpoints.scan_time: 2025-10-11T16:16:29.280085
endpoints.uri: https://amazing-bricks-game.nextplay.games/
endpoints.protocol: HTTP/1.1
endpoints.status_reason: OK
endpoints.key: Report-To
endpoints.headers: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=qWKSA59%2Fd7a613EU7nZA43tBSms2riyGnZTfQ7ZSYlr4WslFmbdH8jHkFqAXtZp%2BIFAzDvTm3rTG0FXiVRHFSefkw1pvxumV3gOHJ7JuvY9f%2BVuQqLBOKwkX1tWKXZzpdrg%3D"}]}
endpoints.key: x-nf-request-id
endpoints.headers: 01K7A0YCMBSRFDSJW6VDHZHBFF
endpoints.key: Transfer-Encoding
endpoints.headers: chunked
endpoints.key: Content-Encoding
endpoints.headers: gzip
endpoints.key: Server
endpoints.headers: cloudflare
endpoints.key: Age
endpoints.headers: 1
endpoints.key: Connection
endpoints.headers: keep-alive
endpoints.key: CF-RAY
endpoints.headers: 98cfa989c96ffa21-ORD
endpoints.key: strict-transport-security
endpoints.headers: max-age=31536000
endpoints.key: Date
endpoints.headers: <REDACTED>
endpoints.key: Nel
endpoints.headers: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
endpoints.key: cache-status
endpoints.headers: "Netlify Edge"; fwd=miss
endpoints.key: alt-svc
endpoints.headers: h3=":443"; ma=86400
endpoints.key: cf-cache-status
endpoints.headers: DYNAMIC
endpoints.key: vary
endpoints.headers: Accept-Encoding
endpoints.key: Content-Type
endpoints.headers: text/html; charset=UTF-8
endpoints.key: Cache-Control
endpoints.headers: public,max-age=0,must-revalidate
endpoints.html_tags: <title>Unity WebGL Game</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
endpoints.body: <!DOCTYPE html>
  <html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Unity WebGL Game</title>
  
    <!-- Unity Loader Script -->
    <script src="Build/Amazing Bricks Game – Relaxing Block Puzzle, Fun Brain Challenge & Addictive Casual Play.loader.js"></script>
  
    <!-- Google Ad Manager GPT -->
    <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
    <!-- AdinPlay -->
    <script async src="https://cdn.adinplay.com/static/gameads.js"></script>
  
    <script>
      window.adManagerActive = true;
      window.googletag = window.googletag || { cmd: [] };
  
      let interstitialSlot, rewardedSlot;
  
      googletag.cmd.push(function () {
        interstitialSlot = googletag.defineSlot('/123456789/webgl_interstitial', [1, 1], 'div-gpt-ad-interstitial')
          .addService(googletag.pubads());
  
        rewardedSlot = googletag.defineSlot('/123456789/webgl_rewarded', [1, 1], 'div-gpt-ad-rewarded')
          .addService(googletag.pubads());
  
        googletag.pubads().addEventListener('slotRenderEnded', function (event) {
          if (event.slot === interstitialSlot && event.isEmpty) tryShowAdinPlayInterstitial();
          if (event.slot === rewardedSlot && event.isEmpty) tryShowAdinPlayRewarded();
        });
  
        googletag.enableServices();
      });
  
      const adSound = new Audio('ad-open.mp3');
      const closeSound = new Audio('ad-close.mp3');
  
      function ShowInterstitialAdFromUnity() {
        adSound.play();
        document.getElementById("interstitialAd").style.display = "flex";
  
        if (window.adManagerActive && interstitialSlot) {
          googletag.cmd.push(() => {
            googletag.display('div-gpt-ad-interstitial');
            googletag.pubads().refresh([interstitialSlot]);
          });
        } else {
          tryShowAdinPlayInterstitial();
        }
      }
  
      function tryShowAdinPlayInterstitial() {
        if (typeof aipShowAd === "function") {
          aipShowAd({
            onComplete: closeInterstitial,
            onError: showCustomInterstitialFallback
          });
        } else {
          showCustomInterstitialFallback();
        }
      }
  
      function showCustomInterstitialFallback() {
        // Interstitial fallback: do not show anything, just notify Unity
        gameInstance.SendMessage("ShowAd", "OnInterstitialComplete");
      }
  
      function closeInterstitial() {
        closeSound.play();
        document.getElementById("interstitialAd").style.display = "none";
        gameInstance.SendMessage("ShowAd", "OnInterstitialComplete");
      }
  
      function ShowRewardedAdFromUnity() {
        adSound.play();
        document.getElementById("rewardedAd").style.display = "flex";
  
        if (window.adManagerActive && rewardedSlot) {
          googletag.cmd.push(() => {
            googletag.display('div-gpt-ad-rewarded');
            googletag.pubads().refresh([rewardedSlot]);
          });
        } else {
          tryShowAdinPlayRewarded();
        }
      }
  
      function tryShowAdinPlayRewarded() {
        if (typeof aipShowAd === "function") {
          aipShowAd({
            onComplete: closeRewarded,
            onError: showCustomRewardedFallback
          });
        } else {
          showCustomRewardedFallback();
        }
      }
  
      function showCustomRewardedFallback() {
        // Rewarded fallback: show "No ads found" text for 2 seconds
        const rewardedAd = document.getElementById("rewardedAd");
        rewardedAd.style.display = "flex";
        rewardedAd.innerHTML = `
          <div style="color:#000;font-size:24px;text-align:center;">
            No ads found
          </div>
        `;
        setTimeout(closeRewarded, 2000);
      }
  
      function closeRewarded() {
        closeSound.play();
        document.getElementById("rewardedAd").style.display = "none";
        gameInstance.SendMessage("ShowAd", "OnRewardedComplete");
      }
    </script>
  
    <style>
      @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500&display=swap');
      html, body {
        margin: 0;
        padding: 0;
        overflow: hidden;
        height: 100%;
        background: #e8f0ec;
        font-family: 'Orbitron', sans-serif;
      }
      #unity-container { width: 100%; height: 100%; position: relative; }
      canvas { width: 100%; height: 100%; display: block; background: #000; }
      .ad-overlay, #loading-screen {
        position: absolute; top: 0; left: 0; width: 100%; height: 100%;
        background: rgba(232,240,236,0.95); z-index: 9999;
        display: none; justify-content: center; align-items: center; flex-direction: column;
      }
      .ad-overlay img, #loading-screen img {
        max-width: 100%; max-height: 100%; object-fit: contain;
      }
      .spinner {
        border: 8px solid #ccc; border-top: 8px solid #7dffaf; border-radius: 50%;
        width: 60px; height: 60px; animation: spin 1s linear infinite; margin-bottom: 20px;
      }
      @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
      .loading-text {
        color: #222; font-size: 24px; margin-bottom: 10px;
      }
      .loading-bar-container {
        width: 60%; height: 10px; background: #ccc; border-radius: 5px; overflow: hidden; margin-bottom: 20px;
      }
      .loading-bar-fill { height: 100%; width: 0%; background: #7dffaf; transition: width 0.3s ease; }
      .ad-overlay button {
        font-size: 20px; padding: 10px 20px; background: #0f0; border: none; border-radius: 6px; cursor: pointer;
      }
      .ad-overlay button:hover { background: #0c0; }
      .loading-logo {
        width: 300px;
        margin-bottom: 25px;
        animation: pulse 1.2s infinite ease-in-out;
      }
      @keyframes pulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.05); }
        100% { transform: scale(1); }
      }
    </style>
  </head>
  <body>
    <div id="unity-container">
      <canvas id="unity-canvas"></canvas>
  
      <!-- Loading Screen -->
      <div id="loading-screen" class="ad-overlay" style="display: flex;">
        <img class="loading-logo" src="logo.png" alt="Logo">
        <div class="spinner"></div>
        <div class="loading-bar-container"><div class="loading-bar-fill" id="loading-bar"></div></div>
        <div class="loading-text">Loading...</div>
      </div>
  
      <!-- Interstitial Ad -->
      <div id="interstitialAd" class="ad-overlay">
        <div id="div-gpt-ad-interstitial"></div>
        <img id="customInterstitial" src="custom_interstitial.png" style="display: none; width: 100%; height: 100%; object-fit: cover;">
        <button onclick="closeInterstitial()">Close Ad</button>
      </div>
  
      <!-- Rewarded Ad -->
      <div id="rewardedAd" class="ad-overlay">
        <div id="div-gpt-ad-rewarded"></div>
        <img id="customRewarded" src="custom_rewarded.png" style="display: none; width: 100%; height: 100%; object-fit: cover;">
        <button onclick="closeRewarded()">Get Reward</button>
      </div>
    </div>
  
    <!-- Unity Game Bootstrap Script -->
    <script>
    // Detect if iOS
      function isIOS() {
          return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
      }
      var buildUrl = "Build";
      var config = {
        dataUrl: buildUrl + "/Amazing Bricks Game – Relaxing Block Puzzle, Fun Brain Challenge & Addictive Casual Play.data.br",
        frameworkUrl: buildUrl + "/Amazing Bricks Game – Relaxing Block Puzzle, Fun Brain Challenge & Addictive Casual Play.framework.js.br",
        codeUrl: buildUrl + "/Amazing Bricks Game – Relaxing Block Puzzle, Fun Brain Challenge & Addictive Casual Play.wasm.br",
        streamingAssetsUrl: "StreamingAssets",
        companyName: "YourCompany",
        productName: "YourProduct",
        productVersion: "1.0",
        showBanner: function(msg, type) {},
  initialMemory: isIOS() ? 128 * 1024 * 1024 : 256 * 1024 * 1024, // 128 MB iOS, 256 MB others
        memory: isIOS() ? 512 * 1024 * 1024 : 1024 * 1024 * 1024, // 512 MB iOS, 1 GB others
        heapGrowth: true
      };
  
  // iOS optimization
      if (isIOS()) {
        config.devicePixelRatio = 1;
         config.matchWebGLToCanvasSize = false;
      }
      var canvas = document.querySelector("#unity-canvas");
      var loadingBar = document.getElementById("loading-bar");
      var loadingText = document.querySelector(".loading-text");
  
      createUnityInstance(canvas, config, (progress) => {
        const percent = (progress * 100).toFixed(0);
        loadingText.textContent = `Loading... ${percent}%`;
        loadingBar.style.width = `${percent}%`;
      }).then((unityInstance) => {
        window.gameInstance = unityInstance;
        document.getElementById('loading-screen').style.display = 'none';
      });
    </script>
  </body>
  </html>
  
endpoints.name: https://amazing-bricks-game.nextplay.games/favicon.ico
endpoints.html_title: Unity WebGL Game
endpoints.supported_versions: HTTP/1.1
endpoints.banner: HTTP/1.1 200 OK
  Date:  <REDACTED>
  Content-Type: text/html; charset=UTF-8
  Transfer-Encoding: chunked
  Connection: keep-alive
  Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
  Age: 1
  Cache-Control: public,max-age=0,must-revalidate
  cache-status: "Netlify Edge"; fwd=miss
  Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=qWKSA59%2Fd7a613EU7nZA43tBSms2riyGnZTfQ7ZSYlr4WslFmbdH8jHkFqAXtZp%2BIFAzDvTm3rTG0FXiVRHFSefkw1pvxumV3gOHJ7JuvY9f%2BVuQqLBOKwkX1tWKXZzpdrg%3D"}]}
  Server: cloudflare
  strict-transport-security: max-age=31536000
  vary: Accept-Encoding
  x-nf-request-id: 01K7A0YCMBSRFDSJW6VDHZHBFF
  cf-cache-status: DYNAMIC
  Content-Encoding: gzip
  CF-RAY: 98cfa989c96ffa21-ORD
  alt-svc: h3=":443"; ma=86400
  
endpoints.ip: 172.67.187.86
[binary data, 7 values, 175 bytes]