הטמעה של בידינג בהתאמה אישית

אפשר להשתמש בתפריט Video 360 API לניהול בידינג בהתאמה אישית בפועל. אפשר ליצור אלגוריתמים של בידינג בהתאמה אישית, להעלות ולאמת את הנתונים סקריפטים נפרדים ולהקצות אלגוריתם ספציפי למשאב בתור הבידינג שלו את האסטרטגיה שלנו.

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

יצירת אלגוריתם של הצעות מחיר מותאמות אישית

אובייקט CustomBiddingAlgorithm מייצג אדם פרטי שאפשר להקצות לפריט כדי להשתמש בו בשיטת הבידינג שלו. הזה לאובייקט יש פרטים על האלגוריתם, כמו customBiddingAlgorithmType entityStatus והקבוצה customBiddingAlgorithmState. אפשר ליצור CustomBiddingScript אובייקטים כמשאבי צאצא של האלגוריתם לשימוש.

דוגמה ליצירה של בידינג בהתאמה אישית שמבוסס על סקריפטים אלגוריתם:

Python

# Create a custom bidding algorithm object.
custom_bidding_algorithm_obj = {
    'advertiserId': advertiser-id,
    'displayName': display-name,
    'entityStatus': 'ENTITY_STATUS_ACTIVE',
    'customBiddingAlgorithmType': 'SCRIPT_BASED'
}

# Create the custom bidding algorithm.
response = service.customBiddingAlgorithms().create(
    body=algorithm_obj
).execute()

# Display the new custom bidding algorithm.
print(f'The following Custom Bidding Algorithm was created: {response}')

ניהול הגישה לאלגוריתם

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

אם אתם משתמשים באלגוריתם רק למפרסם אחד, יש להקצות את המפרסם כבעלים עם השדה advertiserId. לחלופין, אפשר להקצות את השותף הראשי של המפרסמים כבעלים של partnerId, ולתת למפרסמים גישה באמצעות שדה sharedAdvertiserIds.

העלאת סקריפט

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

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

אחזור מיקום משאב של סקריפט

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

דוגמה לאחזור משאב זמין location:

Python

# Retrieve a usable custom bidding script reference
# object.
custom_bidding_script_ref = service.customBiddingAlgorithms().uploadScript(
    customBiddingAlgorithmId=custom-bidding-algorithm-id,
    advertiserId=advertiser-id
).execute()

# Display the new custom bidding script reference object.
print('The following custom bidding script reference object was retrieved:'
      f'{custom_bidding_script_ref}')

העלאת קובץ סקריפט

לאחר אחזור של מיקום משאב זמין, מעלים את קובץ הסקריפט אליו במיקום ברשת המדיה מערכת Video 360 עם media.upload. השיטה הזאת תומכת העלאה פשוטה שמחייבת את פרמטר השאילתה uploadType=media.

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

Python

# Create a media upload object.
media = MediaFileUpload(script-path)

# Create upload request.
upload_request = service.media().upload(
    resourceName=resource-name, media_body=media)

# Override response handler to expect null response.
upload_request.postproc = HttpRequest.null_postproc

# Upload script to resource location given in retrieved custom bidding
# script reference object.
upload_request.execute()

יצירת אובייקט סקריפט

לאחר ההעלאה של קובץ הסקריפט, יש ליצור משאב של סקריפטים של בידינג בהתאמה אישית עם השיטה customBiddingAlgorithms.scripts.create. האובייקט CustomBiddingScript שמועבר בבקשה צריך רק כוללים את האובייקט CustomBiddingScriptRef שהוקצה של השדה script. פעולה זו משייכת את קובץ סקריפט עם משאב הסקריפט החדש.

דוגמה ליצירת קובץ סקריפט:

Python

# Create a custom bidding script object.
script_obj = {
    'script': custom-bidding-script-ref
}

# Create the custom bidding script.
response = service.customBiddingAlgorithms().scripts().create(
    customBiddingAlgorithmId=custom-bidding-algorithm-id,
    advertiserId=advertiser-id,
    body=script_obj).execute()

# Display the new custom bidding script object.
print(f'The following custom bidding script was created: {response}')

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

הקצאת אלגוריתם של בידינג מותאם אישית

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

אפשר להשתמש באלגוריתמים של בידינג בהתאמה אישית למקסם את ההוצאות וגם שיטות בידינג לפי יעדי ביצועים על ידי הקצאה של BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO ואת מזהה האלגוריתם לבידינג מותאם אישית performanceGoalType וגם customBiddingAlgorithmId שדות, בהתאמה. בהתאם לשיטת הבידינג, פרמטרים אחרים של הצעת מחיר עשויים להיות זמינים, או נדרש.

דוגמה לעדכון של פריט כדי להשתמש בהגדלה של שיטת בידינג להוצאה עם אלגוריתם נתון של בידינג בהתאמה אישית:

Python

# Create the new bid strategy object.
bidding_strategy = {
    'maximizeSpendAutoBid': {
        'performanceGoalType':
            'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO',
        'customBiddingAlgorithmId': custom-bidding-algorithm-id
    }
}

# Create a line item object assigning the new bid strategy.
line_item_obj = {'bidStrategy': bidding_strategy}

# Update the line item with a new bid strategy.
response = service.advertisers().lineItems().patch(
    advertiserId=advertiser-id,
    lineItemId=line-item-id,
    updateMask='bidStrategy',
    body=line_item_obj).execute()

# Display the line item's new bid strategy
print(f'Line Item {response["name"]} is now using the following bid'
     f' strategy: {response["bidStrategy"]}.')