אפשר להשתמש בתפריט 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"]}.')