Appiraterを使ってアプリのレビュー誘導をする

AppirateriOS4.0以降で動作するApp Storeへのレビュー誘導を促すOSSです。導入手順も簡単なのでカスタマイズ方法と合わせて紹介したいと思います。ライセンスはMITライセンスです。
f:id:murapong:20120319170427p:image

導入手順

  1. Appiraterをプロジェクトに追加する
  2. CFNetwork.frameworkとSystemConfiguration.frameworkをプロジェクトに追加する
  3. AppDelegateのapplication:didFinishLaunchingWithOptions:で[Appirater appLaunched:YES]を実行する
  4. AppDelegateのapplicationWillEnterForeground:で[Appirater appEnteredForeground:YES]を実行する
  5. 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にするとアラートが毎回表示されるようになります。メッセージやリンクの確認時に便利です。