Zákon České národní rady o nabývání a pozbývání státního občanství České republiky (úplné znění)

Předpis č. 40/1993 Sb.

Vyhlášené znění

40/1993 Sb. Zákon České národní rady o nabývání a pozbývání státního občanství České republiky

40

ZÁKON

České národní rady

ze dne 29. prosince 1992

o nabývání a pozbývání státního občanství České republiky

Česká národní rada se usnesla na tomto zákoně:

§ 1

Obecná ustanovení

(1) Fyzické osoby, které ke dni 31. prosince 1992 byly státními občany České republiky a zároveň státními občany České a Slovenské Federativní Republiky, jsou od 1. ledna 1993 státními občany České republiky.

(2) Při posuzování, zda je fyzická osoba státním občanem České republiky, popřípadě do 31. prosince 1992 byla státním občanem České a Slovenské Federativní Republiky, se postupuje podle předpisů platných v době, kdy mělo dojít k nabytí nebo pozbytí státního občanství této osoby.1)

ČÁST PRVNÍ

NABÝVÁNÍ STÁTNÍHO OBČANSTVÍ

§ 2

Státní občanství České republiky se nabývá

a) narozením (§ 3),

b) určením otcovství (§ 4),

c) nalezením na území České republiky (§ 5),

d) prohlášením (§ 6),

e) udělením (§ 7 až 12).

§ 3

Narozením

Dítě nabývá narozením státní občanství České republiky,

a) je-li alespoň jeden rodič státním občanem České republiky nebo

b) jsou-li rodiče bezdomovci, alespoň jeden z nich má trvalý pobyt na území České republiky a dítě se na jejím území narodí.

§ 4

Určením otcovství

Dítě narozené mimo manželství, jehož matka je cizí státní občankou nebo bezdomovkyní a otec státním občanem České republiky, nabývá státní občanství České republiky

a) dnem souhlasného prohlášení rodičů o určení otcovství2) nebo

b) dnem právní moci rozsudku o určení otcovství.3)

§ 5

Nalezením na území České republiky

Fyzická osoba mladší 15 let nalezená na území České republiky je státním občanem České republiky, pokud se neprokáže, že nabyla narozením státní občanství jiného státu.

§ 6

Prohlášením

(1) Fyzická osoba, která byla k 31. prosinci 1992 státním občanem České a Slovenské Federativní Republiky, ale neměla ani státní občanství České republiky ani státní občanství Slovenské republiky, si může zvolit státní občanství České republiky prohlášením.

(2) Prohlášení se činí u okresního úřadu, v hlavním městě Praze u obvodního úřadu, ve městech Brno, Ostrava a Plzeň u magistrátů těchto měst (dále jen "okresní úřad"), příslušného podle místa trvalého pobytu fyzické osoby, která prohlášení činí. V cizině se toto prohlášení činí před zastupitelským úřadem České republiky.

(3) Příslušný úřad vydá o prohlášení osvědčení.

Udělením

§ 7

(1) Státní občanství České republiky lze na žádost udělit fyzické osobě, která splňuje současně tyto podmínky:

a) má na území České republiky ke dni podání žádosti nepřetržitý trvalý pobyt alespoň pět let,

b) prokáže, že byla propuštěna ze státního svazku cizího státu, nebo která nabytím státního občanství České republiky pozbude dosavadní cizí státní občanství, nejde-li o bezdomovce,

c) nebyla v posledních pěti letech pravomocně odsouzena pro úmyslný trestný čin,

d) prokáže znalost českého jazyka.

(2) Manželé mohou podat společnou žádost o udělení státního občanství České republiky.

(3) Ministerstvo školství, mládeže a tělovýchovy České republiky stanoví obecně závazným právním předpisem kriteria pro prokazování znalostí českého jazyka podle odstavce 1 písm. d).

§ 8

K žádosti o udělení státního občanství České republiky žadatel připojí

a) rodný list, pokud uzavřel manželství, i oddací list, popřípadě doklad o rozvodu manželství nebo úmrtní list zemřelého manžela,

b) doklad o propuštění ze státního svazku cizího státu, nejde-li o bezdomovce nebo osobu, která nabytím státního občanství České republiky pozbude dosavadní cizí státní občanství,

c) výpis z rejstříku trestů,

d) životopis.

§ 9

(1) Rodiče, popřípadě jeden z nich, mohou do žádosti zahrnout i dítě mladší 15 let. K žádosti připojí

