1. مقدمه
چیزی که خواهی ساخت
در این کد لبه یاد خواهید گرفت که چگونه با استفاده از Vertex AI تصاویر را تولید کرده و به Google Ads ارسال کنید تا از دارایی ها به عنوان دارایی تصویر در کمپین ها استفاده شود.
چیزی که یاد خواهید گرفت
- نحوه تولید تصاویر از GCP، Vertex AI
- نحوه آپلود تصاویر در گوگل ادز
- نحوه استفاده از آن در تبلیغات گوگل
آنچه شما نیاز دارید
- حساب Google Ads
- حساب GCP
2. اعتبار Google Ads را دریافت کنید
این بخش برای دریافت دارایی های تصویر از Google Ads مورد نیاز است. برای دسترسی به Google Ads از Colab، به اعتبارنامه مناسب نیاز دارید.
ایجاد اعتبار -> ایجاد "شناسه مشتری OAuth" -> برنامه وب
برای دریافت اعتبارنامه مناسب برای اتصال Google Ads، باید به اطلاعات کاربری Cloud دسترسی داشته باشید.
اگر صفحه رضایت را پیکربندی نکردهاید، ابتدا صفحه رضایت را تنظیم کنید.
- نوع کاربر: خارجی
- وضعیت انتشار: در حال تولید
URI زیر را به "URI های تغییر مسیر مجاز" اضافه کنید
زیر URI به عنوان اسکرین شات زیر قرار دهید.
https://developers.google.com/oauthplayground
شناسه مشتری و رمز مشتری را کپی کنید
شما می توانید شناسه مشتری و رمز مشتری را دریافت کنید.
3. Refresh Token را ایجاد کنید
دسترسی به زمین بازی OAuth
میتوانید بهراحتی در OAuth Playground یک نشانه تازهسازی موقت صادر کنید.
به تنظیمات بروید و "User your own OAuth credentials" را بررسی کنید. پس از به دست آوردن شناسه مشتری OAuth و رمز سرویس گیرنده از فصل قبل، می توانید آنها را در کادرهای متنی مربوطه قرار دهید.
دامنه را اضافه کنید
می توانید دامنه https://www.googleapis.com/auth/adwords را به قسمت زیر اضافه کنید.
روی Authorize APIs کلیک کنید و صفحه بعدی را مشاهده خواهید کرد.
ایجاد Refresh Token
روی «تبادل کد مجوز برای توکنها» کلیک کنید و رمز تازهسازی را خواهید دید.
4. Colab را برای اجرای کد آماده کنید
Colab نوت بوک کد مفیدی است که با پایتون ارائه می شود. گزینه پیش فرض مقدار بسیار زیادی از قدرت محاسباتی را فراهم می کند. همچنین میتوانید از هر پلتفرمی برای فراخوانی REST API Google Cloud Vertex AI استفاده کنید.
لطفاً برای استفاده از آن به https://colab.research.google.com/ بروید.
به [فایل → یادداشت جدید] بروید و شروع به نوشتن کدهای جدید کنید.
اگر روی New Notebook کلیک کنید، برگه جدید را برای خود آماده خواهید دید.
5. تصویر را از طریق Google Cloud Vertex AI ایجاد کنید
واردات کتابخانه ها
!pip install requests google-ads
ابتدا کتابخانههایی را برای Google Ads و درخواستهای API نصب کنید. پس از نصب کتابخانه ها باید زمان اجرا را مجددا راه اندازی کنید.
همچنین می توانید کتابخانه های ضروری را بارگیری کنید.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
احراز هویت را دریافت کنید
از شما خواسته می شود تا حساب کاربری گوگل خود را تأیید کنید.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
پس از تأیید اعتبار، آماده تماس با Google Cloud API هستید.
6. تصویر از Vertex AI تولید کنید
درخواست prompt و POST خود را آماده کنید
ابتدا باید شناسه پروژه ابری گوگل خود را داشته باشید. می توانید آن را از Google Cloud دریافت کنید. شما به یک پیام متنی نیاز دارید و همچنین می توانید تعداد تصویر مورد نیاز خود را تعیین کنید. برای گزینه های بیشتر، لطفاً به اسناد رسمی مراجعه کنید.
PROJECT_ID = 'abcdefg' # Your GCP project ID
TEXT_PROMPT = 'cat computer' # Your prompt goes here.
IMAGE_COUNT = 4 # You will get 4 images as a result.
شما می توانید هر چیزی را در داخل اعلان متن بنویسید. در اینجا، میخواهیم تصاویری را که گربه و کامپیوتر را با هم در یک تصویر واحد دارند تولید کنیم.
url = f"https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/imagegeneration:predict"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json; charset=utf-8"
}
data = {
"instances": [
{
"prompt": TEXT_PROMPT
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
درخواست تولید تصویر
هنگامی که برای json آماده شدید، اکنون می توانید برای تولید تصویر درخواست دهید. در زیر درخواست معمولی http آمده است.
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
response_data = response.json()
for prediction in response_data.get('predictions', []):
image_data = base64.b64decode(prediction['bytesBase64Encoded'])
display(Image(data=image_data))
else:
print("Request failed:", response.status_code, response.text)
اگر چند ثانیه صبر کنید به نتیجه خواهید رسید. خیلی ساده!
7. به Google Ads متصل شوید
به حساب Google Ads خود متصل شوید
به یک توکن توسعه دهنده از Google Ads نیاز دارید. شما می توانید برای کد برنامه نویس پایه یا استاندارد درخواست دهید، اما برای هدف آزمایش، توکن تست نیز موجود است. به حساب MCC خود بروید. در تب ابزار و تنظیمات، مرکز API را مشاهده خواهید کرد. در بخش API، توکن خود را در آنجا پیدا خواهید کرد.
شناسه مشتری، رمز مشتری و توکنهای تازهسازی باید در فصل قبل آماده باشند.
credentials = {
"developer_token": "ABCDEFG",
"client_id": "123456789012-abcd1234.apps.googleusercontent.com",
"client_secret": "GOCSPX-abcd1234-abcd1234-abcd1234",
"refresh_token": "1//abcdefghijklmnopqrstuvwxyz",
"use_proto_plus": True
}
پس از تنظیم اعتبار، می توانید API GoogleAdsService را بارگیری کنید. شناسه مشتری معمولاً در قالب xxx-xxxx-xxx است، اما باید «-» را حذف کنید.
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
پرس و جو از حساب Google Ads
اکنون می توانید با googleads_service تست کنید. بیایید جویا شویم که چه نوع دارایی در حساب تبلیغات داریم.
query = (
'''
SELECT
ad_group_ad.ad.id,
ad_group_ad.ad.app_ad.headlines,
ad_group_ad.ad.app_ad.descriptions,
ad_group_ad.ad.app_ad.images
FROM ad_group_ad
''')
response = googleads_service.search(customer_id=customer_id, query=query)
for googleads_row in response:
print(googleads_row)
لیست دارایی های حساب Google Ads را با فرمت json خواهید دید. اگر چیزی شبیه به
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. دارایی تصویر را در تبلیغات گوگل آپلود کنید
آپلود کنید
برای آخرین مرحله، ما قصد داریم دارایی های تولید شده را در Google Ads آپلود کنیم.
for prediction in response_data.get('predictions', []):
image_base64 = prediction['bytesBase64Encoded']
image_bytes = base64.b64decode(image_base64)
asset_service = client.get_service('AssetService')
asset_operation = client.get_type('AssetOperation')
asset = asset_operation.create
asset.type_ = client.enums.AssetTypeEnum.IMAGE
asset.image_asset.data = image_bytes
asset.name = "cats"
asset_service.mutate_assets(customer_id=customer_id, operations=[asset_operation])
پس از چند ثانیه، میتوانید دارایی آپلود شده را از طریق Google Ads Frontend بررسی کنید. در اینجا نمونه اسکرین شات است.
9. تبریک می گویم
تبریک می گوییم، شما با موفقیت دارایی های تصویری زیبایی را از تصویر موجود ایجاد کرده اید!
تو یاد گرفتی
- نحوه تولید دارایی های تصویری از طریق هوش مصنوعی (Vertex AI)
- نحوه آپلود تصاویر در Google Ads و استفاده از آن به عنوان دارایی تصویر