构建器

构建器是在 AdWords 脚本中创建实体的标准方式。使用构建器可以同步或异步构建 AdWords 实体。您还可以检查操作是否成功,并根据操作结果采取相应的措施。以下代码段展示了如何使用构建器创建一个关键字。

// Retrieve your ad group.
var adGroup = AdWordsApp.adGroups().get().next();

// Create a keyword operation.
var 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.
  var keyword = keywordOperation.getResult();
} else {
  // Handle the errors.
  var errors = keywordOperation.getErrors();
}

最新版本增加了对广告关键字的构建器支持。现有的用于广告组和广告附加信息(电话号码附加链接移动应用)的构建器也都已经标准化。现在,AdGroupCampaign 类的 addSitelinkaddPhoneNumberaddMobileApp 方法将返回相应的操作。

有关性能的注意事项

默认情况下,AdWords 脚本会异步执行各项操作。因此,脚本可以将操作按批次分组,从而取得较高性能。然而,调用 isSuccessful()getResult() 之类的操作方法会迫使 AdWords 脚本不断刷新待处理的操作列表,因而可能导致性能变差。正确做法是创建一个数组来存放操作,然后遍历该数组来提取结果。

性能低下 性能良好
for (var i = 0; i < keywords.length; i++)
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();

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

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

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

发送以下问题的反馈:

此网页
AdWords Scripts
AdWords Scripts
需要帮助?请访问我们的支持页面