a) rodný list dítěte,

b) souhlas druhého rodiče se změnou státního občanství dítěte, pokud nebyl zbaven rodičovských práv nebo způsobilosti k právním úkonům,

c) doklad o propuštění dítěte ze státního svazku cizího státu, nejde-li o bezdomovce nebo osobu, která nabytím státního občanství České republiky pozbude dosavadní cizí státní občanství.

(2) Státní občanství České republiky lze na žádost zákonného zástupce udělit i dítěti mladšímu 15 let samostatně; k žádosti se připojí doklady uvedené v odstavci 1.

§ 10

(1) Státní občanství České republiky uděluje ministerstvo vnitra České republiky (dále jen "ministerstvo vnitra"); žadateli vydá Listinu o udělení státního občanství České republiky.

(2) Žádost se podává u okresního úřadu příslušného podle místa trvalého pobytu žadatele. Okresní úřad ověří pohovorem se žadatelem jeho znalost českého jazyka a o výsledku učiní záznam do spisu. Znalost českého jazyka neprokazuje žadatel, který je nebo byl státním občanem Slovenské republiky.

§ 11

(1) Ministerstvo vnitra může prominout podmínku stanovenou v § 7 odst. 1 písm. a), má-li žadatel na území České republiky trvalý pobyt a

a) narodil se na území České republiky nebo

b) žije na území České republiky nepřetržitě alespoň 10 let nebo

c) měl v minulosti státní občanství České republiky, popřípadě státní občanství České a Slovenské Federativní Republiky nebo

d) byl nezrušitelně osvojen státním občanem České republiky anebo

e) jeho manžel (manželka) je státním občanem České republiky.

(2) Ministerstvo vnitra může dále prominout podmínku stanovenou v § 7 odst. 1 písm. b), má-li žadatel na území České republiky nepřetržitý trvalý pobyt alespoň po dobu pěti let, pokud právní předpisy státu, jehož je žadatel státním občanem, neumožňují propuštění ze státního svazku nebo pokud tento stát odmítá vydat doklad o propuštění žadatele ze státního svazku.

(3) Ministerstvo vnitra může dále v případech hodných zvláštního zřetele prominout i podmínku stanovenou v § 7 odst. 1 písm. d).

§ 12

Státoobčanský slib

(1) Fyzická osoba starší 15 let, které bylo uděleno státní občanství České republiky, nabývá státní občanství České republiky podle § 7 dnem složení tohoto slibu: "Slibuji na svou čest věrnost České republice. Slibuji, že budu zachovávat všechny zákony a jiné obecně závazné právní předpisy. Slibuji, že budu plnit všechny povinnosti státního občana České republiky".

(2) Dítě mladší 15 let zahrnuté do žádosti rodičů, nabývá státní občanství České republiky dnem, kdy je nabývá alespoň jeden z rodičů; bylo-li státní občanství České republiky tomuto dítěti uděleno samostatně, nabývá je dnem převzetí Listiny o udělení státního občanství České republiky zákonnými zástupci.

(3) Ministerstvo vnitra může složení státoobčanského slibu prominout. V tom případě fyzická osoba nabývá státní občanství České republiky dnem, kdy rozhodnutí o prominutí složení státoobčanského slibu nabylo právní moci.

(4) Fyzická osoba skládá státoobčanský slib před přednostou okresního úřadu, v hlavním městě Praze před tajemníkem obvodního úřadu, ve městech Brno, Ostrava a Plzeň před tajemníkem magistrátu těchto měst, příslušného podle místa jejího trvalého pobytu, v cizině před vedoucím zastupitelského úřadu České republiky.

ČÁST DRUHÁ

POZBÝVÁNÍ STÁTNÍHO OBČANSTVÍ

§ 13

Státní občanství České republiky se pozbývá

a) propuštěním ze státního svazku České republiky (§ 14 a 15),

b) prohlášením (§ 16),

c) nabytím cizího státního občanství (§ 17) s výjimkou případů, kdy k nabytí cizího státního občanství dojde v souvislosti s uzavřením manželství nebo narozením dítěte.

Propuštěním ze státního svazku České republiky

§ 14

(1) Státní občan České republiky bude propuštěn na vlastní žádost ze státního svazku České republiky, nemá-li na jejím území trvalý pobyt a předloží-li doklad, že

a) nabyl státní občanství cizího státu před 1. lednem 1993 nebo

