سازندگان

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

// 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();
}

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

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

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

عملکرد ضعیف عملکرد خوب
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”);
}