キャンペーン(クロスプロモーション)
キャンペーンは、クロスプロモーションを行うための機能です。「アプリ詳細」で説明している「広告プレースホルダー用の広告ユニット → クロスプロモーション」のマッピングを使い、自社アプリ内で別の自社アプリを宣伝できます。
キャンペーン一覧
キャンペーンページ(/campaigns)には、作成したすべてのキャンペーンが表形式で表示されます。列は、行番号、タイトル、対象アプリ(名前とパッケージを2行で表示)、キャンペーンタイプ(現時点では常に「クロスプロモーション」。タイプ選択機能には「ネットワーク広告」という概念もありますが、実際の選択肢としては提供されていません)、ステータスと優先度(どちらも色付きのピル型ラベルで表示され、並べ替え可能)、開始日、終了日、作成日時、更新日時(後者2つも並べ替え可能)、操作(編集と削除)です。

一覧は、キャンペーンステータス、優先度、ターゲットブランドで絞り込めます。いずれも動的な複数選択式です。キャンペーンを編集する鉛筆アイコンをクリックすると、後述のウィザードが編集モードで開きます。削除時には確認が表示されます。削除は取り消せません。
+ 作成ボタンは、現在のプランでクロスプロモーションキャンペーンを追加作成できる場合(canCreateCampaign())にのみ表示されます。プランのキャンペーン数の上限に達している場合は、代わりに使用状況(「キャンペーン使用数: X/Y」)と、サブスクリプションページへの「🔒 アップグレード」リンクが表示されます。
キャンペーンの作成・編集 — ウィザード
+ 作成をクリックするか、既存のキャンペーンを編集すると、ステップ形式のウィザードが開きます。ウィザードは4ステップではなく、5ステップ構成です。既存のキャンペーンを編集する場合は最初のステップが自動的にスキップされるため、少なく見えることがあります(作成後はキャンペーンタイプを変更できません)。各ステップはすべて「下書きしてから保存する」という共通の動作になっています。入力中の変更は、そのステップのローカルなコンポーネント状態にのみ保持されます。保存系のボタンをクリックして対応するAPI呼び出しが成功するまで、ウィザードの共有コンテキストへの書き込みも、サーバーへの永続化も行われません。未保存の変更がある状態で別の画面に移動しようとすると、「未保存の変更があります。このページを離れてもよろしいですか?」という確認(「はい、離れる」/「このページに留まる」)が表示され、作業内容の消失を防ぎます。
ステップ1 — キャンペーンタイプの選択
選択できるカードは、クロスプロモーション(「他の自社アプリのユーザーに、自社アプリを宣伝する」)の1つだけです。これが実際に選択できる唯一のタイプです。内部コードには将来用のプレースホルダーとして「ネットワーク広告」タイプも存在しますが、現在のUIでは選択できません。次へをクリックすると先に進みます。ステップ2までは何も作成されないため、このステップ単独ではサーバーへの呼び出しは行われません。編集モードではこのステップ全体がスキップされ、既存のキャンペーンタイプが固定された状態で、ステップ2からウィザードが開きます。
ステップ2 — キャンペーン設定

このステップでは、キャンペーンの作成(作成モードでの初回保存時)と、基本設定の編集(編集モード)を行います。設定項目は次のとおりです。
- キャンペーンステータスの切り替え — 編集モードのみ。「有効」と「一時停止」を切り替えるスイッチです。どちらに切り替える場合も確認ダイアログが表示されます(「キャンペーンを有効にしますか?」/「キャンペーンを一時停止しますか?」)。有効にしようとすると、保存前に、クリエイティブが1件以上あり、そのうち少なくとも1件が有効であることが確認されます。条件を満たさない場合は、「キャンペーンを有効にできません — まずクリエイティブを1件以上追加してください」または「…少なくとも1件のクリエイティブを有効にする必要があります」と表示され、切り替えは反映されません。
- キャンペーンタイトル — 必須のテキストフィールドです。
- ブランドを選択 — 自社ブランドを選ぶ必須のドロップダウンです。アプリ一覧はブランドによって変わるため、ブランドを変更すると「宣伝するアプリ」の選択がクリアされます。
- 宣伝するアプリ — 選択したブランドに応じて候補が表示される必須のドロップダウンです。ブランドを選択するまでは無効になっています。
- キャンペーン優先度 — 「高」/「中」/「低」の3つのピル型ボタンから選択します。デフォルトは「中」です。
- キャンペーン開始 — 「即時」または特定の日付を選択します。日付を指定する場合は、過去の日付を指定できません(今日の日付と比較してチェックされます)。ただし、編集モードで保存済みの日付を変更していない場合、この過去日チェックはスキップされます。
- キャンペーン終了 — 「なし(終了日なし)」または特定の日付を選択します。開始日と同じ過去日チェックに加え、終了日が開始日より後であることも確認されます。
有効な間のフィールドロック: キャンペーンを有効にすると、ブランド、宣伝するアプリ、開始日/即時の設定は変更できなくなります。これらのフィールドは無効になり、短い説明(「…キャンペーンが有効な間は変更できません」)が表示されます。タイトル、優先度、終了日は引き続き変更でき、スイッチで一時停止することもできます。
保存(作成モードでは保存して次へ、編集モードでは保存)すると、タイトル、対象アプリ、キャンペーンタイプ、優先度、算出された開始日と終了日、および編集モードではステータスがサーバーに送信されます。初回作成時は、レスポンスに既存の配信先/地域データが含まれていれば、それを使ってステップ3の初期状態が設定されます。これらの情報がウィザードの共有コンテキストに書き込まれるのは、API呼び出しが成功した後だけです。
ステップ3 — ターゲティング

