📋 PrzeglądOverview strategii

StrategiaOpisDescriptionRotacja czasowa
round_robinRotacja po providerach w kolejnościProvider rotation in order✅ Tak
priorityZawsze pierwszy, fallback do kolejnych❌ Nie
randomLosowy wybór przy każdym starcieRandom selection on each start❌ Nie
weightedLosowanie z wagami per format❌ Nie
auctionClient-side auction między bidderamiClient-side auction between bidders❌ Nie

🔄 Round Robin

Rotacja po providerach z opcjonalną rotacją czasową.Provider rotation with optional time-based rotation.

KonfiguracjaConfiguration
{
  "zones": {
    "default": {
      "strategy": "round_robin",
      "providers": ["admob", "unity", "homeads"],
      "timeout": 20000,
      "homeAdFallback": true,
      "adunits": {
        "admob": { "banner": "ca-app-pub-xxx/111" },
        "unity": { "banner": "UNITY_BANNER" }
      }
    }
  }
}

Jak działa:How It Works:

  1. Wybór startowego providera wg indeksu RRStarting provider selection by RR index
  2. Jeśli brak fill → próba kolejnych (wrap-around)If no fill → try next providers (wrap-around)
  3. Ostatnia próba: HomeAds (jeśli homeAdFallback: true)Last attempt: HomeAds (if homeAdFallback: true)
  4. Po sukcesie przesuwa indeks RR
  5. Po upływie timeout ms następuje zmiana provideraAfter timeout ms the provider is switched

⬆️ Priority

Zawsze zaczyna od pierwszego providera, fallback do kolejnych.

KonfiguracjaConfiguration
{
  "zones": {
    "feed": {
      "strategy": "priority",
      "providers": ["admob", "unity", "homeads"],
      "homeAdFallback": true
    }
  }
}
💡 Uwaga: Brak rotacji czasowej - timeout jest ignorowany.

🎲 Random

Losowy wybór providera przy każdym starcie.Random provider selection on each start.

KonfiguracjaConfiguration
{
  "zones": {
    "promo": {
      "strategy": "random",
      "providers": ["admob", "applovin", "unity"]
    }
  }
}

⚖️ Weighted

Losowanie z wagami, osobno dla każdego formatu.Weighted random selection, per format.

KonfiguracjaConfiguration
{
  "zones": {
    "storefront": {
      "strategy": "weighted",
      "providers": ["admob", "applovin", "unity"],
      "weights": {
        "banner": {
          "admob": 5,
          "applovin": 3,
          "unity": 2
        },
        "native": {
          "admob": 1,
          "applovin": 4,
          "unity": 1
        }
      }
    }
  }
}

Obliczanie prawdopodobieństwa:Probability calculation:

P(admob) = 5 / (5+3+2) = 50%
P(applovin) = 3 / (5+3+2) = 30%
P(unity) = 2 / (5+3+2) = 20%

🏆 Auction

Client-side auction między zdefiniowanymi bidderami.Client-side auction between defined bidders.

KonfiguracjaConfiguration
{
  "zones": {
    "premium": {
      "strategy": "auction",
      "providers": ["admob", "homeads"],
      "bidders": {
        "banner": ["criteo", "aps"],
        "interstitial": ["networkX", "criteo"],
        "rewarded": ["networkY"]
      },
      "timeout": 5000
    }
  }
}

Jak działa:How It Works:

  1. Równoległe zapytania do wszystkich bidderówParallel requests to all bidders
  2. Zbieranie bidów w czasie timeout
  3. Wybór zwycięzcy (najwyższa stawka)Winner selection (highest bid)
  4. Render przez zwycięski adapterRender by winning adapter
  5. Jeśli brak bidów → fallback do providersIf no bids → fallback to providers