אסטרטגיית שינוי

המדריך הזה יספק לכם אנלוגיה מדויקת למדריכים הקיימים בנושא קמפיינים למיקסום הביצועים, שמניחים שתיצרו את הקמפיין כולו בבקשה אטומית אחת, במקום ליצור כל ישות בנפרד בבקשות נפרדות. המשמעות היא שתצטרכו להשתמש במזהים זמניים כדי לקשר בין המשאבים, כי לא תדעו את שמות המשאבים המלאים עד שתקבלו את התשובה מה-API.

כדי לעשות זאת, תצטרכו לכתוב קוד כדי לוודא שלא נוצרים מזהי זמני כפולים:

let nextId = -1;

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

כל קריאה חוזרת ל-getNextTempId תחזיר מספר אחד קטן יותר מהקודם. מכיוון שכל המזהים הזמניים חייבים להיות שליליים, מתחילים ב--1.

עכשיו אפשר ליצור מערך שיכיל את כל הפעולות:

const operations = [];

תצטרכו את מספר הלקוח של הלקוח שבו אתם יוצרים את הקמפיין לעיתים קרובות, כי הוא נדרש בכל שם של משאב.

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

בכל פעם שרוצים ליצור פעולה חדשה, צריך להשתמש במזהה הזמני הבא בשם המשאב, כדי שתוכלו להפנות לאובייקט הזה מאוחר יותר, ולהוסיף את האובייקט שנוצר למערך:

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

מידע נוסף ודוגמה לפעולה מופיעים במסמכי התיעוד של Google Ads API ל-REST mutate.

אחרי שיוצרים את כל הפעולות, מריצים אותן באצווה אחת:

AdsApp.mutateAll(operations);