2014年2月13日木曜日

iOS7 レビューサイトへ飛ばす

English is here アプリをリリースしたら, やはりレビューをかいてもらいたいのでなんとかして書いてもらえるように, レビューサイトへ誘導したい iOS6までは,

iOS7は?

iOSでレビューサイトへ行くというのは, App Storeのレビューの部分へ行くということです どうやらiOS7から, レビューの部分に誘導するURIがなくなったようです ですので明確な回答を得られていません.

それでもなんとかしたい

明確な回答ではありませんが, アプリのページまでは誘導できるようです. ここからユーザにレビューまで行っていただかなければなりません App StoreアプリをHackできればよいのですが...

ライブラリを利用

Appiraterというライブラリがあります. GitHub このライブラリを組み込めば簡単にレビューサイトへの誘導を実装できます

どのように実現するか?

アイディアとしては以下のとおりです
  • SKStoreProductViewControllerでアプリ内にApp Store的な機能を入れる
  • UIApplication openURLでApp Storeアプリを起動する
SKStoreProductViewControllerを使うやり方には罠があります これは, アプリ内で, App Storeめいたことをするわけですが, レビュー機能がOffになっています オプションで変更できると思いきやできません

Appiraterの使い方

SDKをダウンロードしてきて解凍します. 中にある, Appirater.h, Appirater.m, AppiraterDelegate.hと,必要な言語ファイル xxx.lproj をプロジェクトにコピーします コードはGitHubを見た方が簡単です. デバッグモードの設定などパラメータに気をつける必要があります
[Appirater setAppId:@"YOUR_ITUNES_APP_ID"];
[Appirater setDaysUntilPrompt:7];
[Appirater setUsesUntilPrompt:5];
[Appirater setSignificantEventsUntilPrompt:-1];
[Appirater setTimeBeforeReminding:2];    // Days after selecting later
[Appirater setDebug:NO];                // Debug mode production should be NO
[Appirater appLaunched:YES];            // Launch when starting application

コードサンプル SKStoreProductViewController

SKStoreProductViewControllerを使ってよりシンプルに実装する場合
NSNumber *appId = [NSNumber numberWithInteger:YOUR_ITUNES_APP_ID]
SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];
[storeViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:appId} completionBlock:nil];
storeViewController.delegate = self;  // SKStoreProductViewControllerDelegate
[self presentViewController:storeViewController animated:YES completion:^{
    // Open store view controller complete event  
}];

UIApplicationを利用した場合

NSString *templateReviewURLiOS7 = @"itms-apps://itunes.apple.com/app/idAPP_ID";
NSString *reviewURL = [templateReviewURLiOS7 stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%@", @"YOUR_APP_ID"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:reviewURL]];
YOUR_ITUNES_APP_ID は, iTunes 上でのアプリのIDです

0 件のコメント:

コメントを投稿