ImageAd や ResponsiveDisplayAd などの広告タイプには、画像やその他のメディア要素が含まれています。ここでは、Google 広告 スクリプトを使ってメディアのアップロードやクエリを行う方法を説明します。
画像のアップロード
画像は、名前と画像データを受け取る ImageBuilder
クラスを使用してアップロードできます。データは Blob
データ交換オブジェクトとして提供されます。このオブジェクトは、ドライブや URL 取得などのサービスによって作成できます。
次のコードは、外部 URL から画像をアップロードする方法を示しています。
let imageUrl = "http://www.example.com/example.png";
let imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
let mediaOperation = AdsApp.adMedia().newImageBuilder()
.withName("IMAGE_NAME")
.withData(imageBlob)
.build();
この他に、Blob の画像データを Google ドライブからアップロードすることができます。
let imageFileId = "IMAGE_FILE_ID";
let imageBlob = DriveApp.getFileById(imageFileId).getBlob();
let mediaOperation = AdsApp.adMedia().newImageBuilder()
.withName("IMAGE_NAME")
.withData(imageBlob)
.build();
メディア バンドルのアップロード
メディア バンドルは、HTML5 アセットを含む ZIP アーカイブであり、
HTML5 広告を作成する。
名前とファイルデータを受け取る MediaBundleBuilder
クラスを使用してメディア バンドルをアップロードします。画像と同様に、データは Blob
データ交換オブジェクトとして提供されます。
次のコードは、外部 URL からメディア バンドルをアップロードする方法を示しています。
let mediaBundleUrl = "http://www.example.com/example.zip";
let mediaBundleBlob = UrlFetchApp.fetch(mediaBundleUrl).getBlob();
let mediaOperation = AdsApp.adMedia().newMediaBundleBuilder()
.withName("bundle name")
.withData(mediaBundleBlob)
.build();
メディアのクエリ
Google 広告スクリプトでは、あらゆるタイプのメディアに対して
MediaSelector
。
こちらの
withCondition()
述語を使用してメディアを名前やタイプなどのフィールドでフィルタします。たとえば、次のスニペットはアカウント内のすべての画像を検索します。
let mediaIterator = AdsApp.adMedia().media()
.withCondition("Type = IMAGE")
.get();
while (mediaIterator.hasNext()) {
let image = mediaIterator.next();
}
メディアを使った広告の作成
コードについては、広告に関する記事をご覧ください メディアを添付したサポート対象の広告の作成例。