StoreKit API(iOS 10.3以降)
iOS 10.3以降、StoreKit APIは、アプリを離れることなくAppStoreでレビューをリクエストする方法を提供します。呼び出されると、システムはレビューを要求するアラートをユーザーに提示する場合があります。ユーザーは、アラート内で直接星評価を提供したり、レビューを書き続けたり、アラートを却下したりできます。StoreKitはほぼすべてを処理します。レビューリクエストを提示するには、アプリ内で適切な場所で次の電話をかけます。
// Objective-C
[SKStoreReviewController requestReview]
// Swift
SKStoreReviewController.requestReview()
Appleの指示に従って、アラートが常に表示されるとは限らないため、ユーザーとの直接のやり取り(つまり、「レビューを書く」というボタンをタップする)に応じてこれらを呼び出すことはできません。実際、アラートは365日ごとに3回しか表示されない場合があります。
重要な注意:これはかなり単純に見えますが、プロンプトの間隔を空けるために、何らかのロジックを作成する必要があります。たとえば、X回の起動、日数、または重要なイベントの後にのみプロンプトを表示します。
これを怠り、レビュープロンプトをどこかに貼り付けるだけの場合(viewDidAppear
たとえば、電話)、ユーザーはそれを非常にすばやく繰り返し表示するため、かなりイライラします。次に、悪いレビューを残すか(イライラしているため)、1年間再度レビューするように求められません。
以下は、アラートがどのように表示されるかの例です。詳細については、Appleのドキュメントを参照してください。

iRate(iOS 7.0以降)
アプリが10.3より前のバージョンのiOSで実行されている場合、またはユーザーからの評価の要求をより堅牢に制御する必要がある場合は、iRateが優れたソリューションです。
iOS 10.3以降を搭載したデバイスの場合、iRateは前述のStoreKitAPIを使用します。iOS 7.0から10.2を実行しているデバイスの場合、iRateはuialertviewとstorekitを使用して、ユーザーに評価を求めます(または後で通知します)。[キャンセル]ボタンのタイトルから、ユーザーに通知する間隔まで、すべてをカスタマイズできます。
デフォルトでは、特定の要件が満たされるとiRateが自動的に開きます(たとえば、アプリがX回起動され、ユーザーがXレベルを通過した)が、さまざまなメソッドと独自のロジック(iRateメソッドを使用)を使用してiRateポップアップを手動で表示します。
設定
インストールするには、ヘッダーファイル、実装ファイル、および.bundle
(ローカリゼーション用)をプロジェクトにドラッグするだけです。
- AppDelegateにヘッダーをインポートします。
#import "iRate.h"
- StoreKitフレームワークをプロジェクトに追加します-AppleDocumentationのStoreKitの詳細
application: didFinishLaunchingWithOptions:
メソッドで、次のように設定します 。
// Configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
プロパティ
以下のプロパティは、テスト目的に役立ちます。テスト中にに設定してYES
、ダイアログが正しく表示されることを確認します。これに設定するYES
と、他の表示設定を無視して、起動時にすぐに表示されます。NO
アプリのリリースバージョンでは、これをに設定します。
[iRate sharedInstance].previewMode = NO;
このappStoreID
プロパティを使用すると、アプリのIDを設定できます。これは、同じバンドル識別子を持つMacアプリとiOSアプリの両方がある場合にのみ必要です。ここで設定するアプリIDは、XcodeおよびiTunesConnectで設定されているバンドルIDとも一致する必要があります。
[iRate sharedInstance].appStoreID = 555555555;
詳細については、iRateGitHubページをご覧ください。