Tek hesap erişimi
Tek bir kullanıcı hesabına erişmek istiyorsanız, her şey AdsApp nesnesiyle başlar.
Hesabımdaki varlıklara erişmek Nasıl yaparım??
Hesaptaki tüm varlıklara erişmek için kullanın AdsApp
. nesnesi her varlık türü (örneğin, kampanyalar, reklam grupları ve anahtar sözcükler) için bir seçici yöntemi içerir. Seçici yöntemi, bu varlık türü için tüm varlıkları döndürür. Örneğin, hesaptaki tüm reklam gruplarını almak için yöntemini çağırın adGroups()
.
var iterator = AdsApp.adGroups().get();
Peki ya belirli bir varlığı veya varlıkların alt kümesini istiyorsam?
Seçici, varlık listesini filtrelemek için farklı yollar sağlar. Belirli varlıkları kimliklere göre almak için seçicinin withIds()
yöntemini veya varlıkları seçmeye yönelik seçim ölçütlerini belirtmek için kullanabilirsiniz withCondition()
. Negatif anahtar sözcük listeleri dışında tüm varlık türlerinin seçicileri, varlık listesini filtreleme olanağı sağlar.
Birden çok filtreyi bir araya getirmek için nokta gösterimini kullanın. Birden çok filtre belirtirseniz, bunlar AND işlemi olarak değerlendirilir; seçici yalnızca tüm koşullarla eşleşen varlıkları döndürür.
Kampanyadaki tüm reklam gruplarını almak için yöntemini kullanarak withCondition()
kampanyanın adını belirtin.
var campaignName = 'My Campaign';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.get();
Varlık listesini filtrelemek için kullanabileceğiniz koşulların ve işleçlerin listesi için seçicinin withCondition()
yöntemine bakın. Örneğin, reklam grubu koşullarının listesi için reklam grubu seçicisinin withCondition yöntemine bakın.
Bir reklam grubunu kimliğine göre almak için yöntemini kullanarak withIds()
alınacak reklam grubunu belirtin.
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
İsterseniz, reklam grubunu ada göre de alabilirsiniz.
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
Seçiciler hakkında daha fazla bilgi için bkz. Seçiciler nedir?
Filtrelenmiş varlık listesinde yineleme yapmak için seçiciyi Nasıl yaparım??
Hayır, hayır. Seçici yalnızca almak istediğiniz varlıkları tanımlar. Varlıkları gerçekten almak için yineleyici kullanırsınız. Yineleyiciyi almak için seçicinin get()
yöntemini çağırırsınız.
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
Varlık listesini yinelemek için basit bir while döngüsü kullanın.
while (iterator.hasNext()) {
var adGroup = iterator.next();
// Do something with the entity
}
Yineleyiciler hakkında daha fazla bilgi için bkz. Yineleyiciler nedir?
Bir varlık için performans verileri Nasıl yaparım? alınsın?
Çoğu varlık, varsa performans verileri istemenizi sağlar. Ancak önce, seçiciyi belirttiğinizde Betiklere performans verilerinin tarih aralığını belirtmeniz gerekir. Tarih aralığı belirtmek için, DÜN veya LAST_MONTH gibi önceden tanımlanmış bir değişmez değer kullanın veya başlangıç ve bitiş tarihi kullanın. Daha fazla bilgi için bkz . forDateRange(string dateRange) ve forDateRange(Object dateFrom, Object dateTo).
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.forDateRange('LAST_30_DAYS')
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
while (iterator.hasNext()) {
var adGroup = iterator.next();
var stats = adGroup.getStats();
}
Seçicinin yönteminde bir performans veri sütunu belirtirseniz bir withCondition()
tarih aralığı da belirtmeniz gerekir. Örneğin, yalnızca yüzde 0,22'den büyük ctr değerine sahip reklam gruplarını istiyorsanız, bir tarih aralığı belirtmeniz gerekir.
var startDate = {year: 2018, month: 6, day: 3};
var endDate = {year: 2018, month: 6, day: 13};
var iterator = AdsApp.adGroups()
.forDateRange(startDate, endDate)
.withCondition("Ctr > 0.22")
.get();
Varlık eklemek Nasıl yaparım??
Varlık eklemek için bir oluşturucu nesnesi kullanırsınız. Oluşturucu nesnesi almak için, alt öğeleri eklediğiniz üst nesnede new* yöntemini çağırın. Örneğin, bir kampanyaya reklam grupları eklemek için kampanyanın yöntemini çağırın newAdGroupBuilder()
.
Oluşturucu nesnesi, belirtmenize izin verilen tüm nesne özelliklerini ayarlamak için yöntemler içerir. Ayrıca varlığı oluşturmak için kullandığınız bir build()
yöntemi de içerir. Aşağıda bir reklam grubu oluşturma gösterilmektedir. (Kampanya nesnesi alma hakkında bilgi için bkz. Kampanyayı ada göre alma.)
var adGroupName = "My ad group";
var endDate = {year: 2018, month: 6, day: 13};
var customParameters = {key1: 'value1', key2: 'value2', key3: 'value3'};
var adGroupOperation = campaign.newAdGroupBuilder()
.withName(adGroupName)
.withStatus('ENABLED')
.withLanguage('English')
.withBiddingStrategy('MANUAL_CPC')
.withCpc(1.2)
.withCustomParameters(customParameters)
.withEndDate(endDate)
.build();
build
yöntemi, Betiklerin varlığı başarıyla oluşturup oluşturmadığını denetlemek için kullanabileceğiniz bir işlem nesnesi döndürür. Aşağıda tipik çağrı deseni gösterilmektedir.
getResult
Yöntemini yalnızca yeni varlığın özelliklerine erişmek istiyorsanız çağırın.
if (adGroupOperation.isSuccessful()) {
var adGroup = adGroupOperation.getResult();
}
else {
for (var error of adGroupOperation.getErrors()) {
Logger.log(`${error}\n`);
}
}
İşlem yöntemlerini çağırırken oluşturucular ve performansla ilgili dikkat edilmesi gerekenler hakkında daha fazla ayrıntı için bkz. Oluşturucular nedir?
Bir varlığı Nasıl yaparım? güncelleştirin?
Varlık eklemek için oluşturucu nesnesi kullandıktan sonra, varlık özelliklerini güncelleştirmek için varlığın yöntemlerini kullanırsınız. Aşağıdaki örnek, reklam grubunun TBM teklif tutarını güncelleştirir.
var ids = ["123456789"];
var adGroups = AdsApp.adGroups()
.withIds(ids)
.get();
if (adGroups.hasNext()) {
var adGroup = adGroups.next();
adGroup.bidding().setCpc(2.5);
}
Ama güncelleştirmenin çalıştığını nasıl bilebilirim?
Bir özelliği geçersiz bir değerle güncelleştirmeye çalışırsanız, Betikler Değişiklik günlüğüne bir hata yazar ancak özel durum oluşturmaz, bu nedenle betiğiniz yürütülmeye devam eder. Özelliği güncelleştirdikten sonra özelliğin yeni değeri içerip içermediğini denetlemek için özelliği almayın; bunu yapmak performansı olumsuz etkiler.
function main() {
var id = "123456789";
var bidAmount = -2.5;
var keyword = getKeyword(id);
if (keyword != null) {
keyword.bidding().setCpc(bidAmount); // Bid is not set because bid amount is not valid
}
}
function getKeyword(id) {
var keywords = AdsApp.keywords()
.withIds([id])
.get();
if (keywords.hasNext()) {
return keywords.next();
}
else {
return null;
}
}
Günlük dosyasına yazma
Betikler, izleme ve hata ayıklama bilgilerini yazmanız için bir günlük dosyası sağlar. Bilgi için bkz . Günlükleri ve metin günlüklerini değiştirme.