amp-auto-ads
Description
Uzaktan sunulan bir yapılandırma dosyası kullanarak reklamları bir AMP sayfasına dinamik şekilde yerleştirir.
Required Scripts
<script async custom-element="amp-auto-ads" src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js"></script>
Uzaktan sunulan bir yapılandırma dosyası kullanarak reklamları bir AMP sayfasına dinamik şekilde yerleştirir.
Durum | Deneme |
Zorunlu Komut Dosyası | <script async custom-element="amp-auto-ads" src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js"></script> |
Desteklenen Düzenler | Yok |
Davranış
Yeterli sayıda geçerli yerleşim göz önünde bulundurulduğunda (yapılandırmada sağlanır) amp-auto-ads
, bir yandan reklam ağı tarafından belirtilen kısıtlamalara uyarken diğer yandan ek reklamlar yerleştirmeye çalışır. Bu kısıtlamalar şunları sınırlandırır:
- Eklenebilecek toplam reklam sayısı
- Bitişik reklamlar arasında olması gereken minimum mesafe
Buna ek olarak, reklamlar yalnızca sayfada kabul edilemez yeniden akışa neden olmayacak (attemptChangeSize ile belirlenir) konumlara eklenir.
<amp-auto-ads>
etiketi, <body>
öğesinin ilk alt öğesi olarak yerleştirilmelidir.
Reklam ağı türü ve (reklam ağının gerektirdiği) ek bilgiler etikette belirtilmelidir.
<amp-auto-ads
type="adsense"
data-ad-client="ca-pub-5439573510495356">
</amp-auto-ads>
Desteklenen reklam ağları
Özellikler
type (zorunlu) | Reklam ağı için bir tanımlayıcı. |
data-foo-bar | Çoğu reklam ağı, HTML data- özelliklerini kullanarak ağa geçirilebilecek ek yapılandırma gerektirir. Parametre adlarında, standart veri özelliği çizgisi büyük/küçük harfe dönüştürülür. Örneğin, "data-foo-bar" adı, yapılandırma için reklama "fooBar" olarak gönderilir. Özelliklerin kullanılabileceği reklam ağı ile ilgili dokümanlara bakın. |
common attributes | Bu öğe, AMP bileşenlerine genişletilmiş ortak özellikleri içerir. |
Yapılandırma Spesifikasyonu
Yapılandırma, <amp-auto-ads>
etiketinin reklamları sayfada yerleştirebileceği yerleri tanımlar. Yapılandırma, ad-network-config.js
dosyasında tanımlanan URL'deki bir üçüncü taraf reklam ağından getirilir. Yapılandırma, aşağıda açıklanan ConfigObj
tanımına uygun serileştirilmiş bir JSON nesnesi olmalıdır.
Örnek Yapılandırma
Aşağıdaki örnekte, reklamın sayfada üçüncü <DIV id='domId'>
öğesi içindeki tüm <P class='paragraph'>
öğelerinden hemen sonra yerleştirilmesi gerektiği belirtilmektedir. Bu konumların herhangi birine yerleştirilen bir reklamın BANNER türünde olması ve 4 piksel üst ve 10 piksel alt kenar boşluğu olması gerekir.
{
"placements": [
{
"anchor": {
"selector": "DIV#domId",
"index": 2,
"sub": {
"selector": "P.paragraph",
"all": true,
},
},
"pos": 4,
"type": 1,
"style": {
"top_m": 5,
"bot_m": 10,
},
},
]
}
Nesne Tanımları
ConfigObj
Yapılandırma nesnesinde belirtilecek alanlar:
Alan Adı | Tür | Açıklama |
---|---|---|
placements | Array<!PlacementObj> | Sayfada reklamların eklenebileceği potansiyel yerleri belirten zorunlu bir alandır. |
attributes | Object<string, string> | Bu yapılandırma kullanılarak yerleştirilen tüm <amp-ad> öğelerine uygulamak üzere özellik adından özellik değerlerine bir eşleme belirten isteğe bağlı bir alandır. Yalnızca aşağıdaki özellik adlarına izin verilir:
|
adConstraints | AdConstraintsObj | Reklamları sayfaya yerleştirirken kullanılması gereken kısıtlamaları belirten isteğe bağlı bir alandır. Belirtilmezse amp-auto-ads etiketi, [ad-network-config.js](0.1/ad-network-config.js) içinde belirtilen varsayılan kısıtlamaları kullanmaya çalışır. |
PlacementObj
placements
yapılandırma nesnesinde belirtilecek alanlar:
Alan Adı | Tür | Açıklama |
---|---|---|
anchor | AnchorObj | Yerleşim konumunun bağlantılı olduğu sayfadaki öğeleri aramak için kullanılan bilgileri sağlayan zorunlu bir alandır. |
pos | RelativePositionEnum | Yerleşimin sabit öğesine göre konumunu belirten zorunlu bir alandır. |
type | PlacementTypeEnum | Yerleşim türünü belirten zorunlu bir alandır. |
style | PlacementStyleObj | Bu yerleşim konumuna eklenen bir reklama uygulanması gereken stilleri belirten isteğe bağlı bir alandır. |
attributes | Object<string, string> | Bu yerleşim kullanılarak yerleştirilen tüm <amp-ad> öğelerine uygulanmak üzere özellik adından özellik değerine bir eşleme için isteğe bağlı bir alandır. Burada belirtilen bir özellik, üst ConfigObj nesnesinde de belirtilen aynı adlı diğer özellikleri geçersiz kılar. Yalnızca aşağıdaki özellik adlarına izin verilir:
|
AnchorObj
anchor
yapılandırma nesnesinde belirtilecek alanlar:
Alan Adı | Tür | Açıklama |
---|---|---|
selector | string | Sabit tanımın bu düzeyindeki öğeleri seçmek için bir CSS seçici tanımlayan zorunlu bir alandır. |
index | number | Bu sabit tanım düzeyini sınırlandıracak, seçici tarafından seçilen öğe dizinini belirtmek için kullanılan isteğe bağlı bir alandır. Varsayılan olarak 0 değerine ayarlanır (all alanı false (yanlış) değerine ayarlanmışsa). |
all | boolean | index alanı belirtilmişse yoksayılır. true (doğru) değerine ayarlanmışsa seçici tarafından seçilen tüm öğelerin eklenmesi gerektiğini belirtir; aksi takdirde, false (yanlış) değerine ayarlanır. |
min_c | number | Bir öğenin textContent özelliğinin eklenecek minimum uzunluğunu belirten isteğe bağlı bir alandır. Varsayılan değer 0'dır. |
sub | AnchorObj | Bu sabit tanım düzeyinde seçilen öğeler içinden öğeler seçecek yinelemeli bir AnchorObj nesnesinin belirtildiği isteğe bağlı bir alandır. |
PlacementStyleObj
style
yapılandırma nesnesinde belirtilecek alanlar:
Alan Adı | Tür | Açıklama |
---|---|---|
top_m | number | Bu konuma eklenen bir reklamın sahip olması gereken üst kenar boşluğunun piksel cinsinden belirtildiği isteğe bağlı bir alan. Varsayılan değer: 0. |
bot_m | number | Bu konuma eklenen bir reklamın sahip olması gereken alt kenar boşluğunun piksel cinsinden belirtildiği isteğe bağlı bir alan. Varsayılan değer: 0. |
RelativePositionEnum
placements
yapılandırma nesnesindeki pos
alanı için ENUM değerleri:
Ad | Değer | Açıklama |
---|---|---|
BEFORE | 1 | Reklam, sabit öğeden hemen önce eşdüzey öğe olarak eklenmelidir. |
FIRST_CHILD | 2 | Reklam, sabit öğenin ilk alt öğesi olarak eklenmelidir. |
LAST_CHILD | 3 | Reklam, sabit öğenin son alt öğesi olarak eklenmelidir. |
AFTER | 4 | Reklam, sabit öğeden hemen sonra eşdüzey öğe olarak eklenmelidir. |
PlacementTypeEnum
placements
yapılandırma nesnesindeki type
alanı için ENUM değerleri:
Ad | Değer | Açıklama |
---|---|---|
BANNER | 1 | Yerleşim, bir banner reklam konumunu tanımlar. |
AdConstraintsObj
adConstraints
yapılandırma nesnesinde belirtilecek alanlar:
Alan Adı | Tür | Açıklama |
---|---|---|
initialMinSpacing | string | Bir reklamın ekleme sırasında halihazırda sayfada bulunan (manuel olarak veya önceden amp-auto-ads tarafından yerleştirilmiş) diğer reklamlarla aralarında olması gereken minimum mesafeyi gösteren zorunlu bir alandır. Değerler, bir sayı ve birim öneki şeklinde ifade edilir. Örneğin, "10px", 10 piksel veya "0,5vp", yarım görüntü alanı yüksekliği anlamına gelir. Negatif değerler geçersizdir. Şu birimler desteklenir:
adCount eşleyicisinden daha az olduğunda uygulanır. |
subsequentMinSpacing | Array<!SubsequentMinSpacingObj> | Ekleme sırasında halihazırda sayfada bulunan reklam sayısına dayalı olarak uygulanması gereken reklam aralıklarını belirten isteğe bağlı bir alandır. |
maxAdCount | number | amp-auto-ads etiketinin sayfada yer almasına neden olabileceği maksimum reklam sayısını belirten zorunlu bir alandır. Hem manuel olarak yerleştirilmiş reklamlar hem de amp-auto-ads tarafından yerleştirilenler bu toplama dahil edilir. Örneğin, bu alan 5 değerine ayarlandıysa ve sayfada manuel olarak yerleştirilmiş 3 reklam bulunuyorsa amp-auto-ads , en fazla 2 reklam daha yerleştirebilir. |
SubsequentMinSpacingObj
subsequentMinSpacing
yapılandırma nesnesinde belirtilecek alanlar. subsequentMinSpacing
girişleri, halihazırda sayfada bulunan reklamların sayısına dayalı olarak ilave reklamlar arasında bulunması gereken aralıkları değiştirmek için kullanılabilir. Örneğin, aşağıdaki senaryoyu inceleyin:
- Sayfada 2 reklam vardır
- subsequentMinSpacing alanı şöyledir:
[ {adCount: 3, spacing: "500px"}, {adCount: 5, spacing: "1000px"}, ]
Başlangıçta, sayfada 2 reklam olduğundan herhangi bir eşleme gerçekleşmez.
Dolayısıyla, minimum aralık varsayılan olarak AdConstraints
nesnesindeki initialMinSpacing değerine ayarlanır.
amp-auto-ads
, adConstraints
kısıtlamasını bozmadan kullanabileceği yerleşimler tükeninceye kadar tekrarlanan bir şekilde reklam yerleştirmeyi dener.
amp-auto-ads
ilk reklamını yerleştirdikten sonra sayfada artık 3 reklam vardır. subsequentMinSpacing
alanında 3 (veya daha fazla) reklam için bir eşleme olduğundan minimum aralık şimdi 500 px olur.
5. reklam için bir kural olduğundan, bu durum sayfada 5 reklam yer alıncaya kadar uygulanır. 6. ve sonraki reklamların eklenmesi için eklenen reklamın, diğer reklamlardan en az 1.000 px uzakta olması gerekir.
Alan Adı | Tür | Açıklama |
---|---|---|
adCount | number | Zorunlu bir alandır. Bu kuralın uygulanmasına (başka hiçbir kuralın daha iyi eşleşmediği varsayıldığında) neden olan, halihazırda bu sayfada bulunan minimum reklam sayısı. Daha ayrıntılı bilgi için yukarıdaki açıklamaya bakın. |
spacing | string | Bu kural, adCount alanına dayalı olarak eşleştirildiğinde uygulanacak minimum reklam aralığını belirten zorunlu bir alandır. Değerler, bir sayı ve birim öneki şeklinde ifade edilir. Örneğin, "10px", 10 piksel veya "0,5vp", yarım görüntü alanı yüksekliği anlamına gelir. Negatif değerler geçersizdir. Şu birimler desteklenir:
|
Doğrulama
AMP doğrulayıcı spesifikasyonundaki amp-auto-ads kurallarına bakın.
Bu belgeyi defalarca okudunuz ama tüm sorularınıza tatmin edici bir yanıt bulamadınız mı? Belki başka kişiler de bu şekilde hissetmiştir: Stack Overflow'dan onlara ulaşın.
Stack Overflow'a git Bir hata veya eksik bir özellik mi buldunuz?AMP projesi, katılımınızı ve katkılarınızı güçlü bir şekilde teşvik ediyor! Açık kaynak topluluğumuzun devamlı bir katılımcısı olacağınızı umuyoruz ancak özel olarak ilgilendiğiniz konularla ilgili tek seferlik katkıları da memnuniyetle karşılıyoruz.
GitHub'a git