開発者コンソール

comScore分析コンポーネント

comScore分析コンポーネント

 IV: コンポーネントを追加して機能を強化する

comScore(英語のみ)を使用すると、アプリを詳細に分析して、メディアの各再生イベントに関する情報や、広告メッセージの再生に関する詳細などを入手できます。Fire App Builderは、必要なcomScoreコードを統合して、測定データをcomScoreのサーバーに送信します。Fire App Builderで必要な作業は、コンポーネントを有効にして、comScoreのキーを構成することだけです。comScoreのキーのセキュリティを確保するために、Fire App Builderにはキーを暗号化するユーティリティも用意されています。

手順1: comScore分析コンポーネントを構成する

  1. Gradle Scriptsを展開し、settings.gradle(Project Settings)を開きます。
  2. 2か所にある「// Uncomment when using ComScore Analytics」というコメントを検索し、それぞれの下の行のコメントを解除します。最初の出現箇所のコメントを解除すると、次のようになります。

    // Uncomment when using ComScore Analytics
    ':comscore',
    

    2番目の出現箇所のコメントを解除すると、次のようになります。

    // Uncomment when using ComScore Analytics
    project(':comscore').projectDir = new File(rootProject.projectDir, '../ComScoreAnalyticsComponent/libs/comscore')
    
  3. comScore分析コンポーネントをアプリに読み込みます。詳細については、アプリ内のコンポーネントを追加または削除するを参照してください。

    アプリにほかの分析コンポーネント(CrashlyticsComponent、OmnitureAnalyticsComponent、GoogleAnalyticsComponent、LoggerAnalyticsComponentなど)が読み込まれている場合は、すべて削除してください。

  4. [Save] をクリックし、[Resync Project with Gradle Files] ボタンをクリックします。

    不足しているプラットフォームやファイルをインストールするように求められた場合は、プロンプトに従ってインストールします。

  5. ComScoreAnalyticsComponent > res > values > custom.xmlに移動し、resources要素内のタグをコピーします。以下に例を示します。

    <!-- アプリ用の暗号化されたComScoreクライアントトークン。ResourceObfuscationStandaloneUtilityを使用して暗号化します。 -->
    <string name="encrypted_comscore_client_id">encrypted_comscore_client_id</string>
    
    <!-- アプリ用の暗号化されたComScoreアプリID。ResourceObfuscationStandaloneUtilityを使用して暗号化します。 -->
    <string name="encrypted_comscore_publisher_secret">encrypted_comscore_publisher_secret</string>
    
    <!-- ComScoreリソースを暗号化/復号化するためのランダムキーの生成に使用する疑似乱数文字列。
    これらのキーは、ResourceObfuscationStandaloneUtilityで使用されるキーと常に同期している必要があります。 -->
    <string name="comscore_key_1">comscore_key_1</string>
    <string name="comscore_key_2">comscore_key_2</string>
    <string name="comscore_key_3">comscore_key_3</string>
    <string name="comscore_key_4">comscore_key_4</string>
    <string name="comscore_key_5">comscore_key_5</string>
    <string name="comscore_key_6">comscore_key_6</string>
    
  6. コピーしたコンテンツを、アプリのcustom.xmlファイル(resources > values内)に貼り付けます。
  7. 次のセクション(comScoreのキーを暗号化する)の手順に従って、comScoreのクライアントIDとパブリッシャーのシークレットキーの値を暗号化します。これらの値を暗号化したら、encrypted_comscore_client_id要素とencrypted_comscore_publisher_secret要素に入力します。暗号化を行うには、comscore_key_[#]の値に乱数文字列を入力する必要もあります。

手順2:comScoreのキーを暗号化する

このセクションでは、comScoreのクライアントIDとパブリッシャーのシークレットキーの値を暗号化します。その後、暗号化されたキーを、アプリのcustom.xmlファイルのencrypted_comscore_client_id要素とencrypted_comscore_publisher_secret要素に入力します。

  1. comScoreから、クライアントIDとパブリッシャーのシークレットキーを取得します。
  2. アプリのcustom.xmlファイルres > values内)を開きます。
  3. comscore_key_[#]の値のそれぞれに、ランダムな英数字の文字列を入力します。以下に例を示します。

    <string name="comscore_key_1">calypso</string>
    <string name="comscore_key_2">something_random</string>
    <string name="comscore_key_3">more_random_stuff</string>
    <string name="comscore_key_4">dadadadada</string>
    <string name="comscore_key_5">qwertfghyufksld</string>
    <string name="comscore_key_6">myfinalkey</string>
    

    これらの疑似乱数文字列は、Fire App BuilderのResourceObfuscationStandaloneUtilityで、ComScoreリソースを暗号化/復号化するランダムキーを生成するために使用されます。

  4. [Android] ビューで、Utils > java > com > amazon > utils > securityフォルダを展開し、ResourceObfuscationStandaloneUtilityクラスを開きます。
  5. getRandomStringsForKey()メソッドに、comscore_key_1comscore_key_2comscore_key_3として使用した値をそれぞれ入力します。

    たとえば、これらの最初の3つのキーが前のコードサンプルに示した値である場合、次のように入力します。

    private static String[] getRandomStringsForKey() {
    
        return new String[]{
                "calypso",
                "something_random",
                "more_random_stuff"
        };
    }
    

    この例の値はそれぞれ次のとおりです。

    • calypsoは、comscore_key_1として使用した値です。
    • something_randomは、comscore_key_2として使用した値です。
    • more_random_stuffは、comscore_key_3として使用した値です。
  6. getRandomStringsForIv()メソッドに、comscore_key_4comscore_key_5comscore_key_6として使用した値をそれぞれ入力します。以下に例を示します。

        private static String[] getRandomStringsForIv() {
    
            return new String[]{
                    "dadadadada",
                    "qwertfghyufksld",
                    "myfinalkey"
            };
        }
    }
    

    この例の値はそれぞれ次のとおりです。

    • dadadadadaは、comscore_key_4として使用した値です。
    • qwertfghyufksldは、comscore_key_5として使用した値です。
    • myfinalkeyは、comscore_key_6として使用した値です。
  7. getPlainTextToEncrypt()メソッドで、Encrypt_this_textの代わりにcomScoreクライアントIDキーを入力します。

     private static String getPlainTextToEncrypt() {
            return "123456789";
        }
    
  8. ResourceObfuscationStandaloneUtility.javaファイルを右クリックし、[Run 'ResourceObfusc…main()] を選択します。
  9. 暗号化された結果がコンソールに出力されていることを確認します。これは次のようになります。

    Encrypted version of plain text 123456789 is MVfm5qWBdsfkl3i876MaAr0/pB7Pan9ijvQ8MtP3k=
    
  10. 暗号化されたcomScoreクライアントIDキーをコピーし、アプリのcustom.xmlファイルにencrypted_comscore_client_id文字列の値として貼り付けます。以下に例を示します。

    <string name="encrypted_comscore_client_id">Hgei944983ljdfHoaQ==</string>
    
  11. 手順7~10を繰り返します。ただし、今回はcomScoreのクライアントIDではなく、comScoreのパブリッシャーシークレットキーをgetPlainTextToEncrypt()に入力します。暗号化された値を生成したら、アプリのcustom.xmlファイルにencrypted_comscore_publisher_secret文字列の値として貼り付けます。

comScoreがデータを送信していることの確認

comScoreがデータを送信していることを確認するには、次の手順を実行します。

  1. アプリを実行します。
  2. Android Studioの下部にある [Android Monitor] をクリックして、イベントログを開きます。
  3. [Regex] チェックボックスの左にある空のフィールドで、「comscore」という単語でフィルターを適用します。
  4. アプリでビデオを視聴します。

    次のようなイベントデータが送信されます。

    75/com.amazon.android.calypso D/ComScoreAnalytics: Tracking Action: ACTION_AD_START
    06-27 19:09:14.727 31975-31975/com.amazon.android.calypso D/ComScoreAnalytics: Action has the following attributes: {ATTRIBUTE_ADVERTISEMENT_TYPE=postroll, ATTRIBUTE_VIDEO_TYPE=video, ATTRIBUTE_VIDEO_ID=169313, ATTRIBUTE_AD_ID=709684216, ATTRIBUTE_VIDEO_CURRENT_POSITION=86507, ATTRIBUTE_AD_DURATION=10000, ATTRIBUTE_TITLE=Beautiful Whale Tail Uvita Costa Rica}
    06-27 19:09:25.016 31975-31975/com.amazon.android.calypso D/ComScoreAnalytics: Tracking Action: ACTION_AD_COMPLETE
    

    comScoreの分析ダッシュボードにログインすると、これらのイベントがグラフ化されて表示されます。