39

ある種の「レビューを書く」または「評価する」機能をアプリに追加して、顧客が私のアプリを簡単に評価およびレビューできるようにしたいと思います。

私が考えることができるベストプラクティスは、ある種のポップアップを表示するか、アプリ内でUIWebViewを開いて、次のようにAppStoreアプリケーションを開いているときにユーザーがアプリからキックオフされないようにすることです。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@ "itms://itunes.com/apps/myAppName"]];

誰かがそれを行う方法を知っていますか?

4

2 に答える 2

89

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のドキュメントを参照してください。

StoreKitの評価/レビュープロンプト。


iRate(iOS 7.0以降)

アプリが10.3より前のバージョンのiOSで実行されている場合、またはユーザーからの評価の要求をより堅牢に制御する必要がある場合は、iRateが優れたソリューションです。

iOS 10.3以降を搭載したデバイスの場合、iRateは前述のStoreKitAPIを使用します。iOS 7.0から10.2を実行しているデバイスの場合、iRateはを使用して、ユーザーに評価を求めます(または後で通知します)。[キャンセル]ボタンのタイトルから、ユーザーに通知する間隔まで、すべてをカスタマイズできます。

デフォルトでは、特定の要件が満たされるとiRateが自動的に開きます(たとえば、アプリがX回起動され、ユーザーがXレベルを通過した)が、さまざまなメソッドと独自のロジック(iRateメソッドを使用)を使用してiRateポップアップを手動で表示します。

設定

インストールするには、ヘッダーファイル、実装ファイル、および.bundle(ローカリゼーション用)をプロジェクトにドラッグするだけです。

  1. AppDelegateにヘッダーをインポートします。#import "iRate.h"
  2. StoreKitフレームワークをプロジェクトに追加します-AppleDocumentationのStoreKitの詳細
  3. 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ページをご覧ください。

于 2012-04-21T22:32:57.257 に答える
7

私が使用している本当に良いものはAppiraterです:https ://github.com/arashpayan/appirater/

それは自動的にあなたのユーザーにレビューを残すように促します、あなたはただあなたのアプリIDを提供する必要があります。

于 2011-07-18T18:23:05.713 に答える