Ad Placement API iki işlev içerir: Aşağıdaki genel ad alanında tanımlanan adBreak()
ve adConfig()
. Bağımsız değişkenlerin çoğu, bir reklamı hazırlamak ve görüntülemek için gereken temel adımları işlemenizi sağlayan işlevlerdir:
adBreak({
type: '<type>', // The type of this placement
name: '<name>', // A descriptive name for this placement
beforeAd: () => {}, // Prepare for the ad. Mute and pause the game flow
afterAd: () => {}, // Resume the game and un-mute the sound
beforeReward: (showAdFn) => {}, // Show reward prompt (call showAdFn() if clicked)
adDismissed: () => {}, // Player dismissed the ad before completion
adViewed: () => {}, // Ad was viewed and closed
adBreakDone: (placementInfo) => {}, // Always called (if provided) even if an ad didn't show
});
adConfig({
preloadAdBreaks: 'on|auto', // Should ads always be preloaded
sound: 'on|off', // Is sound currently enabled within the game
});
Bu işlevler, oyununuza reklam yerleştirmek ve reklamları yapılandırmak için kullanılır. Yukarıda gösterilen bağımsız değişkenler, bu işlevlere aktarılabilecek tek geçerli bağımsız değişkendir. Farklı reklam türleri, aşağıda açıklandığı gibi bu bağımsız değişkenlerin farklı alt kümelerini gerektirir.
adBreak()
, oyunun içine reklam yerleştirmenin temel işlevidir. Bir reklam yerleşimini tanımlar ve bir reklam göstermek için gereken her şeyi belirten yerleşim yapılandırması adlı bir nesne alır.
adBreak()
işlevi, reklamın gösterilebileceği bir yerleşimi tanımlar.
Bir reklamın gerçekten gösterilip gösterilmeyeceği aşağıdakiler gibi faktörlere bağlıdır:
- Beyan ettiğiniz reklam yerleşiminin türü
- Bu reklam oyunun başında mı? Seviyeler arasında mı? Oyuncu oyunu duraklattığında mı?
- Mevcut oyuncu için uygun bir reklam olup olmadığı
- Bu reklam onlarla alakalı mı?
- Veri gizliliği ve izin ayarlarına uygun mu?
- Oyuncunun yakın zamanda gördüğü reklam sayısı
- Kontrol ayarları (ör. bu oyun için yapılandırdığınız reklam sıklığı)
- Etikette ipuçları olarak veya
- AdSense'te, AdSense'teki kontrollerin zaman içinde değişeceğini unutmayın.
Gösterilen reklamın türü de benzer faktörlere bağlıdır.
adBreak()
çağrısının hiç reklam göstermeyebileceğini unutmayın. Yalnızca bir reklamın gösterilebileceği bir yeri belirtir.
Bu, kodunuzun bir reklamın kullanılabilir olup olmadığını her zaman bildiği ve oyunun gösterilip gösterilmeyeceğine sizin karar verdiğiniz geleneksel API'lerden farklıdır. Reklam Yerleşimi API'sini kullanmaya yönelik bu yaklaşım, bir reklamın belirli bir yerleşimde gösterilip gösterilmeyeceğine karar verir. Bu kalıp, bazen "kontrolü tersine çevirme" olarak adlandırılır.
Games API'mizi bu modele taşımamızın nedeni, ilk olarak oyununuzda yazmanız gereken kodu kısaltmaktır. İkinci olarak, mükemmel kullanıcı deneyimine sahip, politikaya uygun yerleşimler sunmayı kolaylaştırır. Bu da en yüksek performanslı biçimlerimizden bazılarını oyun yayıncılarına sunmamıza olanak tanır. Son olarak, oyuna reklam yerleştirme sürecini, gösterilecek reklam türü ve sayısıyla ilgili para kazanma kararlarından daha net bir şekilde ayırır.
Başlangıçta etikette ipuçları belirterek, oyununuzun yeni bir sürümünü düzenleyip yayınlamak zorunda kalmadan para kazanma ayarlarınızı değiştirebilmenizi ve kullanıcı deneyimini kontrol edebilmenizi istiyoruz. Ancak daha sonraki sürümlerde, kontrolleri doğrudan AdSense ve AdMob ön uçlarında sağlayacağız.
Geçiş Reklamları
Geçiş reklamları, oyununuzun farklı anlarında (ör. oyuncu oyunu başlatırken veya oyuncu bir seviyeyi tamamladıktan sonra) gösterilebilen tam ekran reklamdır. Oyunu duraklatır, dokümanın tamamını kaplar ve oynatıcı reklamı tıklamayı (bu durumda tarayıcı farklı bir sekmede gösterilir) veya kapatmaya karar vererek oyuna devam edebilir.
Bir geçiş reklamı yerleştirmek için yerleşim yapılandırmasında aşağıdaki alanları doldurun:
adBreak({
type: 'start', // The type of this placement
name: 'game_started', // A descriptive name for this placement
beforeAd: beforeAd, // Prepare for the ad. Mute and pause the game flow
afterAd: afterAd, // Resume the game and un-mute the sound
adBreakDone: breakDone, // Always called (if provided) even if an ad didn't show
});
type
bağımsız değişkeni gereklidir ve yerleşimlerinizi her zaman adlandırmanızı öneririz. Diğer geri çağırmalar isteğe bağlıdır.
Arama dizisi
Geçiş reklamının çağrı dizisini inceleyin.
Açıklama
Geçiş reklamı - Ayrıntılı arama dizisi | |
---|---|
H5 Oyununuz | Reklam Yerleşimi API'si |
Reklamları başlatma ve önceden yükleme | |
Oyun çalışıyor | |
Reklam göstermek için iyi bir fırsat...
|
|
Bir reklam var ve şimdi bunu göstermenin tam zamanı... ← |
|
Oyun duraklatılır, sesi kapatır ve reklamı göstermeye hazır hâle gelir.
API'ye |
|
Ad Placement API, geçiş reklamını oluşturur. Oynatıcı reklamı tıklayabilir (yeni sekmede gösterilir). Oyunu oynamaya devam etmek için reklamı kapatmaları gerekir. | |
Reklam gösteriliyorsa ← afterAd() çağrılır
|
|
Oyunun duraklatması kaldırılır ve ses açılır. | |
← adBreakDone() adBreakDone() her zaman çağrılır (reklam gösterilmemiş olsa bile) |
|
Oyun bu yerleşimle ilgili analizleri günlüğe kaydeder. |
Notlar
adBreak()
hemen dönen eşzamansız bir işlevdir.- Bir yerleşim için görüntülenecek reklam yoksa geri çağırmaların hiçbiri çağrılmaz, yani
beforeAd()
,afterAd()
öğesinin hiçbiri çağrılmaz. - Reklam oynatılırken oyununuzun yürütülmeye devam etmesini önlemek için
beforeAd()
geri çağırmasını kullanarak sesi kapatıp oyunu duraklatın. beforeAd()
eşzamanlıdır, Ad Placement API, geri dönene kadar bir reklam göstermez.- Oyununuzu yeniden başlatın ve
afterAd()
aramasını aldığınızda sesi açın. - Bu yerleşimde bir reklam gösterilmemiş olsa bile
adBreakDone()
her zaman çağrılır. - Başka bir reklam gösterilirken
adBreak()
işlevi çağrılamaz ve JavaScript konsolunda bir uyarı görüntülenir.
Videodan önce gösterilen reklamlar
Videodan önce gösterilen reklam, oyununuz kullanıcı arayüzünü yüklemeden önce gösterilen bir geçiş reklamıdır. Bu, bir oyuncunun oyununuza gittiğinde gördüğü ilk şeydir. Videodan önce gösterilen reklamlar sayfa yüklemenin başlarında gerçekleşir ve oyununuz henüz gösterilmez. Bu nedenle, oyununuzu duraklatmak ve yoksaymak için her zamanki bir çağrı yapmanız gerekmez. Bunun yerine, adBreakDone()
ile geri çağırmayı kullanarak oyununuzun başlangıcını reklamla (yani kullanıcı arayüzünü oluşturup ses çalmaya) sıralayabilirsiniz. Her bir sayfa yükleme için yalnızca bir tane videodan önce gösterilen reklam tetiklenebilir.
Arama dizisi
Videodan önce gösterilen reklam çağrısı, sayfa yüklenmenin çok erken bir aşamasında yapılır. Oyununuz bu aşamada kullanıcı arayüzünü oluşturmadığı için beforeAd()
ve afterAd()
geri çağırmalarını iletmemeniz gerekiyor. Bunun yerine, yerleşimden sonra oyununuzu başlatmak için adBreakDone()
geri çağırmasını kullanın. Reklam olmadan bile çağrılabileceği garanti edilir.
Oyun mantığınızın başında aşağıdaki kodu çağırdığınızda videodan önce gösterilen reklam yerleştirilir. Bu kod çağrılmadan önce kullanıcı arayüzünüz oluşturulmamalıdır.
// Game must not be running.
// Nothing in the game area should be clickable
adBreak({
type: ‘preroll',
adBreakDone: startGame,
})
Videodan önce gösterilen reklam – Ayrıntılı arama dizisi | |
---|---|
H5 Oyununuz | Reklam Yerleşimi API'si |
Reklamları başlatma ve reklamları önceden önbelleğe alma işlemleri başlar | |
Çalışıyor ancak başlatılmadı ve bir kullanıcı arayüzü göstermedi | |
|
|
Ad Placement API, reklamları ilk kullanıma hazırlama ve yükleme işlemini tamamlar. Reklam varsa bu reklam gösterilir. Oynatıcı reklamı tıklayabilir (yeni bir sekmede gösterilir). Oyunun başlayabilmesi için oyunu kapatmaları gerekir. |
|
← |
|
Oyun kullanıcı arayüzü ekranda oluşturulur ve oyuncu artık bu etkileşimle etkileşim kurabilir. Oyun, gerektiğinde |
Notlar
- Videodan önce gösterilen reklamlar her zaman reklamları önceden yüklemeyi dener:
- Videodan önce gösterilen reklamlarda
adConfig(preloadAds: ‘on')
yönteminin aranması gerekmez.
- Videodan önce gösterilen reklamlarda
- Diğer reklam yerleşimlerinde olduğu gibi, videodan önce gösterilen reklam da reklam gösterebilir veya göstermeyebilir.
beforeAd()
veafterAd()
, bir videodan önce gösterilen reklama geçmemelidir.- Videodan önce gösterilen reklamlar, oyununuz başlamadan önce yayınlandığından oyun sesini duraklatmanız veya sesini kapatmanız gerekmez.
- Videodan önce gösterilen reklamla
beforeAd()
veyaafterAd()
ilettiğinizde arama başarısız olur ve JavaScript konsoluna bir hata kaydedilir.
- Videodan önce gösterilen reklamlar, Ad Placement API'nin reklamları ilk kullanıma hazırlamasını ve önceden yüklemesini bekler:
- Ancak, aramanın süresiz olarak geciktirilmesini engelleyen bir zaman aşımı (2) vardır. Bu,
adBreakDone()
adlı oyuncunun zamanında başlatılmasını ve oyununuzun başlamasını sağlar. - Reklam olmadığında bile
adBreakDone()
her zaman çağrılır.
- Ancak, aramanın süresiz olarak geciktirilmesini engelleyen bir zaman aşımı (2) vardır. Bu,
- Oyun başlamadan önce reklam yerleştirmek için videodan önce gösterilen reklam kullanmanızı öneririz.
- Alternatif olarak, API'nin ilk kullanıma hazırlanması ve reklamların önceden yüklenmesiyle oyun mantığınızı sıralama mekanizması olarak
adConfig()
içinonReady()
geri çağırmasını kullanabilirsiniz.
- Alternatif olarak, API'nin ilk kullanıma hazırlanması ve reklamların önceden yüklenmesiyle oyun mantığınızı sıralama mekanizması olarak
Ödüllü reklamlar
Ödüllü reklam sayesinde, reklam izlemeyi tercih eden oyuncuları uygulama içi öğelerle ödüllendirebilirsiniz. Geçiş reklamları devre dışı bırakıldığında, reklama bir oynatıcı gösterilir ve oynatıcıyı kapatabilir. Ödüllü reklamlar etkinleştirilir. Oyuncu, ödül kazanmak için bir reklamı izlemek isteyip istemeyeceğini ve ne zaman izlemek istediğini seçer.
Oyuncunun reklamı istediği zaman kapatabileceği geçiş reklamlarından farklı olarak, ödül kazanmak için reklamı minimum süre boyunca görüntülemesi gerekir (gösterilen reklam öğesine bağlı olarak değişebilir).
Ödüllü reklamlar oyuncu için isteğe bağlı olduğundan oyun akışınıza daha kapsamlı şekilde entegre edilmelidir. Oyununuzda ödül isteği oluşturacak işlevler sağlamanız ve reklamı izleyen oyuncuya ödülü vermeniz gerekir.
Ödüller, uygulamanız dışında bir değere sahip olmamalıdır. Parasal değer taşımamalıdır (veya kolayca takas edilemez), ayrıca ürün ve hizmetler için satılabilir veya takas edilemez. Ayrıca kullanıcıları reklamları tıklamaya teşvik etmemelisiniz. Daha fazla bilgi için lütfen geçiş reklamlarına yönelik ödüllü reklam politikasını ve ödüllü reklamları inceleyin.
Ödüller, oyuncu için isteğe bağlı olduğundan bunları oyun içinde anlamlı olan ve geçiş reklamlarına ek olarak herhangi bir yere ekleyebilirsiniz. Geçiş reklamlarında olduğu gibi bu yerleşimler de ödüllü reklam gösterme fırsatlarıdır. Ad Placement API, yalnızca oyununuzun belirli bir noktasında ödüllü reklam gerçekten sunulacaksa kodunuzu çağırır.
Buradaki hedef, oyununuzu Reklam Yerleşimi API'siyle bir kez entegre etmenize olanak tanımaktır. Ardından zaman içinde etiketteki veya AdSense'teki kontrolleri kullanarak oyununuzu yeniden kodlamak ve tekrar yayınlamak zorunda kalmadan, etkinleştirilen reklamların tam karışımını değiştirebilirsiniz.
Ödüllü bir yerleşimin türü her zaman 'reward'
'dir ve yerleşim yapılandırmasındaki tüm alanlar kullanılabilir.
adBreak({
type: 'reward', // The type of this placement
name: '<name>', // A descriptive name for this placement
beforeAd: () => {}, // Prepare for the ad. Mute and pause the game flow
afterAd: () => {}, // Resume the game and re-enable sound
beforeReward: (showAdFn) => {}, // Show reward prompt (call showAdFn() if clicked)
adDismissed: () => {}, // Player dismissed the ad before it finished.
adViewed: () => {}, // Player watched the ad–give them the reward.
adBreakDone: (placementInfo) => {}, // Always called (if provided) even if an ad didn't show
});
Bu yeni temel işlevler, ödül istemini oluşturmanız gerektiğini işaret eden tetikleyici olan beforeReward()
ve oyuncu reklamı başarıyla görüntülediğinde çağrılan adViewed()
öğesidir. Böylece ödülünü ayırabilirsiniz.
Ödüllü yerleşimi şu şekilde tanımlayabilirsiniz:
adBreak({
type: 'reward',
name: 'new_life_reward_1',
beforeAd: pauseGame,
afterAd: restartGame,
beforeReward: showRewardPrompt,
adDismissed: adDismissed,
adViewed: adViewed,
adBreakDone: breakDone,
});
Ödüllü reklamlar, oyununuzdaki bir istemle başlar. Kullanıcı bir reklamı görüntülediğinde ödül kazanır.
Ödüllü reklam için arama dizisi
Açıklama
Ödüllü reklam – Ayrıntılı arama dizisi | |
---|---|
H5 Oyununuz | Reklam Yerleşimi API'si |
Reklamları başlatma ve önbelleğe alma | |
Oyun çalışıyor | |
|
|
Bir reklam bulunduğundan ödüllü reklam yerleşimi başlatın. ← |
|
Oyun, ödül istemini oluşturur. Bu, oyuncuya reklam izleyerek ödül kazanma fırsatı sunar. Birden fazla ödül türü sunulabilir (örneğin, yeni bir yaşam veya altın para). Oyuncu, bir ödül istemini tıklayabilir, reddedebilir veya yoksayabilir. Bir istemi tıklamaları halinde oyun, istedikleri ödül türünü depolar ve Aksi takdirde, ödül istemi reddedilir veya yoksayılırsa ödül yerleşim türüyle |
|
|
|
← beforeAd() |
|
Oyun duraklatılır, sesi kapatır ve reklam göstermeye hazır hale gelir API'ye |
|
API, reklamı gösterir. Kapat düğmesi ve reklamda ne kadar süre kaldığını gösteren bir geri sayım içerir. | |
Oynatıcı reklamı kapatırsa... | |
← adDismissed() |
|
Oyuncu reklamı kapattı ve oyun ödül vermedi. | |
Oynatıcı daha sonra reklamı sonuna kadar izler... | |
← adViewed() |
|
Oyuncu reklamı sonuna kadar izledi ve oyun ödül verdi. (Buna genellikle oyun durumu yeniden ayarlanır. Oyun durumu, aşağıdaki afterAd() çağrısıyla yeniden başlatıldığında alınır.)
|
|
Reklam izlendikten veya kapatıldıktan sonra... | |
← Bir reklam gösterildiği takdirde afterAd() çağrılır |
|
Oyunun duraklatması kaldırılır ve ses açılır. | |
← adBreakDone() adBreakDone() her zaman çağrılır (reklam gösterilmemiş olsa bile) |
|
Oyun bu yerleşimle ilgili analizleri günlüğe kaydeder. |
Notlar
adBreak()
hemen dönen eşzamansız bir işlevdir.- Bir yerleşim için görüntülenecek reklam yoksa geri çağırmaların hiçbiri çağrılmaz, yani
beforeAd()
vebeforeReward()
hiçbiri çağrılmaz. - Reklam oynatılırken oyununuzun yürütülmeye devam etmesini önlemek için
beforeAd()
geri çağırmasını kullanarak sesi kapatıp oyunu duraklatın. beforeAd()
eşzamanlıdır, Ad Placement API, geri dönene kadar bir reklam göstermez.- Oyununuzu yeniden başlatın ve
afterAd()
aramasını aldığınızda sesi açın. - Bu yerleşimde bir reklam gösterilmemiş olsa bile
adBreakDone()
her zaman çağrılır. - Başka bir reklam gösterilirken
adBreak()
işlevi çağrılamaz ve JavaScript konsolunda bir uyarı görüntülenir.