開発者コンソール

Fire App Builderのサンプルプロジェクトをカスタマイズする


Fire App Builderのサンプルプロジェクトをカスタマイズする

独自のアプリを作成する最初の手順は、「Application」フォルダをカスタマイズすることです。Applicationフォルダには、Fire App Builderで作成されたサンプルアプリが含まれています。

アプリのカスタマイズ

  1. 左上隅にある [Project] ペイン([Project] ビューではありません)を展開して、ファイルを表示します。[Android] ビューが表示されていることを確認します。特に記載がない限り、このドキュメントでは常に [Android] ビューを使用してファイルの場所を記述しています。

  2. [Project] ペインのフォルダの一覧で、appを展開し、res > values > custom.xmlの順にクリックします。app_name文字列にアプリの名前を入力します。次に例を示します。

    <string translatable="false" name="app_name">Write the Docs Podcast</string>
    

    AndroidManifest.xmlファイル(app > manifests内)は、この編集した文字列からアプリの名前を読み取ります(Androidマニフェスト内でこの文字列を参照するコードはandroid:label="@string/app_name"です。Fire App Builderの大部分はこのようにしてセットアップされます。カスタマイズするコードはXMLファイルに抽出されているため、Javaを直接編集する必要はありません)。 Android Studioでは、すべてのXMLファイルから参照が検索されるため、参照で特定のXMLファイルを指定する必要はありません。アプリのcustom.xmlファイルの文字列により、ほかのXMLファイルの文字列は上書きされます。

    app_nameapp_name_shortの各文字列には、translatable="false"というプロパティがあることに注意してください。つまり、アプリの名前は翻訳されません。

    res > values > stringsフォルダには、アプリがさまざまなロケールに対応できるように、複数のstrings.xmlファイルが用意されています。ロケールがドイツのユーザーがアプリを開くと、(アプリがそのマーケットで使用できる場合は)「strings.xml (de)」ファイルが使用されます。同様に、日本のユーザーがアプリを開くと、「strings.xml (ja)」が使用されます。言語固有の文字列が見つからない場合、アプリはstrings.xmlにフォールバックします。

  3. app_name_short文字列に、アプリの略称を15文字以内で追加します(アプリ名が既に短い場合は、アプリの名前をそのまま使用してください)。

     <string translatable="false" name="app_name_short">WTD Podcast</string>
    

    アプリの略称はおすすめ機能(オプション機能)で使用されます。Fire TVのホーム画面でおすすめが表示される領域には、15文字を超えるアプリ名は表示できません。

  4. アプリのAndroidManifest.xmlファイル(app > manifests内)を開き、パッケージ名を示すpackageの値com.fireappbuilder.android.calypsoを、新しいアプリ名を反映したパッケージ名に更新します。たとえば、アプリの名前が「acmemedia」の場合は、次のように変更します。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.fireappbuilder.android.acmemedia">
    

    Fire App Builderのサンプルアプリのcom.fireappbuilder.android.acmemediaパッケージにはクラスが含まれていませんが、カスタムクラスを追加することで、Fire App Builderの既存の機能を上書きしたり、新しい機能を追加したりできます。

  5. [Android] ビューで、Gradle Scriptsフォルダを展開し、build.gradle (Module: app)ファイルを開きます。パッケージ名に一致するようにapplicationIdプロパティを更新します。次に例を示します。

    defaultConfig {
        applicationId "com.fireappbuilder.android.acmemedia"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 10
        versionName "1.0.7"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    

    以下に例を示します。

    Gradleを今すぐ同期
  6. 同じbuild.gradle (Module: app)ファイルで、versionCodeversionNameを確認します。これらの値はそのままにしておくことができます。ただし、アプリのアップデートを申請する場合は、バージョンを上げる必要があります。これらの2つのコードには以下の違いがあります。

    • versionCodeは、アプリのバージョンの内部ナンバリングスキームです。AmazonアプリストアにアップロードするAPKごとに、一意に増加するversionCodeが必要です。versionCodeの初期値には任意の数値を指定できますが、APKのアップデートを申請するときは、versionCodeの値を大きくする必要があります。詳細については、Androidドキュメントのandroid:versionCodeを参照してください。

    • versionName(文字列)は、ユーザーに表示されるバージョンです。versionCodeと一致している必要はなく、任意の値を使用できます。詳細については、Androidドキュメントのandroid:versionNameを参照してください。

    versionCode要素とversionName要素は、アプリのマニフェストには必要ありません。APKをAmazonアプリストアにアップロードすると、Amazonアプリストアは、これらの情報をAndroidManifest.xmlではなく「build.gradle (Module: app)」ファイルから読み取ります。

  7. Gradle Scriptsフォルダを展開し、gradle.properties (Project Properties)ファイルを開きます。applicationNameをカスタマイズして、アプリ名からスペースを除外した名前に設定します。Android Studioは、この名前をAPKファイル名に使用します(APKファイルは、後でアプリをAmazonアプリストアに申請するための署名付きAPKを作成するときに生成します)。

  8. Gradleファイルを変更すると、Gradleをプロジェクトと同期するように求められます。右上隅にある [Sync Now] リンクをクリックします。

プロジェクトのクリーンアップとビルド

  1. [Build] > [Rebuild Project] の順にクリックします。これにより、以前のアプリのアーティファクトがクリーンアップされ、プロジェクトが再ビルドされます(このプロセスが完了するまでに数分かかる場合があります)。
  2. [Run 'app'] ボタン[Run 'app'] ボタンをクリックして、新しいアプリを実行します。

アプリをビルドできない場合、またはFire TVにインストールできない場合は、もう一度 [Build] > [Rebuild Project] を実行してみてください。また、Fire TVには、同じパッケージ名の2つのアプリを同時にインストールすることはできません。このため、パッケージ名をcom.acme.mediaに更新したとして、Fire TVにある別のアプリが既にこのパッケージ名を使用している場合は(Amazonアプリストアで既に公開した公式アプリがある場合など)、開発中のアプリを(ADB経由で)サイドロードする前に、まず既存のアプリをアンインストールする必要があります(Fire TVで [設定] > [アプリケーション] > [インストール済みアプリケーションを管理] の順に選択します)。

次のステップ

ここでは、Fire App Builderでデフォルトのアプリをビルドしてカスタマイズしました。次は、メディアフィードを読み込んで構成しましょう。メディアフィードを読み込むに進みます。次からの一連の手順は、II: フィードを構成するのプロセスです。