b) mu bylo přislíbeno udělení státního občanství cizího státu.

(2) Manželé mohou podat společnou žádost o propuštění ze státního svazku.

(3) Rodiče, popřípadě jeden z nich, mohou do žádosti zahrnout dítě mladší 15 let.

(4) Státní občanství České republiky se pozbývá převzetím Listiny o propuštění ze státního svazku České republiky.

(5) Státního občana České republiky propouští ze státního svazku České republiky okresní úřad příslušný podle místa posledního trvalého pobytu žadatele na území České republiky; pokud takovýto pobyt žadatel neměl, je příslušný Obvodní úřad v Praze 1.

§ 15

(1) Žádost o propuštění ze státního svazku České republiky se podává prostřednictvím zastupitelského úřadu České republiky v místě trvalého pobytu žadatele nebo u okresního úřadu příslušného podle posledního trvalého pobytu žadatele na území České republiky.

(2) K žádosti o propuštění ze státního svazku České republiky žadatel připojí

a) rodný list, pokud uzavřel manželství,i oddací list, popřípadě doklad o rozvodu manželství, popřípadě úmrtní list zemřelého manžela,

b) doklad o nabytí cizího státního občanství nebo o příslibu jeho udělení,

c) doklad o změně jména nebo příjmení žadatele, nevyplývá-li tato skutečnost z dokladů uvedených v písmenu a).

(3) Je-li do žádosti zahrnuto dítě mladší 15 let, rodič připojí

a) rodný list dítěte,

b) doklad o nabytí cizího státního občanství nebo doklad o příslibu jeho udělení,

c) souhlas druhého rodiče se změnou státního občanství dítěte, pokud nebyl zbaven rodičovských práv nebo způsobilosti k právním úkonům.

§ 16

Prohlášením

(1) Státní občan České republiky, který se zdržuje v cizině alespoň po dobu 10 let, může prohlásit, že se vzdává státního občanství České republiky.

(2) Prohlášení podle odstavce 1 se činí před zastupitelským úřadem České republiky podle místa trvalého pobytu žadatele v cizině. Žadatel v něm uvede

a) od kdy se zdržuje v cizině,

b) místo posledního trvalého pobytu na území České republiky nebo, že nikdy takovýto pobyt neměl.

K prohlášení připojí doklad o státním občanství České republiky; tento doklad lze nahradit platným cestovním pasem.

(3) Rodiče, popřípadě jeden z nich, mohou do prohlášení zahrnout i dítě mladší 15 let; toto dítě nemusí splňovat podmínku uvedenou v odstavci 1. K prohlášení připojí

a) rodný list dítěte,

b) souhlas druhého rodiče s pozbytím státního občanství České republiky dítěte, pokud nebyl zbaven rodičovských práv nebo způsobilosti k právním úkonům.

(4) Zastupitelský úřad České republiky vydá fyzické osobě doklad o pozbytí státního občanství České republiky.

§ 17

Nabytím cizího státního občanství

Státní občan České republiky pozbývá státní občanství České republiky okamžikem, kdy na vlastní žádost nabyl cizí státní občanství s výjimkou, kdy cizí státní občanství nabyl v souvislosti s uzavřením manželství nebo narozením.

ČÁST TŘETÍ

ZVLÁŠTNÍ USTANOVENÍ O STÁTNÍM OBČANSTVÍ ČESKÉ REPUBLIKY V SOUVISLOSTI SE ZÁNIKEM ČESKÉ A SLOVENSKÉ FEDERATIVNÍ REPUBLIKY

§ 18

Volba státního občanství

(1) Státní občan Slovenské republiky si může zvolit státní občanství České republiky prohlášením učiněným nejpozději do 31. prosince 1993,

a) má-li nepřetržitý trvalý pobyt na území České republiky alespoň po dobu dvou let,

b) předloží-li doklad o propuštění ze státního svazku Slovenské republiky s výjimkou případů, kdy prokáže, že požádal o propuštění ze státního svazku Slovenské republiky a jeho žádosti nebylo do tří měsíců vyhověno, a současně před okresním úřadem prohlásí, že se vzdává státního občanství Slovenské republiky; tento doklad se nepožaduje, jestliže volbou státního občanství České republiky dojde k pozbytí státního občanství Slovenské republiky,

c) nebyl-li v posledních pěti letech pravomocně odsouzen pro úmyslný trestný čin.

