1. Giriş
Oluşturacaklarınız
Bu codelab'de, Vertex AI'ı kullanarak nasıl görüntü oluşturacağınızı ve öğelerin kampanyalarda resim öğeleri olarak kullanılabilmesi için bu görüntüleri Google Ads'e göndermeyi öğreneceksiniz.
Neler öğreneceksiniz?
- GCP'den görüntü oluşturma, Vertex AI
- Google Ads'e resim yükleme
- Google Ads'de nasıl kullanılır?
Gerekenler
- Google Ads hesabı
- GCP Hesabı
2. Google Ads kimlik bilgisi alın
Bu bölüm, Google Ads'den resim öğeleri almak için gereklidir. Colab'den Google Ads'e erişmek için doğru kimlik bilgilerine sahip olmanız gerekir.
Kimlik bilgileri oluşturun -> "OAuth istemci kimliği" oluşturun -> Web Uygulaması
Google Ads'i bağlamak üzere doğru kimlik bilgilerini almak için Cloud kimlik bilgilerine erişmeniz gerekir.
İzin ekranını yapılandırmadıysanız önce izin ekranını ayarlayın.
- Kullanıcı türü: Harici
- Yayınlama durumu: Üretimde
Aşağıdaki URI'yi "Yetkili yönlendirme URI'leri"ne ekleyin
Aşağıdaki ekran görüntüsündeki gibi URI'nin altına ekleyin.
https://developers.google.com/oauthplayground
İstemci kimliğini ve istemci gizli anahtarını kopyalama
İstemci kimliği ve istemci gizli anahtarını alabilirsiniz.
3. Yenileme Jetonu Oluştur
OAuth Playground'a erişim
OAuth Playground'da kolayca geçici bir yenileme jetonu düzenleyebilirsiniz.
Ayarlara gidin ve "Kendi OAuth kimlik bilgilerinizi kullanın" kutusunu işaretleyin. Önceki bölümden OAuth istemci kimliğini ve istemci sırrını edindikten sonra bunları ilgili metin kutularına ekleyebilirsiniz.
Kapsamı ekleme
https://www.googleapis.com/auth/adwords kapsamını aşağıdaki alana ekleyebilirsiniz.
API'leri Yetkilendir'i tıklayın. Sonraki ekranı görürsünüz.
Yenileme Jetonu Oluştur
"Jetonlar için yetkilendirme kodu değiş tokuşu yap"ı tıkladığınızda yenileme jetonunu görürsünüz.
4. Colab'i kodu yürütmek için hazırlama
Colab, Python ile birlikte gelen pratik bir kod not defteridir. Varsayılan seçenek oldukça bol miktarda bilgi işlem gücü sağlar. Google Cloud Vertex AI'ın REST API'sini çağırmak için dilediğiniz platformu da kullanabilirsiniz.
Uygulamayı kullanmak için lütfen https://colab.research.google.com/ adresine gidin.
[Dosya → Yeni not] bölümüne gidin ve yeni kodlar yazmaya başlayın.
Yeni Not Defteri'ni tıklarsanız yeni sayfa sizin için hazır olur.
5. Google Cloud Vertex AI aracılığıyla resim oluşturun
Kitaplıkları içe aktar
!pip install requests google-ads
Birincisi, Google Ads için kitaplıkları ve API isteklerini yükleyin. Kitaplıkları yükledikten sonra çalışma zamanını yeniden başlatmanız gerekir.
Gerekli kitaplıkları da yükleyebilirsiniz.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Kimlik Doğrulama Alma
Google hesabınızı yetkilendirmeniz istenir.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Kendinizi yetkilendirdikten sonra Google Cloud API'lerini çağırmaya hazırsınız demektir.
6. Vertex AI'dan resim oluştur
İsteminizi ve POST isteğinizi hazırlama
Öncelikle, Google Cloud proje kimliğinizi bilmeniz gerekir. Google Cloud'dan edinebilirsiniz. Bir metin istemine ihtiyacınız vardır. Ayrıca ihtiyaç duyduğunuz resim sayısını da ayarlayabilirsiniz. Daha fazla seçenek için lütfen resmi belgeleri inceleyin.
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.
Metin istemine istediğiniz şeyi yazabilirsiniz. Burada, kedi ile bilgisayarı birlikte tek bir resimde içeren resimleri oluşturmak istiyoruz.
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
}
}
Resim oluşturma isteğinde bulunma
JSON dosyasına hazır olduğunuzda görüntü oluşturma için istek gönderebilirsiniz. Aşağıda tipik bir http isteği verilmiştir.
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)
Birkaç saniye beklerseniz sonucu alırsınız. Çok basit.
7. Google Ads'e Bağlanın
Google Ads hesabınıza bağlanın
Google Ads'den bir geliştirici jetonu almanız gerekir. Temel veya standart geliştirici jetonu için başvurabilirsiniz ancak test amacıyla, test jetonu da kullanılabilir. MM hesabınıza gidin. Araçlar ve ayarlar sekmesinde API merkezini görürsünüz. API bölümünde jetonunuzu orada bulabilirsiniz.
İstemci kimliği, istemci gizli anahtarı ve yenileme jetonları önceki bölümde hazır olmalıdır.
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
}
Kimlik bilgilerini ayarladıktan sonra GoogleAdsService API'yi yükleyebilirsiniz. Müşteri kimliği genellikle xxx-xxxx-xxx biçimindedir ancak "-" karakterini kaldırmanız gerekir.
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Google Ads Hesabını Sorgulama
Artık googleads_service ile test edebilirsiniz. Ads hesabında ne tür öğelerimiz olduğunu sorgulayalım.
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 hesabındaki öğelerin listesini json biçiminde görürsünüz. Örneğin, gördüğünüz gibi
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Resim öğesini Google Ads'e yükleyin
Video
Son adımda, oluşturulan öğeleri Google Ads'e yükleyeceğiz.
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])
Birkaç saniye sonra, yüklenen öğeyi Google Ads Frontend'den kontrol edebilirsiniz. Örnek ekran görüntüsünü aşağıda bulabilirsiniz.
9. Tebrikler
Tebrikler, mevcut resimden başarıyla güzel resim öğeleri oluşturdunuz.
Neler öğrendiniz?
- Üretken yapay zeka (Vertex AI) ile resim öğeleri oluşturma
- Resimleri Google Ads'e yükleme ve resim öğesi olarak kullanma