سازندگان

سازنده‌ها روش استاندارد ایجاد نهادها در اسکریپت‌های Google Ads هستند. سازنده‌ها به شما امکان می‌دهند نهاد 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");
}