ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
SKAdNetworkの最新情報
SKAdNetworkにより、広告主はユーザのプライバシーを守りながら、広告キャンペーンの成果を評価できるようになります。ここでは、Web広告に関する階層的なソースID、階層的な変換値、多重変換、SKAdNetwork属性など、広告の属性に関する最新情報を解説します。また、クラウドの匿名性における重要性について解説し、Xcode 13でのテストを通じてSKAdNetworkの効果を検証する方法も紹介します。
リソース
関連ビデオ
WWDC22
WWDC21
-
ダウンロード
(軽快な音楽)
WWDCにようこそ Nikhilです 今後の SKAdNetworkの変更について みなさんにお話します 先の話をする前に 現状および今に至る経緯を 考えてみましょう Appleは プライバシーを 基本的人権として考え その保護が 我々の業務すべてに 含まれています そして生まれたのが SKAdNetworkで プライバシーに焦点を当てた インストール計測システムです 属性データが 広告主に戻される一方で ユーザーのプライバシーを保護します SKAdNetworkには 3つの要素があります アドネットワークとパブリッシャーAppと アドバタイザAppです SKAdNetworkでよく使われる 言葉を定義しましょう インプレッション: ここでのインプレッションは パブリッシャーAppから SKAdNetworkへの 入力を意味します エンゲージメント: ユーザーがアドバタイザAppと 関わった時に起こります アドバタイザAppは エンゲージメントを コンバージョン値の更新と いう形で捉えます 最後は コンバージョンで ポストバックと呼ばれています アドネットワークに送られる 属性データを含むものです 属性データはアドネットワークに シグナルを提供し オジリナル広告のコンバージョンが 成功したと伝えます アドネットワークはアドバタイザAppに 署名付きのインプレッションを作成し パブリッシャーAppはこれを使って その広告を表示します ユーザーは広告をタップし Appをインストールします 最初の起動時に Appは APIを呼び出して コンバージョンのシグナルを出します 広告は何度も APIを呼び出し コンバージョン値を更新して エンゲージメントレベルを捉え 広告へと戻します タイマーが切れると アドネットワークへの 属性データが含まれた ポストバックを送ります
SKAdNetworkの変遷について 簡単に見てみましょう SKAdNetwork 2.0はプライバシー保護を 重視した広告属性を導入しました 2.2ではパブリッシャーAppの カスタム広告表示が可能になりました 3.0では成功に至らないインプレッションの ポストバックを追加しました iOS 15.0では SKAdNetworkの 全てのバージョンに対し デベロッパへのポストバックの コピーを導入しました SKAdNetworkの変遷について 詳細をお知りになりたい場合は 画面下に出ているセッションに ぜひご参加ください
では 今後登場する SKAdNetwork 4.0のお話です 新機能について見てみましょう まず アドバタイザに提供する データを増やす目的で APIに加えられた変更点を 見ていくことにします 次に そのコンバージョンの 面についてお話します そしてWebサイト広告への 属性へと移り 最後は SKAdNetworkの テスト容易性についてです 階層型IDとコンバージョン値が SKAdNetwork 4.0での 初めて導入された新機能です 新機能の説明の前に クラウドの匿名性の定義です SKAdNetworkが 属性データを送る時の プライバシー保護的方法を “クラウドの匿名性”と言います インストールの数は App使用者に対して 保証するプライバシーの レベルを決めるものです 低い側では ポストバックにおいて アドバタイザへ送られる 属性データは少なくなります インストール数が低ければ 返すトラックバック情報を 制限してプライバシーの保護に 念を入れます インストール数が増え ユーザーの個性が クラウドに混ざり始めると 送り返すデータが増えます 最終的にインストール数が 最高レベルに達すると プライバシーを保護しつつ 大半のデータが送れますが SKAdNetwork 4.0では 特定の方法を使うことで プライバシーを保護しながらも 送るデータ量が増やせるのです そのために変えるのが キャンペーン識別子フィールドです 現状では 2桁のフィールドで このフィールドの範囲を 4桁に増やして ソース識別子と名称変更します この名はこのフィールドに対する 我々の考え方を反映していて キャンペーンやそれ以外の 識別のために使おうと選んだ あらゆるものを表せる 名称になっています
1つの数字ではありますが 3つの階層からなる数字だと 考えるべきであり 2桁 3桁 そして 4桁の数字です ソース識別子フィールドを 数字の階層的なセットだと 考えるのが 各数字に意味を与える際に 役に立ちます 例えば 2桁の数字は 広告キャンペーンを表し 3つ目はバケット化された ユーザーの場所を表し 4つ目はスクリーン上の 広告表示を表すわけです あるいは 2桁の数字は 広告への対応を表し 3つ目はバケット化された 1日のうちの時間を表し 4つ目は表示された広告の サイズを表すこともあります これらは簡単な例で 最終的にはみなさんが それぞれの必要性に応じて 自由に使っていただけます 提供するデータを増やす 方向で進めば コンバージョン値も 変わっていきます 現状は6ビットの値ですが SKAdNetwork 4.0では2種類の コンバージョン値を導入します 細かい値と粗い値です 細かい値は現在の コンバージョン値と同じです 粗い値は3つの値の1つだと 考えられます コンバージョン値が “42で高い”という場合 “高い”が粗い値で “42”が細かい値であり 粗い値を得るために 必要なインストール数は 細かい値を得る場合より 少ないわけです その結果 Appは細かい値より 粗い値を早く受け取ります ですが アドバタイザが 受け取るのは片方だけです クラウドの匿名性が新フィールドに 与える影響を見てみましょう
ソース識別子が5739だという 先ほどの例を使うと クラウドの匿名性の下限では 受け取ると予想できるのは ソース識別子の2桁で ここでは39になります 中間レベルでは恐らく 3桁を受け取るでしょう 1番上のレベルだと 受け取ると思われるのは 完全な4桁のソース識別子です クラウドの匿名性が高くなれば 送り返されるソース識別子の 桁数が増えるわけです コンバージョン値が高く42だという 先ほどの例を見ると クラウドの匿名性が最低レベルだと ポストバックにコンバージョン値は 含まれていません 中間レベルでは 粗い値を 受け取ります 最も高いレベルでは 細かいコンバージョン値が ポストバックで送られます クラウドの匿名性により受け取る コンバージョン値が変わります では APIの変更点です SKAdImpressionのインスタンスを使って 広告を表示しているなら 新しい sourceIdentifierプロパティを SKAdImpressionインスタンスに設定できます
ディクショナリを通した インプレッション設定の場合 ソース識別子キーを使って ソース識別子値を設定できます
アドバタイザAppのための新しい updatePostbackConversionValueメソッドは このように 細かい値に加え 粗いコンバージョン値も 今では使用できるように 変更されています ポストバックのコンバージョン値を アップデートした後には フォローアップタスクに 完了ハンドラの使用をお勧めします 新しい階層型IDと コンバージョン値 APIの お勧めの採用方法を いくつかお見せします ソース識別子がどの程度 戻されるのかは インストールのプライバシーレベルに 応じて異なります それを踏まえてインプレッションの ソース識別子を作成しましょう 粗いコンバージョン値は 細かいコンバージョン値より かなり精度が下がります 値に意味を与える際には この事を考えましょう コンバージョン値は 上下するものです サーバーに変更を加えて SKAdNetwork 4.0の ポストバックを 処理できるようにする際には 新しいソース識別子や 粗いコンバージョン値の パースができるように しておきましょう 階層型IDとコンバージョン値が プライバシーを保護しながら データ提供量を増やすという お話は以上です 次は 属性フローのもう1つの 重要な分野 コンバージョンです 現在の SKAdNetworkは単一の コンバージョンモデルを使います
インストール時からユーザーの エンゲージメントを キャプチャしてコンバージョン値を アップデートします ある程度の時間が経つと アドネットワークに ポストバックを送ります 例を見てみましょう Food Truckを使います このAppではフードトラックの コントロールができます カスタム化やコントロールや 独自のドーナツ配達体験が作成できます Food Truckのデベロッパとして 広告出資の価値を 知りたいと考えます 例を挙げると ユーザーが Food Truckを使い始めると それをマークするコンバージョン値を アップデートします ユーザーが最初の配達を ピックアップすると 再びコンバージョン値を アップデートします 今度のドーナツのバッチは 熟成するのに時間を要するため ユーザーは待ちます 待っている間にコンバージョンは ポストバックという形で アドネットワークと 私に送られてきます ですがユーザーが遂に ドーナツを配達しても ポストバックは送信済みで 配達やそれ以降の ユーザーの行動を計測する 方法はまったくありません 再エンゲージメントは 失われたわけです この点を改善していきます 単一のポストバックから 3つのポストバックになります 3つのポストバックは 時間枠に連結し それぞれの時間枠の終わりに 送られます 先ほどの例を使いましょう 同じ様にユーザーが Food Truckを使い始め 配達用の最初のバッチの ピックアップに進みます 最初のポストバックは 時間枠の終わりに送られます ユーザーが ドーナツを配達します キャプチャされなかった 先ほどとは違い 既に2回目のポストバックの 時間枠内にいるので コンバージョン値を更新して これをキャプチャします 2回目のポストバック時間枠が 経過した時点で 送ります App内のツールを使って ユーザーが新しいレシピを考え 新しいバッチを配達しに 再び出かけます 3回目の時間枠が経過し 3回目のポストバック送信です コンバージョン値を計測する 機会も増えて 計測値を受け取る 回数も増えました 複数コンバージョンについて 注意点がいくつかあります 細かいコンバージョン値は 最初のポストバックのみです 他のポストバックは 粗い値になるでしょう 有効な広告とデベロッパのみ 他のポストバックを受け取ります 次はWebサイト上の広告への SKAdNetworkの属性についてです パブリッシャーAppの広告は App Storeで開きますね App StoreはSKAdNetworkと協働して インストールを帰属させる一方
ユーザーに信頼される プライバシー保護を行います Webページの広告にも 保護を広げたいと考えます どのようになるか見てみましょう Safariの広告リンクを ユーザーがタップします Safariは App Storeを開き 当該 Appの製品ページが出ます ここで2つの事が起きます App Storeはアドネットワーク サーバーから広告の インプレッションをフェッチし ユーザーは Appをインストールします この後は すべて現状と同じ様に 流れるわけで 最終的には SKAdNetworkが ポストバックを送り返します リンクの構成の様子を見てみましょう href部分は 広告対象の Appの App Storeのリンクを含んでいます attributionDestinationは Appleに 署名付きインプレッションを どこからフェッチしてくれば いいのかを伝えます attributionSourceNonceは 正確なアドインプレッションを アドネットワークが 探すのを手伝います
このリンクが提供されるのは ファーストパーティのサイト および クロスサイトの iframe 埋め込みです URLの構築を詳しく見てみましょう 帰属先から eTLD+1コンポーネントを 抽出してから それに well-knownの修飾子と さらに2つのコンポーネントを 追加します これで 署名付きインプレッションを 取得するための HTTP POSTリクエストを作る URLができました プロトコルと強調された パスコンポーネントは固定です アドネットワークのあなたが ホストコンポーネントを決めます
SKAdNetworkはこのように HTTP POSTリクエストを 構築された URLに作成します POSTボディは JSONです source_nonceがオリジナルの 広告リンクと同じですね アドネットワークは この値を使って 対象にする署名付き インプレッションを識別します
この POSTリクエストから 何が返されるでしょうか SKAdNetworkで使われる 署名付きインプレッションです インプレッション内のソース ドメインフィールドを見ましょう Appによる SKAdNetwork フローにおける ソース App IDの アナログリンクです SKAdNetworkシステムへの 新入力で始める方法では アドネットワークは 以下の事が必要です リンクとリンク識別のための 特有のパーツを作成し 署名付きインプレッションを 提供できるエンドポイントを 先述のように構築した ロケーションに公開し 新しいオプショナルな ソースドメインフィールドを パースおよび理解できるよう ポストバックサーバーを更新します Webページには SKAdNetworkへのリンクを使い アドネットワークの提供した リンクを埋め込みましょう Web広告用の SKAdNetworkの 属性の紹介は以上です この機能が 広告エコシステム中で 幅広く適用されている事を 大変嬉しく思います 次は SKAdNetworkの実装の テスト方法についてです ハイレベルでの SKAdNetworkの対象は インプレッションとポストバックです デベロッパに話を聞くと インプレッションでは 署名とコンフィグレーションが 摩擦点になっています ポストバックの方では テストに適した方法での 検証と受領に 改善が求められています SKAdNetworkでのデベロッパ 体験の改善のために Xcode 13.3では SKAdNetworkの テスト容易性を変更しました StoreKitTest内のフレームワークを テストするユニットで StoreKit実装の様々な部分を テストするのに みなさんの多くが既に 使っているでしょう インプレッションの検証を 見てみましょう SKAdImpressionのインスタンスを 作成し設定します 署名作成に使った プライベートキーと対等の パブリックキーを提供し SKAdTestSessionインスタンスに 検証メソッドを呼び出します これでインプレッションは 検証されて 誤ったものや無効な署名で出た エラーが処分されます もう1つの主要なテスト対象は ポストバックの受領です 2つのステップがあり 1つ目は ポストバックの テストセッションへの追加です SKAdTestPostbackの インスタンスを作成し ポストバックに欲しい値で それを設定します ポストバック URLには 特に注意が必要です ここにポストバックが 送られるためです リモートでもローカルの サーバーでも構いません SKAdTestSessionで setPostbacksメソッドを使い テストセッションに 追加します 2つ目では実際に ポストバックを送り出します SKAdTestSessionで flushPostbacks メソッドを 使うだけでポストバックが 戻ってきます
SKAdTestSessionはポストバックを ポストバック作成時に 指定したサーバーへと ネットワーク経由で送ります 以下が今年後半に追加される SKAdNetworkのテスト容易性です 新たなソース識別 フィールドへのサポート 細やかおよび粗い コンバージョン値のサポート 複数コンバージョンの テストのサポート Xcode 13.3で導入された SKAdNetworkのテスト容易性の 変更についての 簡単な説明は以上です 本日は より多くのデータを 早く得られるようにする 階層型IDとコンバージョン値に ついてお話しました 次に複数コンバージョンで 長期に渡る再エンゲージメントの 計測を可能にします そしてリンク駆動型の属性と SKAdNetworkへの橋を 追加する方法で 同様のプライバシー保護が 可能になります そして最後は Xcodeでの SKAdNetworkのテスト容易性でした 以上で SKAdNetwork 4.0の 説明は終わりになります 最後になりますが デベロッパのみなさんからの フィードバックは我々の 原動力となります ユーザーのプライバシー保護を 第一に考えた みなさんの広告体験について ぜひお聞かせください ご清聴ありがとうございました (軽快な音楽)
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。