背景
新しいインタラクティブ Google 広告クエリビルダーのメリットの 1 つは、ユーザーの選択内容に応じてフィールドが動的に更新され、フィールドが選択できるかどうかが表示されることです。選択できない場合は、なぜそのフィールドが選択できないかがわかるフィードバックがユーザーに返されます。これを実現するには、Google Ads Query Language(GAQL)文字列の FROM 句のメインリソースに基づいて、その GAQL 文字列のそれぞれの句で選択できるフィールドのリストを提示する必要があります。そのロジックを含む、
ResourceService
という名前のサービスを作成します。すると、Angular の
サービスと依存関係の注入モデルを使って適切なフィールドと関連情報を取得し、任意のコンポーネントに設定できるようになります。
実装
前回生成したリソース スキーマを活用すると、URL によって決まる FROM 句のメインリソースに対するエントリを選択し、フィールドのサブエントリを絞り込んで、特定の条件に一致する
fields
だけを提供できます。
まずは、句によってフィールドを分類するところから始めます。
このフィールド リストは、さらに属性フィールド、指標、セグメント、属性付きリソース フィールドに分類できます。指定された句から指標とセグメントを取得するのは簡単です。リソース スキーマには指標とセグメント(
セグメント化リソースを含む)のリストが含まれているからです。それぞれの句について、句に関連する前述の条件を満たすすべてのセグメントと指標を含めます。
同じように、FROM 句のリソースの
attributes
を調べ、リソース名で始まり、その後にドットが存在するものを絞り込み、句に関連する前述の絞り込み条件を適用することで、それぞれの句のメイン属性フィールドを取得できます。
attributes
エントリのその他のフィールドは、すべて属性付きリソース フィールドです。属性付きリソースのリストは、メインリソースを除くリソースの
attributes
の一意なプレフィックス(ドットの前のテキスト)を集めることで生成できます。最後に、それぞれの属性付きリソースの名前がプレフィックスになっているフィールドを選択すると、それぞれの属性付きリソースについて、句ごとのフィールド リストを作成できます。
以上のロジックがすべてそろえば、インターフェースを作成し、指定されたカテゴリと句に応じてフィールドのリストを返すメソッドを公開できます。すると、
ResourceService
に注入される任意のコンポーネントは、対応するメソッドを呼び出すだけで、適切なフィールドのリストを取得できるようになります。
まとめ
以上で、アプリで表示している句とカテゴリに基づいて GAQL クエリを作成しているユーザーに、関連フィールドを表示する
ResourceService
を作成できました。今回の投稿では、以下について説明しました。
- GAQL クエリの構造
- GAQL クエリに登場できるフィールドの種類
- フィールドのプロパティとそれぞれの GAQL 句との対応
Google Ads API での GAOL クエリの構築について理解が深まれば幸いです。ご質問やさらにサポートが必要なことがありましたら、
フォーラムまたは googleadsapi-support@google.com にご連絡ください。
- Devin Chasanoff(Google Ads API チーム)