将来の更新やバグ修正は受け取りません。使用している場合は、別のソリューションに移行してください。
Irateは、ユーザーが数日間使用した後にアプリを評価するように求めることにより、iPhoneおよびMac App Storeアプリを宣伝するのに役立つライブラリです。このアプローチは、通常のユーザーのみをターゲットにすることにより、肯定的なアプリのレビューを取得するための最良の方法の1つです(おそらくアプリが好きか、それを使用し続けないでしょう!)。
注:「サポート」とは、ライブラリがこのバージョンでテストされていることを意味します。 「互換性」とは、ライブラリがこのOSバージョンで動作する必要があることを意味します(つまり、利用できないSDK機能に依存していません)が、互換性についてテストされなくなり、正しく実行するには調整またはバグ修正が必要になる場合があります。
バージョン1.7の時点で、irateにはアークが必要です。非ARCプロジェクトでiRateを使用する場合は、-fobjc-arcコンパイラフラグをirate.mクラスに追加するだけです。これを行うには、ターゲット設定の[ビルドフェーズ]タブに移動し、コンパイルソースグループを開き、リストにirate.mをダブルクリックし、-fobjc-arcをポップオーバーに入力します。
プロジェクト全体をARCに変換する場合は、iRate.mの#Errorラインにコメントしてから、編集>リファクタリング>を実行してxcodeのツールに変換し、必要なすべてのファイルを確認してください(irate.mを含む)にarcを使用します。
iRateはUIのブロックを避けるために内部的にスレッドを使用しますが、弾力性のある外部インターフェイスはスレッドセーフではなく、メインスレッドを除いてメソッドを呼び出したり、irateのプロパティを設定したりしないでください。
iRateをアプリにインストールするには、irate.h、.m、および.bundleファイルをプロジェクトにドラッグします。ローカライズされたテキストに興味がない場合は、.bundleを省略できます。
iRateは通常、構成をまったく必要とせず、アプリケーションのバンドルIDを使用してアプリIDをApp Storeで調べるだけで自動的に実行されます。
注: MacとiOSアプリの両方のストアに一致するバンドルIDを備えたアプリがある場合(異なる資本化を使用している場合でも)、ルックアップメカニズムは機能しません。アプリを設定した後にiTunes Connectにある数字ID。また、Sandboxed Macアプリを作成していて、アプリがネットワークアクセス許可を要求しない場合は、iTunesサービスから取得できないため、AppStoreIDを設定する必要があります。
iRateをカスタマイズしたい場合、これを行うのに最適な時期は、appdelegateの-[application:didFinishLaunchingWithOptions:]
メソッドにあります。プロンプトがすでにその時点までに示されている可能性があるため、構成を後で適用することは機能しない可能性があります。
#import "iRate.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
return YES;
}
irateを構成するために、激しいクラスの多くの特性があり、激怒の行動と外観を変えることができます。これらはほとんど自己説明である必要がありますが、以下に文書化されています。
@property (nonatomic, assign) NSUInteger appStoreID;
これは、アプリケーションのiTunesアプリIDと一致するはずです。これは、アプリをセットアップした後にiTunes Connectから入手できます。この値は通常必要ではなく、一般に、MacおよびiOSアプリのバンドルID間に前述の競合がある場合、またはサンドボックス化されたMacアプリの場合、アプリにネットワーク許可がない場合にのみ必要です。 iTunesサービスを使用して、AppStoreIDを自動的に取得できます。
@property (nonatomic, assign) NSUInteger appStoreGenreID;
これは、評価ダイアログのデフォルトテキストを決定するために使用されるアプリのタイプです。これは、iTunesサービスを呼び出すことで自動的に設定されるため、ほとんどの目的で手動で設定する必要はありません。この値をオーバーライドしたい場合、 iRateAppStoreGameGenreID
定数に設定すると、Irateが評価ダイアログの「ゲーム」バージョンを使用し、他の値に設定すると、評価ダイアログの「アプリ」バージョンが使用されます。
@property (nonatomic, copy) NSString *appStoreCountry;
これは、チェックするiTunesストアを指定するために使用される2文字の国コードです。デバイスのロケール設定から自動的に設定されるため、ほとんどの場合、変更する必要はありません。これをオーバーライドして、米国の店舗、または必要に応じて別の特定の店舗を指すことができます。これは、アプリが特定の国でのみ利用可能である場合に適している場合があります。
@property (nonatomic, copy) NSString *applicationName;
これは、怒りのアラートに表示されるアプリの名前です。アプリケーションのinfo.plistから自動的に設定されますが、短いバージョンまたは長いバージョンでオーバーライドすることをお勧めします。
@property (nonatomic, copy) NSString *applicationBundleID;
これは、iTunesからappStoreID
とappStoreGenreID
取得するために使用されるアプリケーションバンドルIDです。これは、アプリのinfo.plistから自動的に設定されるため、テスト目的を除いて変更する必要はありません。
@property (nonatomic, assign) float daysUntilPrompt;
これは、ユーザーがアプリを評価する前にアプリをインストールしていた必要がある日数です。時間は、アプリが初めて起動されたときから測定されます。これは浮動小数点値であるため、分数日数(0.5)を指定するために使用できます。デフォルト値は10日です。
@property (nonatomic, assign) NSUInteger usesUntilPrompt;
これは、ユーザーがアプリを評価するように求められる前に、ユーザーがアプリを起動する必要がある最小回数です。これにより、ユーザーがアプリを1回実行し、数週間見ていないシナリオが回避され、その後再度起動しますが、すぐに評価するように求められます。最小使用カウントにより、頻繁なユーザーのみがプロンプトされることが保証されます。プロンプトは、指定された日数と使用に達した後にのみ表示されます。これはデフォルトで10個の使用です。
@property (nonatomic, assign) NSUInteger eventsUntilPrompt;
一部のアプリの場合、起動は使用方法の良いメトリックではありません。たとえば、アプリは絶えず実行されるデーモン、またはユーザーが特定のレベルに達するまで情報に基づいたレビューを作成できないゲームである可能性があります。この場合、重要なイベントを手動でログに記録し、これらのイベントの所定の数の後にプロンプトを表示できます。 uousuntilpromptの設定と同様に、プロンプトは指定された日数とイベントの後にのみ表示されますが、1日のしきい値に達すると、イベントのしきい値または使用しきい値に達するとプロンプトが表示されます。これにより、10のイベントがデフォルトです。
@property (nonatomic, assign) float usesPerWeekForPrompt;
アプリの合計回数にあまり関心がないが、アプリが使用される時間の頻度を使用することを好む場合は、ユーザーが起動しなければならない回数の最小しきい値を設定するために、 usesPerWeekForPrompt
プロパティを使用できますプロンプトが表示されるプロンプトのアプリ(平均して)。これはアプリがインストールされてから平均であるため、ユーザーがアプリを実行せずに長期間行った場合、平均を廃止する可能性があることに注意してください。デフォルト値はゼロです。
@property (nonatomic, assign) float remindPeriod;
ユーザーが「後で思い出させる」オプション(日数で測定)を選択した後、ユーザーが評価するようにリマートする前に、アプリがどれくらい待つ必要がありますか。ゼロの値は、アプリがユーザーに次の起動を思い出させることを意味します。この値は他の基準に取って代わるため、その間、新しいバージョンがリリースされたとしても、リマインダー期間中にアプリは評価を求めないことに注意してください。これはデフォルトで1日です。
@property (nonatomic, copy) NSString *messageTitle;
評価プロンプトのために表示されたタイトル。タイトルを表示したくない場合は、これを@""
に設定します。
@property (nonatomic, copy) NSString *message;
評価プロンプトメッセージ。これは礼儀正しくて礼儀正しいはずですが、あまり言葉ではありません。メッセージを表示したくない場合は、これを@""
に設定します。
@property (nonatomic, copy) NSString *updateMessage;
これは、以前にアプリを評価したユーザーに使用されるメッセージであり、再評価を奨励しています。これにより、これらのユーザー向けのメッセージをカスタマイズできます。このケースにカスタムメッセージを提供しない場合、標準メッセージが使用されます。
@property (nonatomic, copy) NSString *cancelButtonLabel;
ボタンのボタンラベルは、アプリを評価せずに評価プロンプトを却下します。
@property (nonatomic, copy) NSString *rateButtonLabel;
ユーザーがアプリを評価したい場合、ボタンのボタンラベルを押します。
@property (nonatomic, copy) NSString *remindButtonLabel;
ユーザーがアプリをすぐに評価したくない場合、ボタンのボタンラベルが押しますが、将来的には思い出させたいと思います。これを@""
に設定します。RemindMeボタンを表示したくない場合は、画面にスペースがない場合。
@property (nonatomic, assign) BOOL useAllAvailableLanguages;
デフォルトでは、IRATEは、ローカリゼーションをサポートしていないアプリで使用されていても、Irate.bundleで利用可能なすべての言語を使用します。アプリケーションがすでにサポートしているのと同じ言語のセットのみを使用するように、iRateを制限したい場合は、このプロパティをNOに設定します。 (デフォルトはyesになります)。
@property (nonatomic, assign) BOOL promptForNewVersionIfUserRated;
iTunesの評価はバージョン固有であるため、ユーザーにアプリの新しいバージョンごとに評価することが理想的です。アプリを本当に愛するユーザーは、新しいリリースのレビューを喜んで更新することをいとわない場合があります。 YES
にset promptForNewVersionIfUserRated
がset set set forted reateは、アプリのレートを拒否するまで更新をインストールするたびにユーザーを再度促します。彼らが衰退した場合、彼らは二度と尋ねられません。
@property (nonatomic, assign) BOOL onlyPromptIfLatestVersion;
ユーザーがアプリの最新バージョンを実行していない場合でも、これをNOに設定します。これは、ユーザーがすでに修正したバグなどのために悪いレビューを残さないため、デフォルトです。
@property (nonatomic, assign) BOOL onlyPromptIfMainWindowIsAvailable;
この設定は、Mac OSのみに適用できます。デフォルトでは、Mac OSでは、メインウィンドウのシートとしてiRateアラートが表示されます。一部のアプリケーションにはメインウィンドウがないため、このアプローチは機能しません。このようなアプリケーションの場合、このプロパティをNOに設定して、通常のモーダルウィンドウとしてiRateアラートを表示できるようにします。
@property (nonatomic, assign) BOOL promptAtLaunch;
これをNOに設定して、アプリケーションがバックグラウンドから起動または返されるときに自動的に表示される評価プロンプトを無効にします。評価基準は引き続き追跡されますが、この設定が有効になっている間、プロンプトは自動的に表示されません。評価プロンプトの表示を手動で制御する場合は、このオプションを使用できます。
@property (nonatomic, assign) BOOL verboseLogging;
このオプションにより、迅速な決定プロセスに関する詳細なログがコンソールに詳細なログを送信します。あなたのアプリがそれを期待するときに評価を正しく求めていない場合、これはあなたがその理由を理解するのに役立ちます。詳細ロギングは、デバッグビルドでデフォルトで有効になり、リリースおよび展開ビルドで無効になります。
@property (nonatomic, assign) BOOL previewMode;
はいに設定されている場合、IRATEは、アプリが使用されている期間や最新バージョンであるかどうかにかかわらず、常に起動時に評価プロンプトを表示します( promptAtLaunch
オプションを明示的に無効にしていない限り)。これを使用してメッセージを校正し、テスト中に構成が正しいことを確認しますが、最終リリースのためにそれを無効にします(デフォルトはno)。
@property (nonatomic, assign) BOOL useUIAlertControllerIfAvailable;
デフォルトでは、IRATEはiOSでUIALERTVIEWを使用して評価プロンプトを表示します。 uialertviewはiOS8で非推奨され、uialertcontrollerに置き換えられました。残念ながら、uialertviewとは異なり、Uialertcontrollerとアラートを提示すると、アプリが他のコントローラーを表示する能力が妨げられ、Irateがアプリの生涯の任意の時点でアラートを理論的に表示できるため、別のView Controllersを提示しようとするアプリと衝突する可能性があります。 。このため、uialertcontrollerの使用はデフォルトで無効になります。アプリロジックと衝突しないことを確認している場合にのみ、このプロパティを「はい」に設定する必要があります(たとえば、自動評価プロンプトを無効にした場合、またはアプリがモーダルビューコントローラーを使用していない場合)。
@property (nonatomic, assign) BOOL useSKStoreReviewControllerIfAvailable;
デフォルトでは、IrateはSkstorereViewControllerを使用して、iOS 10.3以降のレビューをリクエストします。これを無効にするには、 useSKStoreReviewControllerIfAvailable
NO
に設定します。
デフォルトのirate動作が要件を満たしていない場合、高度なプロパティ、方法、および委任を使用して、独自の要件を実装できます。以下のプロパティでは、内部状態にアクセスしてオーバーライドできます。
@property (nonatomic, strong) NSURL *ratingsURL;
アプリがアプリの評価を記述できるように、アプリがユーザーに指示するというURL。これは、特定のプラットフォームの正しい値に自動的に設定されます。 iOS 6以下では、ユーザーを評価ページに直接連れて行きますが、iOS 7とMac OSでユーザーをメインアプリページに連れて行きます(これらのプラットフォームの評価ページに直接リンクする方法がある場合は、まだそれを見つけるために)。独自の評価プロンプトを実装している場合は、Mac App Storeを開くプロセスはURLを開くよりも複雑であるため、特にMac OSでは、 openRatingsPageInAppStore
メソッドを使用する必要があります。
@property (nonatomic, strong) NSDate *firstUsed;
ユーザーがアプリの現在のバージョンを起動した最初の日付。これは、DaysuntilPromptの基準が満たされているかどうかを計算するために使用されます。
@property (nonatomic, strong) NSDate *lastReminded;
ユーザーが最後にアプリを評価するように思い出させるように要求した日付。
@property (nonatomic, assign) NSUInteger usesCount;
アプリの現在のバージョンの回数が使用されています(起動)。
@property (nonatomic, assign) NSUInteger eventCount;
現在のバージョンがインストールされてから記録されている重要なアプリケーションイベントの数。これは、Logeventメソッドによって増加しますが、直接操作することもできます。イベントデモをチェックして、このOSの使用方法を確認してください。
@property (nonatomic, readonly) float usesPerWeek;
アプリの現在のバージョンが使用されている(起動)された週平均回数。
@property (nonatomic, assign) BOOL declinedThisVersion;
このフラグは、ユーザーが現在のバージョン(はい)の評価を拒否したかどうかを示します(いいえ)。これは現在、激しいプロンプトロジックでは使用されていませんが、独自のロジックを実装するのに役立つ場合があります。
@property (nonatomic, assign) BOOL declinedAnyVersion;
このフラグは、ユーザーが以前のバージョンのアプリ(はい)の評価を拒否したかどうかを示します(いいえ)(いいえ)。 iRateは、これがYESに設定されている場合、ユーザーに自動的に促されません。
@property (nonatomic, assign) BOOL ratedThisVersion;
このフラグは、ユーザーが現在のバージョン(はい)を既に評価しているかどうかを示します(いいえ)。
@property (nonatomic, readonly) BOOL ratedAnyVersion;
このフラグは、ユーザーが以前にアプリのバージョンを評価したか(はい)か(いいえ)(いいえ)かどうかを示します。
@property (nonatomic, assign) id<iRateDelegate> delegate;
以下に文書化するiRateDelegate
プロトコルを実装するオブジェクトを提供しました。これを使用して、Irateのデフォルト動作を検出および/またはオーバーライドします。これはデフォルトでアプリデリゲートになるため、App DelegateをIrate Delegateとして使用している場合、このプロパティを設定する必要はありません。
構成に加えて、iRateには次の方法があります。
- (BOOL)shouldPromptForRating;
迅速な基準が満たされている場合、はいを返します。これを使用して、アプリの起動時に自動ディスプレイを無効にした場合、いつ評価プロンプトを表示するかを決定できます。このメソッドを呼び出すと、 iRateShouldPromptForRating
Delegateメソッドとは呼ばれません。
- (void)promptForRating;
このメソッドは、App Storeが利用可能であることを確認せずに、およびIratesHouldPromptRomporating Delegateメソッドを呼び出すことなく、すぐに評価プロンプトをトリガーします。このメソッドは、iTunesサーバーのポーリング後にのみ取得されるappStoreID
およびapplicationGenre
プロパティに依存するため、このメソッドを直接呼び出す場合は、これらのプロパティを事前に設定するか、代わりにpromptIfNetworkAvailable
メソッドを使用する必要があります。
- (void)promptIfNetworkAvailable;
このメソッドは、App Storeが利用可能かどうかを確認し、その場合はユーザーに評価プロンプトを表示します。 Alertが表示される前に、IratesHouldPromptRomproRating Delegateメソッドが呼び出されるため、インターセプトできます。アプリがサンドボックス化されていてネットワークアクセス許可がない場合、この方法ではネットワークの可用性ステータスは無視されますが、この場合、 appStoreID
またはIRATEを手動で設定する必要があることに注意してください。
- (void)promptIfAllCriteriaMet;
このメソッドは、すべてのプロンプト基準が満たされているかどうか、App Storeが利用可能かどうか、およびそれがユーザーに評価プロンプトを表示するかどうかを確認します。 Alertが表示される前に、IratesHouldPromptRomproRating Delegateメソッドが呼び出されるため、インターセプトできます。
- (void)openRatingsPageInAppStore;
この方法は、ユーザーアラートをスキップし、MacまたはiPhone App Storeでアプリケーション評価ページを開きます。この方法では、マシンにネットワークアクセスがあること、またはApp Storeが利用可能であることを確認するためのチェックを実行しません。また、 -iRateShouldOpenAppStore
Delegateメソッドを呼び出しません。 App Storeを起動するプロセスは、多くの場合にURLを開くよりも複雑であるため、この方法はRatingurlプロパティの代わりに評価ページを開く必要があります。この方法は、iTunesサーバーに投票した後にのみ取得されるappStoreID
に依存することに注意してください。最初に更新チェックを行わずにこのメソッドを呼び出す場合、 appStoreID
プロパティを事前に設定する必要があるか、メソッドがネットワーク呼び出しを行うのに時間がかかるか、完全に失敗する可能性があります。成功すると、この方法は-iRateDidOpenAppStore
Delegateメソッドを呼び出します。障害時に、 -iRateCouldNotConnectToAppStore:
Delegate Methodを呼び出します。
- (void)logEvent:(BOOL)deferPrompt;
この方法は、アプリのどこからでも(IRATEが設定された後)から呼び出され、IRATEの重要なイベントカウントを増加させることができます。事前定義された数のイベントに達すると、評価プロンプトが表示されます。オプションのDeferPromptパラメーターを使用して、プロンプトがすぐに表示されるかどうか(no)が表示されるか、アプリが次の起動まで待機するか(はい)かどうかを判断します。
- (void)remindLater;
この方法は、リマインダー期間をリセットします。
iratedelegateプロトコルは、使用できる以下の方法を挿入し、デフォルトの動作をオーバーライドすることができる次の方法を提供します。すべての方法はオプションです。
- (void)iRateCouldNotConnectToAppStore:(NSError *)error;
通常、ネットワーク接続がダウンしているため、iRateがApp Storeに接続できない場合、この方法は呼び出されます。これは、サンドボックスの許可のためにアプリがネットワークにアクセスできない場合に発火する可能性があります。その場合、iRateがまだ機能できるようにAppStoreIDを手動で設定する必要があります。
- (void)iRateDidDetectAppUpdate;
この方法は、Irateが最後に起動されてからアプリケーションが更新されたことを検出した場合に呼び出されます。
- (BOOL)iRateShouldPromptForRating;
この方法は、評価プロンプトがユーザーに表示される直前に呼び出されます。この方法を使用して、標準ルールに加えてカスタムプロンプトロジックを実装できます。また、この方法を使用して、標準のプロンプトアラートをブロックして、レーティングプロンプトを別の方法で表示したり、完全にバイパスすることもできます。
- (void)iRateDidPromptForRating;
この方法は、評価プロンプトが表示される直前に呼び出されます。これは、分析を使用してプロンプトを表示してからApp Storeにアクセスするユーザーの割合を追跡する場合に役立ちます。これは、いつ/どのようにプロンプトを表示するかについての状況を微調整するのに役立ちます。
- (void)iRateUserDidAttemptToRateApp;
これは、ユーザーが評価プロンプトのレートボタンを押したときに呼び出されます。これは、ユーザーとのインタラクションをiRateとログに記録する場合に役立ちます。このメソッドは、標準のiRateアラートビュープロンプトを使用している場合にのみ呼び出され、カスタム評価の実装を提供するか、 openRatingsPageInAppStore
メソッドを直接呼び出す場合は自動的に呼び出されません。
- (void)iRateUserDidDeclineToRateApp;
これは、ユーザーがアプリの評価を拒否したときに呼び出されます。これは、ユーザーとのインタラクションをiRateとログに記録する場合に役立ちます。このメソッドは、標準のiRateアラートビュープロンプトを使用している場合にのみ呼び出され、カスタム評価の実装を提供する場合は自動的に呼び出されません。
- (void)iRateUserDidRequestReminderToRateApp;
これは、ユーザーがアプリを評価するように思い出させるように求めたときに呼び出されます。これは、ユーザーとのインタラクションをiRateとログに記録する場合に役立ちます。このメソッドは、標準のiRateアラートビュープロンプトを使用している場合にのみ呼び出され、カスタム評価の実装を提供する場合は自動的に呼び出されません。
- (BOOL)iRateShouldOpenAppStore;
この方法は、IrateがApp Storeを開こうとする直前に呼び出されます。独自の評価ページ表示ロジックを実装する場合は、NOを返します。
- (void)iRateDidOpenAppStore;
この方法は、IrateがApp Storeを開いた直後に呼び出されます。
iRateのデフォルトの文字列は、すでに多くの言語に対してローカライズされています。デフォルトでは、Irateは、ローカライズされていない、またはIrateがサポートする言語のサブセットにのみローカライズされているアプリでも、Irate.bundleのすべてのローカリゼーションを使用します。 irate文字列キーは次のとおりです。
static NSString *const iRateMessageTitleKey = @"iRateMessageTitle";
static NSString *const iRateAppMessageKey = @"iRateAppMessage";
static NSString *const iRateGameMessageKey = @"iRateGameMessage";
static NSString *const iRateUpdateMessageKey = @"iRateUpdateMessage";
static NSString *const iRateCancelButtonKey = @"iRateCancelButton";
static NSString *const iRateRemindButtonKey = @"iRateRemindButton";
static NSString *const iRateRateButtonKey = @"iRateRateButton";
アプリケーションで有効になっているローカリゼーションのみを使用することを望む場合(そのため、アプリが英語、フランス語、スペイン語のみをサポートする場合、iRateはドイツ語にはドイツ語が含まれていても、ドイツ語では自動的にローカライズされますが、言語ファイル)、 useAllAvailableLanguages
オプションをnoに設定します。
iRate.bundleの文字列ファイルを変更することはお勧めしません。これの例外は、GitHubのIrateプロジェクトのローカリゼーションに追加の言語または改善または修正を提出したい場合です(これは大歓迎です)。
GitHubプロジェクトに送信せずにアプリにIrateの追加言語を追加する場合は、これらの文字列をProjectフォルダーの適切なローカライズ可能ファイルに直接追加できます。デフォルトのirate文字列の一部またはすべてを交換する場合、最も簡単なオプションは、それらの文字列のみを独自のローカライズ可能ファイルにコピーして、それらを変更することです。 iRateは、メインアプリケーションバンドルの文字列を自動的に使用して、iRateバンドルのものよりも優先して、この方法で文字列をオーバーライドできます。
デフォルトのローカリゼーションを使用したくない場合は、irate.bundleを完全に省略できます。 iRateがサポートする言語のサブセットのみをサポートしたい場合、 useAllAvailableLanguages
から他の文字列ファイルを削除する必要はないことに注意してください。
個々のセッターメソッド(以下を参照)を使用してiRateのデフォルト文字列をオーバーライドする古い方法はまだサポートされていますが、推奨されるアプローチは、これらの文字列をプロジェクトのローカライズ可能なファイルに追加することです。
+ (void)initialize
{
//overriding the default iRate strings
[iRate sharedInstance].messageTitle = NSLocalizedString(@"Rate MyApp", @"iRate message title");
[iRate sharedInstance].message = NSLocalizedString(@"If you like MyApp, please take the time, etc", @"iRate message");
[iRate sharedInstance].cancelButtonLabel = NSLocalizedString(@"No, Thanks", @"iRate decline button");
[iRate sharedInstance].remindButtonLabel = NSLocalizedString(@"Remind Me Later", @"iRate remind button");
[iRate sharedInstance].rateButtonLabel = NSLocalizedString(@"Rate It Now", @"iRate accept button");
}
基本的なMacまたはiPhoneの例プロジェクトを初めて構築して実行すると、アプリの評価を求めるアラートが表示されます。これは、PreviewModeオプションが設定されているためです。
PreviewModeオプションを無効にし、他の設定で再生して、アプリが実際にどのように動作するかを確認します。
高度な例は、IrreatedElegateメソッドを使用して、完全にオーダーメイドのIrateインターフェイスをどのように実装するかを示しています。自動プロンプトは無効になり、代わりにユーザーは「このアプリをレート」ボタンを押してアプリを評価することを選択できます。
押されたとき、アプリは最初にApp Storeが利用可能であることを確認します(コンピューターにインターネット接続がない場合、またはApple.comがダウンしている場合はそうではない場合があります)。その後、Mac App Storeを起動します。
例はMac OSのものですが、同じ原則をiOSに適用できます。
バージョン1.12.2
バージョン1.12.1
バージョン1.12
バージョン1.11.7
バージョン1.11.6
バージョン1.11.5
バージョン1.11.4
canOpenURL:
バージョン1.11.3
バージョン1.11.2
バージョン1.11.1
バージョン1.11
promptIfCriteriaMet
コンビニエンス方法を追加しましたNSNotificationCenter
通知を追加しましたUIAlertView
の代わりにUIAlertController
使用するようになりましたバージョン1.10.3
バージョン1.10.2
バージョン1.10.1
バージョン1.10
daysUntilPrompt
の間にポップアップを評価することはもうありませんpromptForNewVersionIfUserRated
オプションを追加しましたpromptForNewVersionIfUserRated
オプションで使用するためのupdateMessage
プロパティを追加しましたバージョン1.9.3
バージョン1.9.2
バージョン1.9.1
バージョン1.9
promptAgainEachVersion
オプションを削除しましたバージョン1.8.3
バージョン1.8.2
バージョン1.8.1
バージョン1.8
バージョン1.7.5
バージョン1.7.4
バージョン1.7.3
バージョン1.7.2
バージョン1.7.1
バージョン1.7
バージョン1.6.2
バージョン1.6.1
バージョン1.6
バージョン1.5.3
バージョン1.5.2
バージョン1.5.1
バージョン1.5
バージョン1.4.9
バージョン1.4.8
バージョン1.4.7
バージョン1.4.6
バージョン1.4.5
バージョン1.4.4
バージョン1.4.3
バージョン1.4.2
バージョン1.4.1
バージョン1.4
バージョン1.3.5
バージョン1.3.4
iRateDidDetectAppUpdate
Delegateメソッドを追加しましたバージョン1.3.3
バージョン1.3.2
バージョン1.3.1
バージョン1.3
バージョン1.2.3
バージョン1.2.2
バージョン1.2.1
MAC_APP_STORE_REFRESH_DELAY
to 5 seconds to support older machinesバージョン1.2
バージョン1.1
バージョン1.0