---
title: "Konfigurácia — Advertisements for Laravel | Roundly"
description: "Každý konfiguračný kľúč s predvolenou hodnotou a env premennou — modely, typ kľúča autora, mena, jazyk, história slugov, meranie, kreatívy a geo."
url: https://roundly-consulting.com/sk/open-source/navody/advertisements-for-laravel/konfiguracia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Advertisements for Laravel](https://roundly-consulting.com/sk/open-source/navody/advertisements-for-laravel.md)

# Konfigurácia

Balík funguje bez akejkoľvek konfigurácie. Publikovaný config/advertisements.php bez úvodných komentárov:

```php
return [
    // Eloquent models the package resolves — override with your own subclasses.
    'model' => RoundlyConsulting\Advertisements\Models\Advertisement::class,

    // Key type of the polymorphic author column: 'bigint', 'uuid' or 'ulid'.
    'key_type' => env('ADVERTISEMENTS_KEY_TYPE', 'bigint'),

    'placement_model' => RoundlyConsulting\Advertisements\Models\Placement::class,
    'category_model' => RoundlyConsulting\Advertisements\Models\Category::class,
    'event_model' => RoundlyConsulting\Advertisements\Models\AdvertisementEvent::class,

    // Impression / click recording — inline, or buffered to the queue.
    'tracking' => [
        'buffered' => env('ADVERTISEMENTS_TRACKING_BUFFERED', false),
        'queue' => env('ADVERTISEMENTS_TRACKING_QUEUE'),
        'connection' => env('ADVERTISEMENTS_TRACKING_CONNECTION'),
    ],

    // Locale used when the active locale has no translation for an attribute.
    'fallback_locale' => env('ADVERTISEMENTS_FALLBACK_LOCALE', config('app.fallback_locale', 'en')),

    // Slugs (sluggable): keep retired advertisement slugs and 301 them to the current one.
    'slugs' => [
        'history' => env('ADVERTISEMENTS_SLUG_HISTORY', false),
    ],

    // Currency used by AdvertisementData::fromMinor() / ::fromDecimal() when none is given.
    'default_currency' => env('ADVERTISEMENTS_CURRENCY', 'EUR'),

    // Register the global Advertisements facade alias.
    'register_facade_alias' => env('ADVERTISEMENTS_FACADE_ALIAS', true),

    // Visual creatives (media-library): one single-file bucket per placement named
    // "{creative_bucket_prefix}:{placement-slug}" plus a generic "{fallback_bucket}".
    'media' => [
        'creative_bucket_prefix' => 'creative',
        'fallback_bucket' => 'creative',
        'disk' => env('ADVERTISEMENTS_MEDIA_DISK'), // null = media-library default
        'responsive_widths' => null,                // null = media-library default ladder
        'display_variant' => 'display',
        'use_fallback_bucket' => true,
        'text_ad_view' => 'advertisements::text-ad',
    ],

    // Geo-targeting & geo reporting (geolocation).
    'geo' => [
        'targeting_enabled' => env('ADVERTISEMENTS_GEO_TARGETING', true),
        'untargeted_match' => true,                 // ads with no targeting match every viewer
        'match_when_unknown' => 'untargeted_only',  // unknown viewer / unknown fact: 'untargeted_only' | 'all'
        'stamp_events' => env('ADVERTISEMENTS_GEO_STAMP', true),
    ],
];
```

## Všetky kľúče