ターゲティングは、配信先(どの自社ブランド/アプリにキャンペーンを表示するか)と地域(どの国で配信するか)という、独立した2つのサブセクションで構成されています。両方が1つのステップと保存ボタンを共有しています。
配信先。 チェックリストで、次のいずれかを選択します。
- すべてのブランド — 全体を一括選択するチェックボックスです。これを選択すると、後から追加されるものも含め、所有するすべてのブランドとアプリでキャンペーンを表示できます。
- 特定のブランド — スクロール可能な一覧から1つ以上のブランドを選択します。各ブランドには、そのブランドのアプリのサブリストがあります。選択したブランド内でアプリを個別に選ぶことも、そのブランドの「すべて(今後追加されるものを含む)」にチェックを入れ、現在および今後のすべてのアプリを一括で対象にすることもできます。
チェックリストの上には、「選択したブランド」と「選択したアプリ」がチップ形式で随時表示され、現在のターゲティング設定をひと目で確認できます。
地域。 「すべて選択」ショートカット付きの国の複数選択フィールドです。キャンペーンの配信国を制限するかどうかを設定します。制限しない場合は、すべての地域で配信されます。この地域選択は、本ガイドの後半で説明する名前付きの地域グループ機能とは、意図的に分離されています。キャンペーンごとに名前を付けずに国を選択するシンプルな設定であり、保存して再利用するグループではありません。(サーバーから動的な国一覧を読み込めない場合は、16か国からなるフォールバック一覧が使用されます。このため、フォールバック時の選択肢は地域グループのものより少なくなっています。)
どちらのサブセクションも、ウィザードの他のステップと同じ下書き/保存の動作に従います。変更は「保存」または「保存して次へ」をクリックするまでローカルに保持されます。クリックすると、配信先と地域がそれぞれ別のAPI呼び出しで永続化され、その後にウィザードの共有状態へ統合されます。
ステップ4 — クリエイティブ

ここでは、キャンペーン配信時に実際に表示する広告クリエイティブをアップロードします。
新しいクリエイティブの追加。 表形式の「新しいクリエイティブを追加」フォームで、1行以上をまとめて追加できます(+ クリエイティブを追加リンクで空の行を追加し、ごみ箱アイコンで行を削除します)。各行には次の項目があります。
- 画像 — 空の四角形をクリックしてアップロードします。対応形式はJPEG、PNG、JPG、GIF、WebPで、最大サイズは10MBです。条件を満たさないファイルは受け付けられず、具体的なエラーがその場に表示されます(形式の不一致、または実際のサイズを示す「最大10MB(X.XXMB)」)。
- 名前 — 必須のテキストです。
- ターゲットURL — 必須です。有効な
http://またはhttps://のURLである必要があり、入力中にリアルタイムで検証されます。 - 広告タイプ — インタースティシャル、バナー、ネイティブ、リワード、appOpenのいずれかです(他の箇所で広告ユニットに使用されているものと同じ5種類のフォーマットです)。
保存して次へ(作成モード)または保存(編集モード)をクリックすると、空ではないすべての行が検証され、各画像がアップロードされた後、APIを通じて各クリエイティブが作成されます。保存済み一覧に追加されるのは、実際に保存に成功したクリエイティブだけです。保存に失敗したものがある場合は失敗件数が表示され、再試行できます。作成モードでこのステップを完了して先に進むには、クリエイティブが1件以上必要です。
保存済みクリエイティブ一覧。 保存済みのクリエイティブは、新規追加フォームの上にカード形式の一覧で表示されます。各カードには、サムネイル(クリックで拡大)、名前、広告タイプ、ターゲットURL、切り替えスイッチ付きの「有効/無効」ステータスラベル、編集(鉛筆)ボタン、削除(ごみ箱)ボタンが表示されます。
- キャンペーン内で唯一有効なクリエイティブは、無効に切り替えられません(「少なくとも1件のクリエイティブを有効のままにする必要があります」)。それ以外の場合は、「クリエイティブを有効/無効にしますか?」という簡単な確認が表示されます。
- 編集(鉛筆)ボタンをクリックすると、そのクリエイティブ専用のインライン編集フォームが開きます。名前、画像、ターゲットURLを編集でき、広告タイプは固定です。フォームには専用の「保存」/「キャンセル」があります。
- 削除時には「この操作は取り消せません!」という確認が表示され、その後クリエイティブが完全に削除されます。
ステップ5 — キャンペーンの確認

ステップ2〜4で入力したすべての内容が、読み取り専用の概要として表示されます。キャンペーンステータス、タイトル、タイプ、ブランド、宣伝するアプリ、優先度、開始日、終了日、1行のターゲティング概要(「すべてのブランド · すべてのアプリ」やブランド別の内訳など)、選択した地域(チップ形式、または「すべての地域」)、そしてサムネイル、名前、ターゲットURL、広告タイプのバッジを含むクリエイティブの全一覧を確認できます。
作成モードのみ、このステップの最上部にも操作可能なステータス切り替えスイッチ(有効/一時停止)が表示されます。ここでもステップ2と同じ有効化ルールが適用されます(クリエイティブが0件、または有効なクリエイティブがない場合は有効化できず、「キャンペーンを有効にできません」と表示されます)。編集モードでは、代わりに読み取り専用のステータスバッジが表示されます。ステータスの変更はここではなく、ステップ2のスイッチで行います。
完了をクリックすると、キャンペーン一覧に戻ります。編集モードでは、先に「キャンペーンを保存しました」という確認が短時間表示されます。作成モードでは、各ステップですでに保存されているため、追加の確認なしでそのまま一覧に戻ります。