Appiraterを使ってアプリのレビュー誘導をする
AppiraterはiOS4.0以降で動作するApp Storeへのレビュー誘導を促すOSSです。導入手順も簡単なのでカスタマイズ方法と合わせて紹介したいと思います。ライセンスはMITライセンスです。
導入手順
- Appiraterをプロジェクトに追加する
- CFNetwork.frameworkとSystemConfiguration.frameworkをプロジェクトに追加する
- AppDelegateのapplication:didFinishLaunchingWithOptions:で[Appirater appLaunched:YES]を実行する
- AppDelegateのapplicationWillEnterForeground:で[Appirater appEnteredForeground:YES]を実行する
- Appirater.hのAPPIRATER_APP_IDを自分のアプリのApple IDに変更する
カスタマイズ
Appirater.h内の定数を変更することでカスタマイズができます。いくつか解説しておきます。
#define APPIRATER_APP_ID 301377083
アプリのApple IDです。必ず対象のアプリのものに変更してください。
#define APPIRATER_APP_NAME [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey]
アプリ名です。都合が悪い場合は、以下のようにCFBundleDisplayNameを指定してもいいです。
#define APPIRATER_APP_NAME [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]
#define APPIRATER_DAYS_UNTIL_PROMPT 30 // double
同じバージョンのアプリを使い始めてから何日経過したらアラートを表示するかを指定します。デフォルトは30日です。
#define APPIRATER_USES_UNTIL_PROMPT 20 // integer
同じバージョンのアプリを何回起動したらアラートを表示するかを指定します。デフォルトだと20回です。ここでいう起動というのはアプリ起動時に加えて、フォアグランドに入ったときも含まれます。
#define APPIRATER_SIG_EVENTS_UNTIL_PROMPT -1 // integer
経過日、起動回数の条件に加えて何か特別な事(ex.ゲームのレベルアップやボス攻略など)をしてくれたユーザに対してアラートを表示することも可能です。-1に設定されているとこの機能は無効となります。条件クリアの回数を指定してください。また、条件をクリアした任意の箇所で [Appirater userDidSignificantEvent:YES]を実行してください。
#define APPIRATER_TIME_BEFORE_REMINDING 1 // double
「後で見る」を選択したときのリマインド間隔(日)を指定します。デフォルトは1日です。
#define APPIRATER_DEBUG NO
YESにするとアラートが毎回表示されるようになります。メッセージやリンクの確認時に便利です。