| Kľúč | Predvolené | Env | Účel |
| --- | --- | --- | --- |
| `model` | Advertisement::class | — | Model reklamy: trieda z balíka alebo jej podtrieda — čokoľvek iné vyhodí InvalidConfigurationException. |
| `key_type` | bigint | ADVERTISEMENTS\_KEY\_TYPE | Typ kľúča polymorfného stĺpca autora: bigint, uuid alebo ulid (iná hodnota vyhodí InvalidConfigurationException). Číta sa pri migrácii; všetky modely autorov ho musia mať rovnaký. |
| `placement_model` | Placement::class | — | Model umiestnenia (zóny). |
| `category_model` | Category::class | — | Model kategórie. |
| `event_model` | AdvertisementEvent::class | — | Model udalosti zobrazenia alebo kliku. |
| `tracking.buffered` | false | ADVERTISEMENTS\_TRACKING\_BUFFERED | Zápis zobrazení a klikov odošle do fronty namiesto priameho zápisu. |
| `tracking.queue` | null | ADVERTISEMENTS\_TRACKING\_QUEUE | Fronta pre odložený zápis (null alebo prázdna = predvolená). |
| `tracking.connection` | null | ADVERTISEMENTS\_TRACKING\_CONNECTION | Spojenie fronty pre odložený zápis (null alebo prázdne = predvolené). |
| `fallback_locale` | app.fallback\_locale | ADVERTISEMENTS\_FALLBACK\_LOCALE | Záložný jazyk prekladov a route bindingu a jazyk, z ktorého sa generujú slugy umiestnení a kategórií. Nenastavená hodnota (null alebo prázdna) znamená žiadny záložný jazyk prekladov a slugy použijú en. |
| `slugs.history` | false | ADVERTISEMENTS\_SLUG\_HISTORY | Pamätá si staré slugy reklám a presmeruje ich (301) na aktuálny. Vyžaduje migráciu balíka sluggable. |
| `default_currency` | EUR | ADVERTISEMENTS\_CURRENCY | Mena pre AdvertisementData::fromMinor() / fromDecimal(), ak nie je zadaná; musí byť registrovaná v money-for-laravel. |
| `register_facade_alias` | true | ADVERTISEMENTS\_FACADE\_ALIAS | Zaregistruje globálny alias Advertisements; false ho vypne. |
| `media.creative_bucket_prefix` | creative | — | Prefix názvu skupiny pre umiestnenie ({prefix}:{slug}). |
| `media.fallback_bucket` | creative | — | Všeobecná skupina kreatív bez rozmerov, skúša sa pred textovou reklamou. |
| `media.disk` | null | ADVERTISEMENTS\_MEDIA\_DISK | Disk pre kreatívy (null alebo prázdny = predvolený disk media-library). |
| `media.responsive_widths` | null | — | Rebrík responzívnych šírok (null = predvolený v media-library). Každá šírka musí byť kladné celé číslo; chybná či prázdna položka vyhodí výnimku, nevynechá sa. |
| `media.display_variant` | display | — | Názov variantu prispôsobeného rozmerom umiestnenia. |
| `media.use_fallback_bucket` | true | — | Pred textovou reklamou skúsi všeobecnú skupinu kreatív. |
| `media.text_ad_view` | advertisements::text-ad | — | Blade view, ktorý vykreslí záložnú textovú reklamu. |
| `geo.targeting_enabled` | true | ADVERTISEMENTS\_GEO\_TARGETING | Uplatní geografické cielenie v targetedIn(). |
| `geo.untargeted_match` | true | — | Reklamy bez cielenia sa zobrazia každému divákovi. |
| `geo.match_when_unknown` | untargeted\_only | — | Čo dostane neznámy divák — untargeted\_only alebo all — a či pravidlo, pre ktoré divákovi chýba krajina alebo súradnice, neplatí alebo platí. Iná hodnota (ALL, everything) vyhodí InvalidConfigurationException so zoznamom oboch. |
| `geo.stamp_events` | true | ADVERTISEMENTS\_GEO\_STAMP | K zaznamenaným udalostiam uloží krajinu diváka (+ región, mesto, súradnice). |

## Prostredie (env)

Jedenásť kľúčov sa riadi cez env, takže konfiguráciu zvyčajne vôbec nemusíte publikovať:

```bash
ADVERTISEMENTS_CURRENCY=EUR
ADVERTISEMENTS_FALLBACK_LOCALE=en
ADVERTISEMENTS_KEY_TYPE=bigint
ADVERTISEMENTS_SLUG_HISTORY=true
ADVERTISEMENTS_TRACKING_BUFFERED=true
ADVERTISEMENTS_TRACKING_CONNECTION=redis
ADVERTISEMENTS_TRACKING_QUEUE=tracking
ADVERTISEMENTS_FACADE_ALIAS=true
ADVERTISEMENTS_MEDIA_DISK=s3
ADVERTISEMENTS_GEO_TARGETING=true
ADVERTISEMENTS_GEO_STAMP=true
```

## Poznámky

- default\_currency musí byť registrovaná v registri mien money-for-laravel — predvolene akýkoľvek kód ISO 4217.
- key\_type číta iba migrácia: zmeňte ho pred migráciou, nie po nej.
- Kľúče modelov musia odkazovať na model z balíka alebo jeho podtriedu; čokoľvek iné vyhodí výnimku — pozrite Vlastné modely.
- Každý kľúč typu bool prijme true/false, 1/0, on/off alebo yes/no (z .env aj z publikovaného súboru). Čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča, takže preklep sa nikdy potichu nezmení na predvolenú hodnotu.
- Ostatné kľúče sú rovnako prísne: nenastavený kľúč — vynechaný, null alebo prázdny ('' či len medzery, napríklad riadok ADVERTISEMENTS\_FALLBACK\_LOCALE=) — dostane predvolenú hodnotu; hodnota nesprávneho tvaru vyhodí InvalidConfigurationException s názvom kľúča. Mena, jazyk, názvy skupín, variant zobrazenia, view textovej reklamy, disk a nastavenia fronty musia byť reťazce a každá responzívna šírka skutočná šírka (prázdna položka v zozname vyhodí výnimku). php artisan about zobrazí chybné nastavenie ako INVALID.
- Pri vypnutom register\_facade\_alias importujte RoundlyConsulting\\Advertisements\\Facades\\Advertisements výslovne; samotná fasáda funguje ďalej.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/advertisements-for-laravel.md)
