Tek seferlik rastgele sayı oluşturma
"Nonce", PAL tarafından NonceLoader kullanılarak oluşturulan tek bir şifrelenmiş dizedir.
PAL SDK'sı, her yeni akış isteğinin yeni oluşturulmuş bir nonce ile birlikte gönderilmesini gerektirir. Ancak aynı akış içindeki birden fazla reklam isteği için nonce'lar yeniden kullanılabilir. PAL'yi kullanarak nonce oluşturan örnek bir uygulamayı görmek için GitHub'dan HTML5 örneğini indirin.
PAL SDK'yı kullanarak nonce oluşturmak için bir HTML dosyası oluşturun ve aşağıdakileri ekleyin:
pal.html
<html>
<head></head>
<body>
<div id="placeholder-video"></div>
<button id="generate-nonce">Generate Nonce</button>
<script src="//imasdk.googleapis.com/pal/sdkloader/pal.js"></script>
<script src="pal.js"></script>
</body>
</html>
Ardından, bir JavaScript dosyası oluşturun ve aşağıdakileri ekleyin:
pal.js
let videoElement;
let nonceLoader;
let managerPromise;
let nonceManager;
let playbackStarted = false;
/**
* Initializes the PAL loader.
*/
function init() {
const videoElement = document.getElementById('placeholder-video');
videoElement.addEventListener('mousedown', (e) => void onVideoTouch(e));
videoElement.addEventListener('touchstart', (e) => void onVideoTouch(e));
videoElement.addEventListener('play', () => {
if (!playbackStarted) {
sendPlaybackStart();
playbackStarted = true;
}
});
videoElement.addEventListener('ended', () => void sendPlaybackEnd());
videoElement.addEventListener('error', () => {
console.log("Video error: " + videoElement.error.message);
sendPlaybackEnd();
});
document.getElementById('generate-nonce')
.addEventListener('click', generateNonce);
// PAL automatically determines whether limited ads apply based on the TCF data
// found on the page. You can optionally use the `forceLimitedAds` parameter
// to manually enable limited ads regardless of the TCF data.
const consentSettings = new goog.pal.ConsentSettings();
nonceLoader = new goog.pal.NonceLoader(consentSettings);
}
/**
* Generates a nonce with sample arguments and logs it to the console.
*
* The NonceRequest parameters set here are example parameters.
* You should set your parameters based on your own app characteristics.
*/
function generateNonce() {
const request = new goog.pal.NonceRequest();
request.adWillAutoPlay = true;
request.adWillPlayMuted = false;
request.continuousPlayback = false;
request.descriptionUrl = 'https://example.com';
request.iconsSupported = true;
request.playerType = 'Sample Player Type';
request.playerVersion = '1.0';
request.ppid = 'Sample PPID';
request.sessionId = 'Sample SID';
// Player support for VPAID 2.0, OMID 1.0, and SIMID 1.1
request.supportedApiFrameworks = '2,7,9';
request.url = 'https://developers.google.com/ad-manager/pal/html5';
request.videoHeight = 480;
request.videoWidth = 640;
managerPromise = nonceLoader.loadNonceManager(request);
managerPromise
.then((manager) => {
nonceManager = manager;
console.log('Nonce generated: ' + manager.getNonce());
})
.catch((error) => {
console.log('Error generating nonce: ' + error);
});
}
init();
Tek seferlik rastgele sayınızı reklam isteğine ekleyin
Oluşturulan nonce'u kullanmak için reklam isteklerinizi yapmadan önce reklam etiketinize givn parametresini ve nonce değerini ekleyin.
pal.js
/**
* The ad tag for your ad request, for example:
* https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=
*
* For more sample ad tags, see https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/tags
*/
const DEFAULT_AD_TAG = "Your ad tag";
...
managerPromise = nonceLoader.loadNonceManager(request);
managerPromise
.then((manager) => {
nonceManager = manager;
console.log('Nonce generated: ' + manager.getNonce());
// Append the nonce to the ad tag URL.
makeAdRequest(DEFAULT_AD_TAG + "&givn=" + nonceString);
})
Google'dan reklam isteğinde bulunuyor ve reklam oluşturuyorsanız AdChoices simgesini ve yer paylaşımını oluşturmanız gerekir. VAST yanıtını ayrıştırma ve simgeleri oluşturma hakkında ayrıntılı bilgi için Reklam Seçenekleri simgesi ve yer paylaşımı başlıklı makaleyi inceleyin.
Oynatma etkinliklerini izleme
Son olarak, oynatıcınız için çeşitli etkinlik işleyicileri uygulamanız gerekir. Test amacıyla bunları düğme tıklama etkinliklerine ekleyebilirsiniz ancak gerçek bir uygulamada bunlar uygun oynatıcı etkinlikleriyle tetiklenir:
pal.js
/**
* Informs PAL that an ad click has occurred. How this function is
* called will vary depending on your ad implementation.
*/
function sendAdClick() {
nonceManager?.sendAdClick();
}
/**
* Handles the user touching on the video element, passing it to PAL.
* @param {!TouchEvent|!MouseEvent} touchEvent
*/
function onVideoTouch(touchEvent) {
nonceManager?.sendAdTouch(touchEvent);
}
/** Informs PAL that playback has started. */
function sendPlaybackStart() {
nonceManager?.sendPlaybackStart();
}
/** Informs PAL that playback has ended. */
function sendPlaybackEnd() {
nonceManager?.sendPlaybackEnd();
}
Uygulamanızda, video oynatma oturumunuz başladıktan sonra sendPlaybackStart çağrılmalıdır. Video oynatma oturumunuz sona erdiğinde sendPlaybackEnd çağrılmalıdır. sendAdClick, izleyici bir reklamı her tıkladığında çağrılmalıdır. sendAdTouch, oynatıcıyla her dokunma etkileşiminde çağrılmalıdır.
(İsteğe bağlı) Google Ad Manager sinyallerini üçüncü taraf reklam sunucuları üzerinden gönderme
Üçüncü taraf reklam sunucusunun Ad Manager isteğini yapılandırın.
Üçüncü taraf reklam sunucunuzu, sunucunun Ad Manager'a yaptığı isteğe nonce'ı dahil edecek şekilde yapılandırın. Üçüncü taraf reklam sunucusunda yapılandırılmış bir reklam etiketi örneğini aşağıda bulabilirsiniz:
'https://pubads.serverside.net/gampad/ads?givn=%%custom_key_for_google_nonce%%&...'
Daha fazla bilgi için Google Ad Manager sunucu tarafı uygulama kılavuzuna bakın.
Ad Manager, nonce değerini belirlemek için givn= öğesini arar. Üçüncü taraf reklam sunucusunun, %%custom_key_for_google_nonce%% gibi kendi makrolarından birini desteklemesi ve bunu önceki adımda sağladığınız nonce sorgu parametresiyle değiştirmesi gerekir. Bunu nasıl yapacağınızla ilgili daha fazla bilgiyi üçüncü taraf reklam sunucusunun belgelerinde bulabilirsiniz.
İşte bu kadar. Artık tek seferlik rastgele sayı parametresinin PAL SDK'sından, aracı sunucularınızdan ve ardından Google Ad Manager'a iletilmesi gerekir. Bu sayede Google Ad Manager üzerinden daha iyi para kazanma olanağı elde edebilirsiniz.