1. Pengantar
Yang akan Anda bangun
Dalam codelab ini, Anda akan mempelajari cara membuat gambar menggunakan Vertex AI dan mengirimkannya ke Google Ads sehingga aset dapat digunakan sebagai aset gambar dalam kampanye.
Yang akan Anda pelajari
- Cara membuat gambar dari GCP, Vertex AI
- Cara mengupload gambar ke Google Ads
- Cara menggunakannya di Google Ads
Yang Anda butuhkan
- Akun Google Ads
- Akun GCP
2. Dapatkan kredensial Google Ads
Bagian ini diperlukan untuk mendapatkan aset gambar dari Google Ads. Untuk mengakses Google Ads dari Colab, Anda memerlukan kredensial yang sesuai.
Buat kredensial -> Membuat 'client ID OAuth' -> Aplikasi Web
Guna mendapatkan kredensial yang tepat untuk menghubungkan Google Ads, Anda perlu mengakses kredensial Cloud.
Jika Anda belum mengonfigurasi layar izin, siapkan layar izin terlebih dahulu.
- Jenis pengguna: Eksternal
- Status publikasi: Dalam produksi
Tambahkan URI berikut ke 'URI pengalihan yang diotorisasi'
Tempatkan URI di bawah seperti screenshot di bawah.
https://developers.google.com/oauthplayground
Menyalin Client ID dan rahasia klien
Anda bisa mendapatkan client ID dan rahasia klien.
3. Buat Token Penyegaran
Akses ke OAuth Playground
Anda dapat dengan mudah menerbitkan token refresh sementara di OAuth Playground.
Buka setelan, lalu periksa 'User your own OAuth credentials'. Setelah mendapatkan client ID dan rahasia klien OAuth dari bab sebelumnya, Anda dapat menempatkannya ke dalam kotak teks yang sesuai.
Menambahkan cakupan
Anda dapat menambahkan cakupan https://www.googleapis.com/auth/adwords ke area di bawah.
Klik Authorize APIs, dan Anda akan melihat layar berikutnya.
Buat Token Refresh
Klik 'Tukarkan kode otorisasi untuk token', dan Anda akan melihat token pembaruan.
4. Menyiapkan Colab untuk menjalankan kode
Colab adalah notebook kode praktis yang disertakan dengan Python. Opsi default menyediakan daya komputasi yang cukup besar. Anda juga dapat menggunakan platform apa pun untuk memanggil REST API Vertex AI Google Cloud.
Buka https://colab.research.google.com/ untuk menggunakannya.
Buka [File → Catatan baru] dan mulai tulis kode baru.
Jika Anda mengklik New Notebook, lembar baru akan siap untuk Anda.
5. Buat Gambar melalui Google Cloud Vertex AI
Mengimpor library
!pip install requests google-ads
Pertama, Instal library untuk Google Ads, dan permintaan API. Anda harus memulai ulang runtime setelah menginstal library.
Anda juga dapat memuat library penting.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Mendapatkan Autentikasi
Anda akan diminta untuk melakukan otorisasi ke Akun Google Anda.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Setelah memberi otorisasi sendiri, Anda siap memanggil Google Cloud API.
6. Buat gambar dari Vertex AI
Menyiapkan perintah dan permintaan POST
Pertama, Anda harus memiliki project ID Google Cloud. Anda bisa mendapatkannya dari Google Cloud. Anda memerlukan perintah teks, dan Anda juga dapat menetapkan jumlah gambar yang diperlukan. Untuk opsi lainnya, lihat dokumentasi resmi.
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.
Anda dapat menulis apa pun di dalam prompt teks. Di sini, kita ingin menghasilkan beberapa gambar yang berisi kucing dan komputer dalam satu gambar.
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
}
}
Meminta pembuatan gambar
Setelah siap mendapatkan json, kini Anda dapat meminta pembuatan gambar. Di bawah ini adalah permintaan http pada umumnya.
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)
Jika menunggu beberapa detik, Anda akan mendapatkan hasilnya. Sangat sederhana!
7. Terhubung ke Google Ads
Terhubung ke Akun Google Ads
Anda memerlukan token developer dari Google Ads. Anda dapat mengajukan permohonan untuk token dev dasar atau standar, tetapi untuk tujuan pengujian, token pengujian juga tersedia. Buka akun MCC Anda. Di tab alat dan setelan, Anda akan melihat Pusat API. Di bagian API, Anda akan menemukan token Anda di sana.
Id klien, rahasia klien, dan token penyegaran harus siap di bab sebelumnya.
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
}
Setelah menetapkan kredensial, Anda dapat memuat GoogleAdsService API. ID pelanggan biasanya dalam format xxx-xxxx-xxx, tetapi Anda harus menghapus ‘-'.
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Membuat Kueri Akun Google Ads
Sekarang, Anda dapat melakukan pengujian dengan googleads_service. Mari kita kueri jenis aset yang kita miliki di akun Google Ads.
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)
Anda akan melihat daftar aset di akun Google Ads dalam format JSON. Jika Anda melihat sesuatu seperti
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Upload Aset Gambar ke Google Ads
Mengupload
Untuk langkah terakhir, kita akan mengupload aset yang dihasilkan ke 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])
Setelah beberapa detik, Anda akan dapat memeriksa aset yang diupload melalui Google Ads Frontend. Berikut adalah contoh screenshot.
9. Selamat
Selamat, Anda telah berhasil membuat aset gambar yang indah dari gambar yang ada.
Anda telah mempelajari
- Cara membuat aset gambar melalui AI generatif (Vertex AI)
- Cara mengupload gambar ke Google Ads dan menggunakannya sebagai aset gambar