前回、Amazon Content Policy Compatibilityにパスできず、non-Amazon devicesでのみの限定リリースとなってしまいましたが、ようやくこれをパスし、Amazon devices(Kindle)でのリリースが完了したので、その方法についてメモします。
これがすべてのcriteriaをパスすると発行されるメールです。
通常のAndroidアプリをKindle向けにカスタマイズする方法
現在Androidアプリを開発しようとすると動作解析のためにFirebaseの設定をいれると思いますが、そうすると内部的にGoogle Cloud Messaging機能を使うようで、これがAmazon devicesでは許可されていません。
そこで、以下に示す箇所をコメントアウトする必要があります。
プロジェクト・レベルの build.gradle
classpath 'com.google.gms.goog;e-services:x.x.x' // この行をコメント・アウト
アプリ・レベルの build.gradle
dependencies {
compile 'com.google.firebase:firebase-core:x,x,x' // この行をコメント・アウト
}
apply plugin: 'com.google.gms.google-services' // この行をコメント・アウト
MainActivity.java
import com.google.firebase.analytics.FirebaseAnalytics; // この行をコメント・アウト
private FirebaseAnalytics mAnalytcis; // この行をコメント・アウト
mAnalytcis = FirebaseAnalytics.getInstance(this); // この行をコメント・アウト
AndroidManifest.xml
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/> <-- この行をコメント・アウト -->
参考:
Amazon Kindle の Google Cloud Message 問題
これを実施した後のテスト結果が以下の通りです。
参考にしたサイトのr2274さんは、AdMobが正常動作するか心配されていますが、AdMobの設定は以下のとおりなので、個人的には問題ないのではと思っています。Firebaseの設定とのかぶりはないと思っています。
アプリレベルの build.gradle
dependencies {
compile 'com.google.firebase:firebase-ads:10.0.1' // この行を追加
}
apply plugin: 'com.google.gms.google-services' // この行を追加
strings.xml
<resources>
<string name="banner_ad_unit_id">ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN</string> // この行を追加
</resources>
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto" // この行を追加
tools:context=".MainActivity">
<com.google.android.gms.ads.AdView // この行を追加
android:id="@+id/adView" // この行を追加
android:layout_width="wrap_content" // この行を追加
android:layout_height="wrap_content" // この行を追加
android:layout_centerHorizontal="true" // この行を追加
android:layout_alignParentBottom="true" // この行を追加
ads:adSize="BANNER" // この行を追加
ads:adUnitId="@string/banner_ad_unit_id"> // この行を追加
</com.google.android.gms.ads.AdView> // この行を追加
</RelativeLayout>
MainActivity.java
public class MainActivity extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(getApplicationContext(), "ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN"); // この行を追加
}
}
以上です。
ただ、私はKindleを持っていないので、本当にKindleでリリースできているか確認することができません。。。どなたか、確認して結果を教えてもらえると助かります(^^;)