แชร์ผ่าน


ผู้สร้างคืออะไร

คุณใช้ตัวสร้างเพื่อเพิ่มเอนทิตี ออบเจ็กต์หลักแต่ละออบเจ็กต์ เช่น การส่งเสริมการขาย จะรวมถึงวิธีการรับออบเจ็กต์ตัวสร้างที่คุณใช้ในการเพิ่มเอนทิตี้รอง ตัวอย่างเช่น หากต้องการเพิ่มกลุ่มโฆษณาไปยังแคมเปญ คุณจะเรียกใช้ 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();
    }

ต่อไปนี้คือรายการของตัวสร้าง

ขั้นตอนถัดไป