サーバー間入札の統合

自社メディエーションは一般提供されていません

Audience Networkによる自社入札は、現時点で非公開ベータ版であり、一般公開されません。この状況が変化した時点で、アップデートが提供される予定です。

それまでの間、Metaと提携しているいずれかのメディエーションプラットフォームを使ってAudience Network入札をご利用になれます。

Facebook Audience Networkでは、Open Real-Time Bidding (ORTB)入札者は直接的なクライアント統合とサーバー間統合の両方を使用できます。このガイドでは、オークションサーバーからの入札を統合する方法について説明します。

サーバー間統合では、オークションサーバーはFacebook Audience Network入札エンドポイントとその他すべてのデマンドソースを呼び出して入札応答を取得します。次に、オークションサーバーはオークションを実行して落札者を選定します。このオークションサーバーとして、パブリッシャーが構築したオークションロジックを実行する自社サーバーか、Audience Networkのアプリ入札と統合されたサードパーティーのサーバーを使用できます。そうすることで、サーバーのリソースと使用可能なネットワークを利用して、デマンドソースの入札エンドポイントを呼び出すことができます。また、クライアントを更新せずに、これらのエンドポイント統合に変更を加えることもできます。

前提条件

作業を始める前に、Audience Network入札の概要入札統合のベストプラクティスをお読みください。

Android

iOS

準備

自社サーバー間入札を準備するには、次の手順を実施する必要があります。

アプリを登録する

各パブリッシャーは、入札の許可リストに追加されるAudience NetworkビジネスIDを作成する必要があります。このビジネスIDの下で、入札エンドポイントを利用する複数のプロパティを作成できます。

  • Facebook Audience Networkのドキュメントにアクセスし、[今すぐ開始]ボタンをクリックして新しいビジネスIDを作成します。または、既存のビジネスIDを使用することもできます。
  • 同じビジネスIDの下でプロパティを作成できますが、登録する必要があります。詳しくは収益化マネージャー をご覧ください。
  • ビジネスID(パブリッシャーID)について理解を深めましょう。
  • 自分のビジネス/アプリへのユーザーアクセスを管理 できます。

Facebookセキュリティアプリを作成する

サーバー側の自社パブリッシャーはもれなく、https://developers.facebook.comでFacebookセキュリティアプリを作成する必要があります。セキュリティアプリを作成したら、そのアプリのアプリIDとapp secretを取得する必要があります。すべてのリクエストにおいて、リクエストの発信者を検証する認証トークンがapp secretを使って作成されます。

必ず正しいハッシュ(以下で指定)を使用してください。0で始まるハッシュは、消失しません。

セキュリティアプリを作成して自分のビジネスにリンクする手順は、次のとおりです。

  1. https://developers.facebook.comにログインします。
  2. [マイアプリ]メニューで[アプリの作成]をクリックします。
  3. [ビジネス][次へ]の順に選択します。
  4. 接頭辞「AN_SECURITY_APP」を付けてアプリの名前を入力し、アプリIDの作成をクリックします。
  5. 左側のメニューで[設定] → [基本]を選択します。
  6. [App Secret]フィールドで[表示]をクリックし、アプリIDとapp secretを書き留めます。
  7. https://business.facebook.com に移動して自分のビジネスを選択します。
  8. 左側のメニューで[ビジネス設定]をクリックします。
  9. [ビジネス設定]ページの左側のメニューで、[アカウント] → [アプリ]を選択します。
  10. [アプリ]ペインで[追加] → [アプリの追加]をクリックします。
  11. セキュリティアプリのアプリIDを入力して、[アプリの追加]をクリックします。これで、AN_SECURITY_APP が自分のビジネスの下に表示されるようになります。

リクエスト固有のauthentication_id がHMAC-SHA256アルゴリズムにより生成されます。このアルゴリズムは次の入力を使用します。

  • メッセージとして、リクエストID
  • キーとして、app secret
      authentication_id = HMAC_SHA256(request_id, app_secret)
    

生成されたIDは、authentication_id フィールドのトップレベルのOpenRTB入札リクエスト拡張に追加されます。例えば、リクエストIDが「9r90wurjqw」でapp secretが「12345asdfg」の場合、authentication_id は次のように生成されます。

      authentication_id = HMAC_SHA256(9r90wurjqw, 12345asdfg) = 39bbe40bc68899a9356085ca8c81
    

このトークンは、セキュリティアプリのアプリIDとともにすべてのリクエストに含められます。

      {
      "id": "9r90wurjqw",
      ...
      "ext": {
      "authentication_id": "39bbe40bc68899a9356085ca8c81d3021cfa124f2a2b3c68c88f95fb4cde40a4",
      "security_app_id": "AN_SECURITY_APP_MY_SECURITY_APP_ID" 
      ...
      }
      }
    

IDトークンを入札者に渡す

Facebookの入札者は、ORTBリクエストのuser.buyeruidフィールドにIDトークンがあると想定します。このトークンは、プラットフォームごとに異なる方法で生成されます。

Android

バックグラウンドスレッドで、Android Audience Network SDKからcom.facebook.ads.BidderTokenProvider.getBidderToken()を呼び出します。すべての入札リクエストでトークンを要求する必要があります。また、device.ifaフィールドのIDFAをAdvertisingIdClient.getAdvertisingIdInfo(context).getId()に渡します。

iOS

iOS Audience Network SDKから[FBAdSettings bidderToken]を呼び出します。すべての入札リクエストでトークンを要求する必要があります。また、device.ifaフィールドのIDFAを[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]に渡します。