Xamarin.iOS でアプリ レビューを要求する

"この記事では、Apple が iOS 10 に追加した RequestReview メソッドと、Xamarin.iOS にそれを実装する方法について説明します。"

iOS 10.3 の新機能である RequestReview() メソッドを使うと、iOS アプリからユーザーに評価やレビューを求めることができます。 ユーザーが App Store からインストールしたリリース アプリでこのメソッドが呼び出されると、開発者に代わって iOS 10 が評価とレビューのプロセス全体を処理します。 このプロセスは App Store ポリシーによって管理されるため、アラートが表示される場合と表示されない場合があります。

A sample Review Request alert

評価やレビューの要求

SKStoreReviewController クラスの RequestReview() 静的メソッドは、ユーザー エクスペリエンスにおいて理にかなった任意の時点で呼び出すことができますが、レビュー プロセスは App Store ポリシーによって管理および処理されます。 その結果、このメソッドによってアラートが表示される場合も表示されない場合もあり、決してユーザーの操作 (ボタンのタップなど) に応答して呼び出されることがあってはなりません。

たとえば、アプリが特定の回数起動された後にレビューを要求したり、プレイヤーがレベルを終了した後にゲームからレビューを要求したりすることがあります。

Xamarin.iOS アプリの起動完了後すぐにレビューを要求するには、AppDelegate.cs ファイルに次の変更を加えます。

using Foundation;
using StoreKit;
using UIKit;

namespace iOSTenThree
{
    [Register ("AppDelegate")]
    public class AppDelegate : UIApplicationDelegate
    {
        ...

        public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions)
        {
            // Request a review from the user
            SKStoreReviewController.RequestReview ();

            return true;
        }

        ...

    }
}

Note

開発中のアプリで RequestReview() を呼び出すと、評価とレビューのダイアログが常に表示されるため、テストすることができます。 これは、メソッド呼び出しが無視される TestFlight を通じて配布されたアプリには適用されません。

ユーザーが App Store からインストールしたリリース アプリで RequestReview() メソッドが呼び出されると、開発者に代わって iOS 10 によって評価とレビューのプロセス全体が処理されます。 繰り返しになりますが、このプロセスは App Store ポリシーによって管理されるため、アラートが表示される場合と表示されない場合があります。

App Store 製品ページへのリンク

新しい RequestReview メソッドに加えて、開発者は引き続きアプリ内から App Store のアプリの製品ページへのディープ リンクを指定できます。 製品ページの URL の末尾に action=write-review を追加すると、ユーザーがアプリのレビューを書くことができるページが自動的に開きます。

まとめ

この記事では、Apple が iOS 10 に追加した RequestReview メソッドと、Xamarin.iOS にそれを実装する方法について説明しました。