手前味噌ですがAndroid-Rateというライブラリを使うと、2文でレーティングダイアログが出せます。
インストール
最新版は0.2.0です。
dependencies {
compile 'com.github.hotchemi:android-rate:0.2.0'
}
設定
ダイアログを出したいActivityのonCreate
で下記の様にメソッドチェーンで条件を繋いで行きます。内部ではシングルトンでインスタンスを保持しています。
- インストールからの経過日数
- 起動回数
- 「後で評価する」を押してから再び出すまでの経過日数
- 「後で評価する」を出すか
など細かい条件指定が出来ます。ダイアログのボタン押下時のコールバックリスナーも付けれます。
AppRate.setInstallDays(0) // default 10, 0 means install day.
.setLaunchTimes(3) // default 10
.setRemindInterval(2) // default 1
.setShowNeutralButton(true) // default 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(this);
設定したら呼びたいタイミングで以下のメソッドを呼び出して下さい。
AppRate.showRateDialogIfMeetsConditions(this);
イベントトラッキング
また、特定のイベントの通過回数をトラッキングする事もできます。
上で説明した条件設定とは独立して動作しますのでご注意下さい.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppRate.setEventTimes(2).monitor(this);// Event通過回数が3回以上でダイアログを出現させる
}
@Override
public void onClick() {
AppRate.passSignificantEvent(this); // イベント回数をモニタリングする。この場合だと3回めを通過した時にダイアログを出す
}
更に細かい使い方はこちらをお読み下さい