سازندگان

سازندگان روش استاندارد برای ایجاد موجودیت‌ها در اسکریپت‌های گوگل ادز هستند. سازندگان به شما امکان می‌دهند یک موجودیت گوگل ادز را به صورت همزمان یا غیرهمزمان بسازید. همچنین می‌توانید بررسی کنید که آیا عملیات موفقیت‌آمیز بوده است یا خیر و بسته به نتیجه عملیات، اقدامات مناسب را انجام دهید. قطعه کد زیر نحوه ایجاد یک کلمه کلیدی با استفاده از سازنده را نشان می‌دهد.

// Retrieve your ad group.
let adGroup = AdsApp.adGroups().get().next();

// Create a keyword operation.
let keywordOperation = adGroup.newKeywordBuilder()
    .withCpc(1.2)
    .withText("shoes")
    .withFinalUrl("http://www.example.com/shoes")
    .build();

// Optional: examine the outcome. The call to isSuccessful()
// will block until the operation completes.
if (keywordOperation.isSuccessful()) {
  // Get the result.
  let keyword = keywordOperation.getResult();
} else {
  // Handle the errors.
  let errors = keywordOperation.getErrors();
}

هر موجودیتی که بتوان با استفاده از اسکریپت‌های گوگل ادز ایجاد کرد، با استفاده از این الگوی سازنده این کار را انجام می‌دهد.

ملاحظات عملکرد

به طور پیش‌فرض، اسکریپت‌های گوگل ادز عملیات خود را به صورت ناهمگام اجرا می‌کنند. این به اسکریپت‌ها اجازه می‌دهد تا عملیات شما را به صورت دسته‌ای گروه‌بندی کنند و به عملکرد بالایی دست یابند. با این حال، فراخوانی متدهای عملیاتی مانند isSuccessful() و getResult() اسکریپت‌های گوگل ادز را مجبور می‌کند تا لیست عملیات در حال انتظار خود را خالی کنند و بنابراین ممکن است منجر به عملکرد ضعیف شود. در عوض، یک آرایه برای نگهداری عملیات ایجاد کنید، سپس از طریق آن آرایه تکرار کنید تا نتایج را بازیابی کنید.

عملکرد ضعیف عملکرد خوب
for (let i = 0; i < keywords.length; i++)
  let keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();

  // Bad: retrieving the result in the same
  // loop that creates the operation
  // leads to poor performance.
  let newKeyword =
      keywordOperation.getResult();
  newKeyword.applyLabel("New keywords");
}
// Create an array to hold the operations
let operations = [];

for (let i = 0; i < keywords.length; i++) {
  let keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();
  operations.push(keywordOperation);
}

// Process the operations separately. Allows
// Google Ads scripts to group operations into
// batches.
for (let i = 0; i < operations.length; i++) {
  let newKeyword = operations[i].getResult();
  newKeyword.applyLabel("New keywords");
}