(2) Státní občan Slovenské republiky, který nemá trvalý pobyt na území České republiky ani Slovenské republiky, si může zvolit státní občanství České republiky prohlášením učiněným nejpozději do 31. prosince 1993,

a) měl-li před odchodem do ciziny poslední trvalý pobyt na území České republiky nebo je-li alespoň jeden z jeho rodičů státním občanem České republiky a

b) předloží-li doklad o propuštění ze státního svazku Slovenské republiky s výjimkou případů, kdy prokáže, že požádal o propuštění ze státního svazku Slovenské republiky a jeho žádosti nebylo do tří měsíců vyhověno, a současně před okresním úřadem nebo zastupitelským úřadem České republiky prohlásí, že se vzdává státního občanství Slovenské republiky.

(3) Stanou-li se podle předchozích odstavců oba rodiče státními občany České republiky, sledují jejich státní občanství České republiky děti mladší 15 let; žije-li pouze jeden z rodičů, sleduje dítě jeho státní občanství. Rodiče uvedou tyto děti ve svém prohlášení o volbě státního občanství České republiky a připojí k němu doklad o propuštění dítěte ze státního svazku Slovenské republiky s výjimkou případů, kdy prokáží, že požádali o propuštění dítěte ze státního svazku Slovenské republiky a jejich žádosti nebylo do tří měsíců vyhověno, a současně před okresním úřadem prohlásí, že se za dítě vzdávají státního občanství Slovenské republiky.

(4) Rodiče mohou zvolit státní občanství České republiky i samostatně pro děti mladší 15 let. Učiní tak souhlasným prohlášením; souhlas se nevyžaduje od rodiče, který je zbaven rodičovských práv nebo způsobilosti k právním úkonům. Žije-li pouze jeden z rodičů nebo zdržuje-li se druhý rodič trvale v cizině a není-li znám jeho pobyt, může učinit toto prohlášení sám. K prohlášení připojí doklad o propuštění dítěte ze státního svazku Slovenské republiky s výjimkou případů, kdy prokáží, že požádali o propuštění dítěte ze státního svazku Slovenské republiky a jejich žádosti nebylo do tří měsíců vyhověno, a současně před okresním úřadem prohlásí, že se za dítě vzdávají státního občanství Slovenské republiky.

(5) Prohlášení činí fyzická osoba u okresního úřadu příslušného podle místa svého trvalého pobytu, popřípadě podle místa svého posledního trvalého pobytu na území České republiky, v cizině před zastupitelským úřadem České republiky.

§ 19

(1) Do 31. prosince 1993 může ministerstvo vnitra udělit státní občanství České republiky na žádost státnímu občanovi Slovenské republiky, jde-li o nezletilce staršího 15 let, jehož alespoň jeden z rodičů je státním občanem České republiky, nebo jde-li o fyzickou osobu, jejíž manžel (manželka) je státním občanem České republiky, pokud

a) žadatel má trvalý pobyt na území České republiky a

b) předloží doklad o propuštění ze státního svazku Slovenské republiky s výjimkou případů, kdy prokáže, že požádal o propuštění ze státního svazku Slovenské republiky a jeho žádosti nebylo do tří měsíců vyhověno, a současně před okresním úřadem prohlásí, že se vzdává státního občanství Slovenské republiky.

(2) Žádost se podává u okresního úřadu příslušného podle místa trvalého pobytu žadatele.

ČÁST ČTVRTÁ

USTANOVENÍ SPOLEČNÁ A ZÁVĚREČNÁ

Doklady o státním občanství

§ 20

(1) Státní občanství České republiky se prokazuje

a) občanským průkazem,

b) cestovním dokladem,

c) osvědčením, popřípadě potvrzením o státním občanství České republiky,

d) vysvědčením o právní způsobilosti k uzavření manželství, je-li v něm údaj o státním občanství České republiky uveden.

(2) Osvědčení o státním občanství České republiky vydává okresní úřad příslušný podle trvalého pobytu žadatele.

§ 21

Prohlášení o volbě a o pozbytí státního občanství České republiky se činí ve dvojím vyhotovení. Zastupitelský úřad České republiky zašle obě vyhotovení ministerstvu vnitra.

§ 22

(1) Doklady vystavené orgány cizího státu, které předkládají fyzické osoby podle tohoto zákona,

a) musí být opatřeny potřebnými ověřeními,4) nestanoví-li jinak mezinárodní smlouva, kterou je Česká republika vázána,

