모바일 앱 확장 만들기
function createMobileApp() {
// For full details on creating a new mobile app extension, see:
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_mobileappbuilder
const newMobileApp = AdsApp.extensions().newMobileAppBuilder()
// See https://support.google.com/google-ads/answer/2402582 for details
// on how to obtain applications specific store id
.withAppId('INSERT_STORE_SPECIFIC_APP_ID_HERE') // required
// For iOS apps, use 'iOS' here
.withStore('Android') // required
// Replace the values below with your link text, final url, and start date
.withLinkText('Download App Here') // required
.withFinalUrl('http://www.example.com/androidApp') // required
.withStartDate({day : 29, month : 2, year : 2024}) // optional
.build()
.getResult();
// Add mobile app to a campaign
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (campaignIterator.hasNext()) {
const campaign = campaignIterator.next();
campaign.addMobileApp(newMobileApp);
}
// Add mobile app to an ad group
const adGroupIterator = AdsApp.adGroups()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.withCondition('ad_group.name = "INSERT_AD_GROUP_NAME_HERE"')
.get();
if (adGroupIterator.hasNext()) {
const adGroup = adGroupIterator.next();
adGroup.addMobileApp(newMobileApp);
}
// Add mobile app to an account
const account = AdsApp.currentAccount();
account.addMobileApp(newMobileApp);
}
캠페인의 모바일 앱 광고 확장 세부정보 기록하기
function logMobileAppDetails() {
// Get a campaign.
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (!campaignIterator.hasNext()) {
throw new Error('Campaign not found.');
}
const campaign = campaignIterator.next();
// Retrieve the campaign's mobile apps. Retrieving an ad group's and
// account's mobile apps is similar.
const mobileAppIterator = campaign.extensions().mobileApps().get();
for (const mobileApp of mobileAppIterator) {
// You can also request reports for pre-defined date ranges. See
// https://developers.google.com/adwords/api/docs/guides/awql,
// DateRangeLiteral section for possible values.
const stats = mobileApp.getStatsFor('LAST_MONTH');
console.log(`Mobile app id : ${ mobileApp.getAppId() }`);
console.log(`link text : ${ mobileApp.getLinkText() }`);
console.log(`final URL : ${ mobileApp.urls().getFinalUrl() }`);
console.log(`clicks : ${ stats.getClicks() }`);
console.log(`impressions : ${ stats.getImpressions() }`);
console.log('=======');
}
console.log(`${mobileAppIterator.totalNumEntities()} mobile apps in the campaign`);
}
캠페인에서 모바일 앱 일정 설정
function setMobileAppSchedule() {
// Get a campaign.
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (!campaignIterator.hasNext()) {
throw new Error('Campaign not found.');
}
const campaign = campaignIterator.next();
// Retrieve the campaign's mobile apps. Retrieving an ad group's and
// account's mobile apps is similar.
const mobileAppIterator = campaign.extensions().mobileApps().get();
for (const mobileApp of mobileAppIterator) {
if (mobileApp.getAppId() === 'INSERT_STORE_SPECIFIC_APP_ID_HERE') {
// Set mobile app schedule to run only on Mondays and Tuesdays, 9 AM to
// 6 PM.
const monday = {
dayOfWeek: 'MONDAY',
startHour: 9,
startMinute: 0,
endHour: 18,
endMinute: 0
};
const tuesday = {
dayOfWeek: 'TUESDAY',
startHour: 9,
startMinute: 0,
endHour: 18,
endMinute: 0
};
mobileApp.setSchedules([monday, tuesday]);
break;
}
}
}