...
광고 요청에 앞서, 사용자의 정보(ID, 성별, 나이)등으로 Benefit 서버에 로그인을 해야 합니다. 아래 두 가지 방법으로 가능합니다.
AOS SDK 또는 iOS SDK에서 BuzzAdBenefit에 UserProfile을 먼저 설정한 뒤, 웹페이지를 열면 자바스크립트에서 정보를 가져와 Benefit 서버에 로그인합니다.
웹에서 로그인을 구현하는 경우, BuzzAdBenefit 객체에 직접 UserProfile을 설정합니다. (해당 가이드 ‘심화기능' - '웹페이지에서 사용자의 프로필 정보 설정’ 참고)
다음의 API를 사용할 경우, 로그인이 완료되었을 때 특정 동작(예: 광고 요청)을 실행합니다.
Code Block |
---|
...
language | js |
---|
BuzzAdBenefit.ensureAuthenticated
.then(function() => {
// Benefit 로그인 완료. 광고 요청 가능
}).catch(function(e) => {
// 에러 발생. 광고 요청 불가능
}); |
발생 가능한 에러에 대해서는 Benefit JS SDK 에러 처리 가이드 를 참고
Step 3: YOUR_UNIT_ID
로 광고 요청
...
Code Block | ||
---|---|---|
| ||
BuzzAdBenefit.ensureAuthenticated // .then(function() => { return BuzzAdBenefit.loadAd({ unitId: { android: 'YOUR_ANDROID_UNIT_ID', // 안드로이드 앱에서는 광고를 요청하지 않는 경우 생략 가능 ios: 'YOUR_IOS_UNIT_ID', // 아이폰 앱에서는 광고를 요청하지 않는 경우 생략 가능 } }).then(function(nativeAd) => { console.log('An ad is loaded!'); populateAd(nativeAd); // 광고 표시 }, function(e) => { if (e.message === 'EMPTY_RESPONSE') { console.log('NO FILL'); } else { console.error('An error is detected while loading ad: ' + e.message); } hideAd(); // 광고 영역 숨김 }); |
발생 가능한 에러에 대해서는 Benefit JS SDK 에러 처리 가이드 를 참고
Step 4: 받아온 광고를 사용하기 위한 등록
...
Code Block | ||
---|---|---|
| ||
function populateAd() { const adListener = { onImpressed: function(placementView, nativeAd) { console.log('ON IMPRESSED: The ad is impressed.'); }, onClicked: function(placementView, nativeAd) { console.log('ON CLICKED: The ad is clicked.'); }, onRewardRequested: function(placementView, nativeAd) { console.log('ON REWARD REQUESTED: Reward is requested.'); }, onRewarded: function(placementView, nativeAd, result) { console.log('ON REWARDED: The result of Reward: ' + result); }, onParticipated: function(placementView, nativeAd) { console.log('ON PARTICIPATED: The ad is set to particiated.'); updateCtaView(element.getElementsByClassName('cta')[0], nativeAd); // 아래에서 설명 }, onVideoError: function(placementView, nativeAd, errorCode, errorMessage) { console.error('ON VIDEO ERROR: An error is detected: ' + errorCode + '\n' + errorMessage); }, }; const placementView = document.getElementById('placement1'); BuzzAdBenefit.registerNativeAd(nativeAd, placementView, adListener); renderAd(placementView, nativeAd); // 광고 구성요소를 DOM에 추가하여 화면에 표시 } |
발생 가능한 에러에 대해서는 Benefit JS SDK 에러 처리 가이드 를 참고
Expand | ||
---|---|---|
| ||
|
...