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

המדריך הזה נועד ליצור אנלוגי מדויק למדריכים הקיימים למיקסום ביצועים, מתוך הנחה שאתם יוצרים את הקמפיין כולו בבקשה אטומית אחת, במקום ליצור כל ישות בנפרד בבקשות נפרדות. כלומר תצטרכו להשתמש במזהים זמניים כדי לקשר משאבים זה לזה, כי לא תוכלו לדעת מה השמות המלאים של המשאבים עד שתקבלו את התשובה מה-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);

במסמכי התיעוד בנושא מוטציה של REST API ב-Google Ads תוכלו לקרוא מידע נוסף על פעולה לדוגמה.

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

AdsApp.mutateAll(operations);