Flurry Analyticsコンポーネント
Flurryを使用すると、Androidアプリのメディアの再生に関する詳細を分析できます。Flurry Analytics(英語のみ)による説明を以下に紹介します。
Flurry Analytics SDKは、アプリにおけるユーザーの行動を掘り下げるために必要なツールとリソースを提供します。複雑なイベントに高度な分析をセットアップし、指標、セグメント、ファネルを活用して、ユーザーの行動パターンやパフォーマンスを詳しく追跡することができます。
Flurry Analyticsを構成するには、以下のセクションに従います。
- 手順1:Flurry APIキーを入手する
- 手順2:Flurry Analyticsコンポーネントを構成する
- 手順3:Flurry APIキーを暗号化する
- ログでFlurryを確認する方法
- タグ名のカスタマイズ
手順1:Flurry APIキーを入手する
- Flurry Analytics(英語のみ)でアカウントを作成し、APIキーを入手します。
- Flurry APIキーを、後で参照しやすい場所にコピーします。
手順2:Flurry Analyticsコンポーネントを構成する
-
Flurry Analyticsコンポーネントをアプリに読み込みます。アプリ内のコンポーネントを追加または削除するを参照してください。
アプリにほかの分析コンポーネント(CrashlyticsComponent、OmnitureAnalyticsComponent、ComScoreAnalyticsComponent、LoggerAnalyticsComponentなど)が読み込まれている場合は、すべて削除してください。
注: 読み込むことができるコンポーネントは、インターフェイスごとに1つだけです。たとえば、Flurry AnalyticsコンポーネントとOmniture Analyticsコンポーネントは、どちらも同じIAnalytics
インターフェイスを使用するため、両方を同時に読み込むことはできません。インターフェイスごとのコンポーネント一覧は、コンポーネントの概要を参照してください。 -
FlurryAnalyticsComponent > res > values > custom.xmlに移動し、次の文字列をコピーします。
<string name="encrypted_flurry_api_key">YOUR_ENCRYPTED_FLURRY_API_KEY</string> <string name="flurry_key_1">flurry_random_key_1</string> <string name="flurry_key_2">flurry_random_key_2</string> <string name="flurry_key_3">flurry_random_key_3</string> <string name="flurry_key_4">flurry_random_key_4</string> <string name="flurry_key_5">flurry_random_key_5</string> <string name="flurry_key_6">flurry_random_key_6</string>
-
これらの文字列を、アプリのcustom.xmlファイル(res > values内)に貼り付けます。
ヒント: ベストプラクティスとして、更新を取り入れるときは、常にコンポーネントのXMLファイルからアプリのカスタムcustom.xmlファイルに値をコピーします。そうすることで、アプリのXML値によってコンポーネントのXMLファイルの値が上書きされます。encrypted_flurry_api_key
文字列には、暗号化されたバージョンのFlurry APIキーが保持されます。flurry_key_[#]
文字列は、暗号化の作成に使用されます。
手順3:Flurry APIキーを暗号化する
Flurry APIキーを暗号化する必要があります。
- アプリのcustom.xmlファイル(res > values内)を開きます。
-
flurry_key_[#]
の値のそれぞれに、ランダムな英数字の文字列を入力します。以下に例を示します。<string name="flurry_key_1">flurryblurry8837</string> <string name="flurry_key_2">furryBEAR2999</string> <string name="flurry_key_3">homer2YHfurrybaLL28_sneezun</string> <string name="flurry_key_4">curry88fl@vrczng</string> <string name="flurry_key_5">someFlurryBlurry9911</string> <string name="flurry_key_6">yrrulFbackwardZZ44</string>
- [Android] ビューで、Utils > java > com > amazon > utils > securityフォルダを展開し、ResourceObfuscationStandaloneUtilityクラスを開きます。
-
getRandomStringsForKey()
メソッドに、flurry_key_1
、flurry_key_2
、flurry_key_3
として使用した値をそれぞれ入力します。たとえば、これらの最初の3つのキーが前のコードサンプルに示した値である場合、次のように入力します。
private static String[] getRandomStringsForKey() { return new String[]{ "flurryblurry8837", "furryBEAR2999", "homer2YHfurrybaLL28_sneezun" }; }
この例の値はそれぞれ次のとおりです。
flurryblurry8837
は、flurry_key_1
として使用した値です。furryBEAR2999
は、flurry_key_2
として使用した値です。homer2YHfurrybaLL28_sneezun
は、flurry_key_3
として使用した値です。
-
getRandomStringsForIv()
メソッドに、flurry_key_4
、flurry_key_5
、flurry_key_6
として使用した値をそれぞれ入力します。以下に例を示します。private static String[] getRandomStringsForIv() { return new String[]{ "curry88fl@vrczng", "someFlurryBlurry9911", "yrrulFbackwardZZ44" }; } }
この例の値はそれぞれ次のとおりです。
curry88fl@vrczng
は、flurry_key_4
として使用した値です。someFlurryBlurry9911
は、flurry_key_5
として使用した値です。yrrulFbackwardZZ44
は、flurry_key_6
として使用した値です。
-
getPlainTextToEncrypt()
メソッドで、Encrypt_this_text
の代わりにFlurry APIキーを入力します。private static String getPlainTextToEncrypt() { return "Encrypt_this_text"; }
- ResourceObfuscationStandaloneUtility.javaファイルを右クリックし、[Run 'ResourceObfusc…main()] を選択します。
-
暗号化された結果がコンソールに出力されていることを確認します。これは次のようになります。
Encrypted version of plain text 123456789 is Hgei944983ljdfHoaQ==
-
暗号化されたFlurry APIキーをコピーし、アプリのcustom.xmlファイルに
encrypted_flurry_api_key
文字列の値として貼り付けます。以下に例を示します。<string name="encrypted_flurry_api_key">Hgei944983ljdfHoaQ==</string>
ヒント: ランダムキーは、必要時にすぐに参照できるように、社内のwikiなどの安全な場所に保管してください。これらのキーは、値を復号化するために必要です。
これでFlurry Analyticsがアプリに組み込まれ、イベントに関する情報の送信が始まります。
ログでFlurryを確認する方法
アプリをビルドするとき、logcatに「flurry」という単語でフィルターを適用すると、Flurry Analyticsコンポーネントがイベントでどのようにトリガーされるかを確認できます。
Flurryアナリティクスのダッシュボードにアクティビティデータが読み込まれるまでには数時間かかりますが、イベントログは数分で確認できます。Flurry Analyticsで、[Events] > [Event Logs] の順にクリックします。
タグ名のカスタマイズ
分析タグの名前はカスタマイズできます(タグはアクションや属性の名前です)。名前をカスタマイズすると、関心のあるアクティビティを識別しやすくなります。
すべての分析タグの一覧は、AnalyticsInterface > java > com.amazon.analytics > AnalyticsTags.java
で確認できます。
以下はタグの一例です。
public static final String ACTION_START_APP = "ACTION_START_APP";
ACTION_START_APP
(左側)がタグで、ACTION_START_APP
(右側)は、分析でのそのタグの表示方法です。この例では、どちらも同じになっています。この部分を、よりわかりやすい意味のある名前に変更できます。
タグを独自の名前にカスタマイズするには
- アプリのassets > configurationsディレクトリに移動します。
- このディレクトリに、FlurryCustomAnalyticsTags.jsonという名前のJSONファイルを追加します。
-
カスタマイズするタグを次の形式で追加します。
{ "タグ": "値", "タグ": "値" }
たとえば、
ACTION_START_APP
タグとACTION_SEARCH
タグをカスタマイズするには、これらを次のように追加します。{ "ACTION_START_APP":"アプリの起動", "ACTION_SEARCH": "検索" }
左側の値は、AnalyticsTags.javaの分析タグにマッピングされます。右側の値は、タグの新しい値にマッピングされます。
カスタマイズできないタグを追加すると、タグをカスタマイズできないことを示す警告がログに表示されます。このカスタマイズは無視されます。