ผู้สร้างคืออะไร
คุณใช้ตัวสร้างเพื่อเพิ่มเอนทิตี ออบเจ็กต์หลักแต่ละออบเจ็กต์ เช่น การส่งเสริมการขาย จะรวมถึงวิธีการรับออบเจ็กต์ตัวสร้างที่คุณใช้ในการเพิ่มเอนทิตี้รอง ตัวอย่างเช่น หากต้องการเพิ่มกลุ่มโฆษณาไปยังแคมเปญ คุณจะเรียกใช้ Campaign
วิธีการของ newAdGroupBuilder
ออบเจ็กต์
วัตถุตัวสร้างประกอบด้วยวิธีการที่คุณใช้เพื่อตั้งค่าคุณสมบัติของเอนทิตี ตัวอย่างเช่น หากต้องการระบุ CPC ของคําสําคัญ คุณจะต้องใช้ withCpc
วิธีการ หลังจากตั้งค่าคุณสมบัติของเอนทิตีทั้งหมดแล้ว คุณจะเรียกใช้ build
เมธอด เพื่อสร้างเอนทิตี กระบวนการสร้างเป็นกระบวนการแบบอะซิงโครนัสที่คําขอถูกจัดคิวกับคําขอรุ่นอื่น และประมวลผลเป็นชุดงาน คําขอแบบกลุ่มจะเสร็จสมบูรณ์ก่อนที่สคริปต์จะสิ้นสุด
หากต้องการตรวจสอบว่าคําขอรุ่นสําเร็จหรือไม่ คุณสามารถดูบันทึกหรือคุณสามารถใช้ออบเจ็กต์การดําเนินการที่ build
วิธีการส่งกลับ ตัวอย่างเช่น AdGroupBuilder ส่งกลับ AdGroupOperation คุณสามารถเรียกใช้เมตอดของวัตถุการดําเนินการใด ๆ (isSuccessful
, getResult
หรือ getErrors
) เพื่อกําหนดว่าสคริปต์ได้สร้างเอนทิตีสําเร็จหรือไม่ แต่มีข้อควรพิจารณาด้านประสิทธิภาพการทํางานเมื่อเรียกใช้วิธีการเหล่านี้ (ดู ข้อควรพิจารณาด้านประสิทธิภาพ)
ตัวอย่างต่อไปนี้แสดงวิธีการสร้างคําสําคัญโดยใช้ตัวสร้างและออบเจ็กต์การดําเนินการ คุณควรใช้โฟลว์นี้เฉพาะเมื่อคุณกําลังสร้างเอนทิตีเดียว (หรืออาจสองสามเอนทิตี)
// 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`);
}
}
ข้อควรพิจารณาด้านประสิทธิภาพการทํางาน
เพื่อปรับปรุงประสิทธิภาพการทํางาน กระบวนการสคริปต์จะสร้างคําขอเป็นชุด ถ้าคุณเรียกใช้เมธอดการดําเนินการของคําขอบิลด์ จะบังคับให้สคริปต์ประมวลผลคําขอบิลด์ที่จัดคิวไว้ทันที เพื่อลบทิ้งประสิทธิภาพการทํางานที่เพิ่มขึ้น ถ้าคุณกําลังสร้างเอนทิตีมากกว่าหนึ่งรายการ อย่าดําเนินการวิธีการดําเนินการในลูปเดียวกันกับที่คุณใช้เพื่อสร้างเอนทิตี ซึ่งนําไปสู่ประสิทธิภาพการทํางานที่ไม่ดีเนื่องจากมีการประมวลผลเอนทิตีเดียวเท่านั้นในแต่ละครั้ง แต่ให้สร้างอาร์เรย์ของการดําเนินการและประมวลผลหลังจากรอบบิลด์
ทําเช่นนี้
// 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();
}
อย่าทําสิ่งนี้
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();
}
ต่อไปนี้คือรายการของตัวสร้าง