b) musí být úředně přeloženy do českého jazyka,5) jsou-li vystaveny v cizím jazyce.

(2) Ustanovení odstavce 1 se nepoužije v případě, že jsou doklady vystaveny příslušnými orgány Slovenské republiky.

§ 23

(1) Okresní úřad vede evidenci fyzických osob, které nabyly nebo pozbyly státní občanství České republiky, pokud mají nebo měly v územním obvodu okresního úřadu trvalý pobyt. Pokud takovýto pobyt na území České republiky nikdy neměly, vede evidenci Obvodní úřad v Praze 1.

(2) Ústřední evidenci fyzických osob, které nabyly nebo pozbyly státní občanství České republiky, vede ministerstvo vnitra.

(3) Soud nebo obecní úřad, před nimiž dojde k souhlasnému prohlášení rodičů o určení otcovství, nebo soud, který rozhodl o otcovství k dítěti, jehož matka je cizinka a otcem byl určen státní občan České republiky, oznámí tuto skutečnost do 10 pracovních dnů ode dne učinění souhlasného prohlášení rodičů nebo nabytí právní moci rozsudku okresnímu úřadu příslušnému podle místa trvalého pobytu dítěte. Nemá-li dítě trvalý pobyt na území České republiky, pak Obvodnímu úřadu v Praze 1.

§ 24

Zjišťování státního občanství

(1) Ve sporných případech provádí zjišťování státního občanství České republiky okresní úřad příslušný podle místa trvalého pobytu, popřípadě posledního trvalého pobytu žadatele na území České republiky. Pokud žadatel takový pobyt nikdy neměl, provádí zjišťování Obvodní úřad v Praze 1.

(2) Okresní úřad vystaví fyzické osobě potvrzení o výsledku provedeného zjištění. Je-li to třeba k uplatnění práv fyzické osoby, do potvrzení uvede, kdy, popřípadě na základě jakých ustanovení fyzická osoba státní občanství České republiky nabyla nebo pozbyla.

§ 25

Vyhovuje-li se podle tohoto zákona v plném rozsahu podání žadatele, nevydává se s výjimkou ustanovení § 12 odst. 3 rozhodnutí ve správním řízení.6)

§ 26

Není-li tímto zákonem stanoveno jinak, může příslušný orgán státní správy prominout předložení dokladů stanovených v § 8 písm. a) a c), § 9 odst. 1 písm. a) a c), v § 15 odst. 2 písm. a) a c) a v odst. 3 písm. a), pokud by jejich obstarání bylo spojeno s těžko překonatelnou překážkou, lze-li bez jejich předložení zjistit přesně a úplně skutečný stav věci.

§ 27

Prohlášení podle tohoto zákona nepodléhají správním poplatkům.

§ 28

Zrušují se

1. Zákon České národní rady č. 39/1969 Sb., o nabývání a pozbývání státního občanství České socialistické republiky, ve znění zákona České národní rady č. 92/1990 Sb.

2. Zákon č. 165/1968 Sb., o zásadách nabývání a pozbývání státního občanství.

§ 29

Tento zákon nabývá účinnosti dnem 1. ledna 1993.

Uhde v. r.
Klaus v. r.

1) Např. zákon č. 236/1920 Sb., kterým se doplňují a mění dosavadní ustanovení o nabývání a pozbývání státního občanství a práva domovského v republice Československé, zákon č. 152/1926 Sb., o udělení státního občanství československého některým osobám, zákon č. 60/1930 Sb., jímž se provádí úmluva ze dne 16. července 1928 mezi Československem a Spojenými státy Severoamerickými o naturalizaci, zákon č. 194/1949 Sb., o nabývání a pozbývání československého státního občanství, ve znění pozdějších předpisů, zákon č. 39/1969 Sb., o nabývání a pozbývání státního občanství České republiky, ve znění pozdějších předpisů.

2) § 52 odst. 1 zákona č. 94/1963 Sb., o rodině, ve znění zákona č. 132/1982 Sb. a zákona č. 234/1992 Sb.

3) § 54 odst. 1 zákona č. 94/1963 Sb.

4) § 52 zákona č. 97/1963 Sb., o mezinárodním právu soukromém a procesním, ve znění pozdějších předpisů.

5) Zákon č. 36/1967 Sb., o znalcích a tlumočnících.

6) Zákon č. 71/1967 Sb., o správním řízení (správní řád).

Skrýt změny zákona Legenda text přidán text vypuštěn
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »