اجرای مناقصه سفارشی

شما می‌توانید از رابط برنامه‌نویسی کاربردی Display & Video 360 برای مدیریت پیاده‌سازی‌های مناقصه سفارشی استفاده کنید. می‌توانید الگوریتم‌های مناقصه سفارشی ایجاد کنید، اسکریپت‌های جداگانه را آپلود و تأیید کنید و یک الگوریتم خاص را به عنوان استراتژی مناقصه به یک منبع اختصاص دهید.

این صفحه نحوه ایجاد، به‌روزرسانی و اختصاص الگوریتم‌های مناقصه سفارشی با رابط برنامه‌نویسی کاربردی Display & Video 360 را شرح می‌دهد. هر بخش یک نمونه کد ارائه می‌دهد.

یک الگوریتم مناقصه سفارشی ایجاد کنید

یک شیء CustomBiddingAlgorithm یک الگوریتم منحصر به فرد را نشان می‌دهد که می‌توانید آن را به یک آیتم خط برای استفاده در استراتژی پیشنهاد قیمت آن اختصاص دهید. این شیء جزئیاتی در مورد الگوریتم مانند customBiddingAlgorithmType ، entityStatus و customBiddingAlgorithmState دارد. می‌توانید اشیاء CustomBiddingScript را به عنوان منابع فرزند برای استفاده الگوریتم ایجاد کنید.

در اینجا مثالی از نحوه ایجاد یک الگوریتم مناقصه سفارشی مبتنی بر اسکریپت آورده شده است:

پایتون

# 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 به تبلیغ‌کنندگان دسترسی بدهید.

آپلود اسکریپت

پس از ایجاد یک الگوریتم مناقصه سفارشی، یک اسکریپت برای استفاده از آن الگوریتم ایجاد کنید. الگوریتم‌های مناقصه سفارشی مبتنی بر اسکریپت، از اسکریپت‌های ارائه شده توسط کاربر برای ارزیابی ارزش یک نمایش استفاده می‌کنند. نمونه‌هایی از اسکریپت‌های ساده و لیستی از فیلدهای پیشرفته از طریق مرکز راهنمای Display & Video 360 در دسترس هستند.

بخش‌های بعدی به شما آموزش می‌دهند که چگونه یک اسکریپت جدید یا به‌روزرسانی‌شده را به یک الگوریتم مناقصه سفارشی اضافه کنید.

بازیابی مکان منبع اسکریپت

ابتدا، یک مکان منبع موجود را تحت منبع الگوریتم مناقصه سفارشی با استفاده از متد customBiddingAlgorithms.uploadScript بازیابی کنید. این درخواست یک شیء CustomBiddingScriptRef با نام منبع برمی‌گرداند. می‌توانید فایل اسکریپت خود را در مکانی که توسط نام منبع تعیین شده است، آپلود کنید . سپس از شیء مرجع اسکریپت مناقصه سفارشی برای ایجاد منبع اسکریپت خود استفاده کنید.

در اینجا مثالی از نحوه بازیابی مکان منبع موجود آورده شده است:

پایتون

# 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}')

آپلود فایل اسکریپت

پس از بازیابی یک مکان منبع موجود، فایل اسکریپت خود را با استفاده از متد media.upload در آن مکان در سیستم Display & Video 360 آپلود کنید. این متد از آپلود ساده‌ای پشتیبانی می‌کند که به پارامتر پرس‌وجوی uploadType=media نیاز دارد.

در اینجا مثالی از نحوه آپلود یک فایل اسکریپت با توجه به شیء مرجع اسکریپت مناقصه سفارشی بازیابی شده آورده شده است:

پایتون

# 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 باشد. این کار فایل اسکریپت آپلود شده را با منبع اسکریپت جدید مرتبط می‌کند.

در اینجا مثالی از نحوه ایجاد یک فایل اسکریپت آورده شده است:

پایتون

# 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}')

پس از ایجاد یک منبع اسکریپت مناقصه سفارشی، Display & Video 360 اسکریپت را پردازش می‌کند تا مطمئن شود که می‌توان از آن برای امتیازدهی به نمایش‌ها با موفقیت استفاده کرد. وضعیت این پردازش را از طریق فیلد state شیء اسکریپت بازیابی کنید. پس از پذیرش اسکریپت جدید، الگوریتم مناقصه سفارشی شروع به استفاده از اسکریپت برای امتیازدهی به مقادیر نمایش می‌کند. این اتفاق بلافاصله رخ می‌دهد، بنابراین قبل از ایجاد یک منبع اسکریپت جدید، مطمئن شوید که می‌خواهید الگوریتم را به‌روزرسانی کنید.

یک الگوریتم مناقصه سفارشی اختصاص دهید

پس از ایجاد یک الگوریتم پیشنهاد قیمت سفارشی، آپلود یک اسکریپت پذیرفته شده و برآورده کردن الزامات لازم ، می‌توانید الگوریتم پیشنهاد قیمت سفارشی خود را به استراتژی پیشنهاد قیمت یک ردیف کالا یا سفارش درج اختصاص دهید.

شما می‌توانید با اختصاص دادن BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO و شناسه الگوریتم پیشنهاد قیمت سفارشی به ترتیب در فیلدهای performanceGoalType و customBiddingAlgorithmId ، از الگوریتم‌های پیشنهاد قیمت سفارشی در استراتژی‌های پیشنهاد قیمت با هدف حداکثر هزینه و عملکرد استفاده کنید. بسته به استراتژی پیشنهاد قیمت، ممکن است پارامترهای پیشنهاد قیمت دیگری در دسترس یا مورد نیاز باشند.

در اینجا مثالی از نحوه به‌روزرسانی یک ردیف کالا برای استفاده از استراتژی پیشنهاد هزینه حداکثر با یک الگوریتم پیشنهاد سفارشی داده شده آورده شده است:

پایتون

# 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"]}.')