web-dev-qa-db-ja.com

「レビューを書く」/「評価してください」機能をアプリに追加する方法

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

私が考えることができるベストプラクティスは、何らかの種類のポップアップを表示するか、アプリ内でUIWebViewを開いて、App Storeアプリケーションを開くときにユーザーがアプリから開始されないようにすることです:

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

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

36
Ohad Regev

StoreKit API(iOS 10.3以降)

IOS 10.3以降、StoreKit APIは、アプリを離れることなくApp Storeでレビューをリクエストする方法を提供します。呼び出されると、システムはユーザーにレビューを要求するアラートを表示する場合があります。ユーザーは、アラート内で直接星評価を提供するか、レビューを書き続けるか、アラートを閉じることができます。 StoreKitは、ほぼすべてを処理します。レビューリクエストを提示するには、アプリの適切な場所で次の呼び出しを行います。

// Objective-C
[SKStoreReviewController requestReview]

// Swift
SKStoreReviewController.requestReview()

Appleの指示に従って、直接のユーザーインタラクション(「レビューを書く」というボタンをタップする)に応答してこれらを呼び出さないでください。アラートを常に表示するとは限りません。実際、アラートは365日ごとに3回だけ表示される場合があります。

以下は、アラートがどのように見えるかの例です。詳細については、 Appleのドキュメント を参照してください。

StoreKit rating / review Prompt.


iRate(iOS 7.0以降)

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

IOS 10.3以降を搭載したデバイスの場合、iRateは前述のStoreKit APIを使用します。 iOS 7.0から10.2を実行するデバイスの場合、iRateは ialertview および storekit を使用して、ユーザーに評価を求めます(または後でそれらを思い出させます)。 [キャンセル]ボタンのタイトルから、ユーザーに通知する間隔まで、すべてカスタマイズ可能です。

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

セットアップ

インストールするには、ヘッダーファイル、実装ファイル、.bundle(ローカライズ用)プロジェクトに。

  1. AppDelegateにヘッダーをインポートします:#import "iRate.h"
  2. StoreKitフレームワークをプロジェクトに追加します-詳細は StoreKit from Apple Documentation
  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およびiTunes Connectで設定したバンドルIDと一致する必要もあります。

[iRate sharedInstance].appStoreID = 555555555;

詳細 はiRate GitHubページで利用可能です。

86
Samuel Spencer

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

レビューを残すようユーザーに自動的に促します。アプリIDを入力するだけです。

7
Zebs