Aracılığıyla paylaş


Oluşturucular nedir?

Varlık eklemek için oluşturucuları kullanırsınız. Campaign gibi her üst nesne, alt varlık eklemek için kullandığınız oluşturucu nesnelerini almaya yönelik yöntemler içerir. Örneğin, kampanyaya bir reklam grubu eklemek için nesnenin CampaignnewAdGroupBuilder yöntemini çağırırsınız.

Oluşturucu nesnesi, varlığın özellik değerlerini ayarlamak için kullandığınız yöntemleri içerir. Örneğin, bir anahtar sözcüğün CPC'sini withCpc belirtmek için yöntemini kullanırsınız. Varlığın tüm özellik değerlerini ayarladıktan sonra, varlığı oluşturmak için yöntemini çağırırsınız build . Derleme işlemi, isteğin diğer derleme istekleriyle kuyruğa alındığı ve toplu işlendiği zaman uyumsuz bir işlemdir. Komut dosyası sonlandırilmeden önce toplu istekler tamamlanır.

Derleme isteklerinin başarılı olup olmadığını belirlemek için günlüklere bakabilir veya yöntemin döndürdüğü build işlem nesnesini kullanabilirsiniz. Örneğin, AdGroupBuilderAdGroupOperation döndürür. Betiklerin varlığı başarıyla oluşturup oluşturmadığını belirlemek için işlem nesnesinin yöntemlerinden herhangi birini (isSuccessful, getResultveya getErrors) çağırabilirsiniz. Ancak bu yöntemleri çağırırken performansla ilgili dikkat edilmesi gerekenler vardır (bkz . Performansla ilgili dikkat edilmesi gerekenler).

Aşağıdaki örnekte, oluşturucu ve işlem nesnelerini kullanarak bir anahtar sözcüğün nasıl oluşturulacağı kavramsal olarak gösterilmektedir. Bu akışı yalnızca tek bir varlık (veya belki de birkaç varlık) oluşturuyorsanız kullanmanız gerekir.

    // Gets the first ad group in the account.
    var adGroup = AdsApp.adGroups().get().next();

    // Use the 'with' methods to specify the keyword's property values.
    // The .build() method adds the build request to the build queue.
    var keywordOperation = adGroup.newKeywordBuilder()
        .withCpc(1.2)
        .withText("shirts")
        .withFinalUrl("https://www.contoso.com/shirts")
        .build();

    // Call isSuccessful() to determine if the build succeeded.
    // Calling any of the operation object's method processes the
    // build request immediately. 
    if (keywordOperation.isSuccessful()) {
        // You only need to call getResult if you need to access
        // the new keyword entity.
        var keyword = keywordOperation.getResult();
    } else {
        // Handle the errors.
        for (var error of keywordOperation.getErrors()) {
            Logger.log(`${error}\n`);
        }
    }

Performansla ilgili dikkat edilmesi gerekenler

Betikler, performansı geliştirmek için derleme isteklerini toplu olarak işler. Derleme isteğinin işlem yöntemini çağırırsanız, Betikleri kuyruğa alınan derleme isteklerini hemen işlemeye zorlar ve tüm performans kazançlarını olumsuzleştirir. Birden fazla varlık oluşturuyorsanız, varlığı oluşturmak için kullandığınız döngüde işlem yöntemlerini yürütmeyin. Aynı anda yalnızca bir varlık işlendiğinden bu düşük performansa yol açar. Bunun yerine, işlemlerin bir dizisini oluşturun ve derleme döngüsünden sonra işleyin.

Bunu yapın

    // An array to hold the operations, so you 
    // can process them after all the entities are queued.
    var operations = []; 

    // Create all the new entities.
    for (var i = 0; i < keywords.length; i++) {
        var keywordOperation = AdsApp.adGroups().get().next()
          .newKeywordBuilder()
          .withText(keywords[i])
          .build();
        operations.push(keywordOperation);
    }

    // Now call the operation method so the build requests
    // get processed in batches.
    for (var i = 0; i < operations.length; i++) {
        var newKeyword = operations[i].getResult();
    }

Bunu yapmayın

    for (var i = 0; i < keywords.length; i++) {
        var keywordOperation = AdsApp.adGroups().get().next()
          .newKeywordBuilder()
          .withText(keywords[i])
          .build();

        // Don't get results in the same loop that creates
        // the entity because Scripts then only processes one
        // entity at a time.
        var newKeyword = keywordOperation.getResult();
    }

Aşağıda oluşturucuların listesi yer alır.

Sonraki adımlar