Strategi Mutasi

Panduan ini akan disajikan untuk membuat analogi yang persis dengan panduan Performa Maksimal yang ada, yang mengasumsikan bahwa Anda akan membuat seluruh kampanye dalam satu permintaan atomik, bukan membuat setiap entitas satu per satu dalam permintaan terpisah. Artinya, Anda harus menggunakan ID sementara untuk menautkan satu sama lain, karena Anda tidak akan mengetahui nama resource lengkap hingga Anda mendapatkan respons API.

Untuk melakukannya, Anda harus menulis beberapa kode untuk memastikan Anda tidak membuat ID sementara duplikat:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

Setiap panggilan berikutnya ke getNextTempId akan menampilkan angka yang lebih kecil satu dari sebelumnya. Karena semua ID sementara harus negatif, mulai dari -1.

Dengan adanya hal ini, Anda kini dapat membuat array untuk menyimpan semua operasi:

const operations = [];

Anda akan sering memerlukan ID pelanggan untuk pelanggan yang membuat kampanye, karena ID tersebut diperlukan di setiap nama resource.

const customerId = AdsApp.currentAccount().getCustomerId();

Setiap kali Anda ingin membuat operasi baru, Anda akan menggunakan ID sementara berikutnya dalam nama resource, sehingga Anda dapat mereferensikan objek ini nanti, dan memasukkan objek yang dibuat ke dalam array:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

Anda dapat membaca lebih lanjut dan melihat contoh operasi di dokumentasi mutasi REST Google Ads API.

Setelah Anda membuat semua operasi kami, jalankan dalam satu batch:

AdsApp.mutateAll(operations);