広告メディア

ImageAdResponsiveDisplayAd など、一部の広告タイプには、画像やその他のメディア要素が含まれます。ここでは、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();
}

メディアを使った広告の作成

メディアを添付してサポートされている広告を作成するコード例については、広告記事をご覧ください。