Tek hesap erişimi

Tek bir kullanıcı hesabına erişmek istiyorsanız, her şey AdsApp nesnesiyle başlar.

Nasıl yaparım? hesabımdaki varlıklara erişebilir miyim?

Hesaptaki tüm varlıklara erişmek için kullanın AdsApp . Nesne, her varlık türü (örneğin, kampanyalar, reklam grupları ve anahtar kelimeler) 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öntemi çağırın adGroups() .

    var iterator = AdsApp.adGroups().get();

Peki ya belirli bir varlık veya varlıkların alt kümesini istiyorsam?

Seçici, varlık listesini filtrelemek için farklı yollar sağlar. Kimliklere göre belirli varlıkları almak için seçicinin withIds() yöntemini kullanabilir veya varlıkları seçmek için seçim ölçütlerini belirtmek için kullanabilirsiniz withCondition() . Negatif anahtar kelime listeleri hariç tüm varlık türleri için seçiciler, varlık listesini filtreleme olanağı sağlar.

Birden fazla filtreyi bir araya getirmek için nokta gösterimini kullanın. Birden çok filtre belirtirseniz, bunlar bir AND işlemi olarak kabul edilir — seçici yalnızca tüm koşullarla eşleşen varlıkları döndürür.

Bir kampanyadaki tüm reklam gruplarını almak için kampanyanın adını belirtmek üzere bu yöntemi kullanın withCondition() .

    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 bir listesi için reklam grubu seçicinin withCondition yöntemine bakın.

Kimliğe göre bir reklam grubu almak için, alınacak reklam grubunu belirtme yöntemini kullanın withIds() .

    var ids = ["123456789"];
    var iterator = AdsApp.adGroups()
        .withIds(ids)
        .get();

Alternatif olarak, 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?

Nasıl yaparım? filtrelenmiş varlıklar listesinde yineleme yapmak için seçiciyi nasıl kullanırım?

Yapmazsın. Seçici yalnızca almak istediğiniz varlıkları tanımlar. Varlıkları gerçekten almak için bir 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ığın performans verileri Nasıl yaparım? alınır?

Çoğu varlık, varsa performans verileri istemenize olanak tanır. Ancak ilk olarak, seçiciyi belirtirken Betiklere performans verilerinin tarih aralığını belirtmeniz gerekir. Tarih aralığı belirtmek için, YESTERDAY veya LAST_MONTH gibi önceden tanımlanmış bir metin ya da başlangıç ve bitiş tarihi kullanın. Daha fazla bilgi için bkz. forDateRange(dize 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çici withCondition() yönteminde bir performans veri sütunu belirtirseniz, bir tarih aralığı da belirtmeniz gerekir. Örneğin, yalnızca TO'su yüzde 0,22'den yüksek olan 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();

Nasıl INasıl yaparım? bir varlık ekler?

Bir varlık eklemek için bir oluşturucu nesnesi kullanırsınız. Bir oluşturucu nesnesi elde etmek 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 newAdGroupBuilder() yöntemini çağırın.

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öntem de vardır. Aşağıda, bir reklam grubunun nasıl oluşturulacağı gösterilmektedir. (Kampanya nesnesini alma hakkında bilgi için bkz. Kampanyayı adıyla 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();

yöntemi build , Betiklerin varlığı başarıyla oluşturup oluşturmadığını kontrol etmek için kullanabileceğiniz bir işlem nesnesi döndürür. Aşağıda tipik arama düzeni gösterilmektedir. Yöntemi getResult 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`);
        }
    }

Oluşturucular hakkında daha fazla ayrıntı ve işlem yöntemlerini çağırırken performansla ilgili dikkat edilmesi gerekenler için bkz : Oluşturucular nedir?

Nasıl INasıl yaparım? update an entity?

Bir varlık eklemek için oluşturucu nesnesini kullandıktan sonra, özelliklerini güncelleştirmek için varlığın yöntemlerini kullanırsınız. Aşağıdaki örnek, reklam grubunun TBM teklifi tutarını günceller.

    var ids = ["123456789"];
    var adGroups = AdsApp.adGroups()
        .withIds(ids)
        .get();

    if (adGroups.hasNext()) {
        var adGroup = adGroups.next();
        adGroup.bidding().setCpc(2.5);
    }

Ancak güncellemenin ç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 bir özel durum oluşturmaz, böylece betiğiniz yürütülmeye devam eder. Özelliğin yeni değeri içerip içermediğini kontrol etmek için güncelleştirdikten sonra ö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.

Sonraki adımlar