さまよえる、Android

Androidのプログラミングで便利なことや残しておきたいことを残しておく。もしオススメのライブラリがあったら教えてくださいね。

Androidのレーティング系ライブラリ、Android-Rateを使ってみた。

github.com

https://camo.githubusercontent.com/8e6f04b5f3471f2663698b50f95e00832f9d7838/687474703a2f2f692e6779617a6f2e636f6d2f32383633343262613231356135313566326634343361376365393936636339322e676966

評価は重要

アプリをリリースして時間が経つと、Google Playの検索からのDL数はどんどん下がります。検索順位を上げるにはレビューでいい評価をしてもらわないと、DL数は伸びません。基本的に、レビューしてくれるユーザーは、強制終了など不具合を書き込んでくれる人が多いので、悪い評価で埋まってしまいます。アプリを起動した回数が多い人であれば、その人は高評価してくれる確率が高いでので、起動した回数を元に、ヘビーユーザーさんへ、レビューを促すライブラリ、Android-Rateを使ってみました。いざ自分で実装するとなると、時間がかかります。サクッと実装できるのでオススメです。良い評価は検索順位を上げてくれるはずです。

いつもの

  compile 'com.github.hotchemi:android-rate:1.0.0'

問題は、初期化処理をどこに書けばいいのか。アプリを起動した回数を元に、レーティングアラートを表示させたいので、MainActivityで初期化すると、別画面から戻ってきた時にカウントされてしまいます。アプリ起動時に1度だけ確実に呼ばれる処理を書くには、独自のApplicationクラスを作成しないといけない。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="パッケージ名" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:name=".MyApplication" <= ここにファイル名を指定する。
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

MyApplication.java

import android.app.Application;
import android.util.Log;

import hotchemi.android.rate.AppRate;
import hotchemi.android.rate.OnClickButtonListener;

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        AppRate.with(getApplicationContext())
                .setInstallDays(0) // default 10, 0 means install day.
                .setLaunchTimes(1) // 起動した回数を指定することで、レーティングアラートを表示する。
                .setRemindInterval(2) // あとで評価するボタンが押された時に、指定した日数後に、もう一度表示。
                .setShowLaterButton(true) // あとで評価するボタンを表示させる場合は、true
                .setDebug(false) // default false
                .setOnClickButtonListener(new OnClickButtonListener() { // callback listener.
                    @Override
                    public void onClickButton(int which) {
                        Log.d(MainActivity.class.getName(), Integer.toString(which));
                    }
                })
                .monitor();
    }
}

setInstallDays(日数)

起動した回数のカウントを、いつから始めるのか日数を設定できる。
0はインストール初日になるらしい。

setLaunchTimes(起動した回数)

起動した回数を指定し、その回数が到来したら、アラートを表示させる。
アラートを表示するための起動数を指定する。

setShowLaterButton(true / false)

今は評価せず、あとで評価するボタンを表示するオプション

setRemindInterval(日数)

あとで評価するボタンを押してから、何日後に表示するか指定する

MainActivityでレーティングのアラートを表示する

AppRate.showRateDialogIfMeetsConditions(this);

ガンガン組み込んでレビューを増やしましょう!