iOS10.3からレビュー依頼の方法が変わり、アプリ内で星を評価するダイアログが標準で用意されました。
なんでも、このダイアログを使わないレビュー依頼は リジェクト対象になる とか。
ということでUnityで作ったゲームでもこの機能を使いましょう。
UnityプロジェクトにObjective-cのソースを追加
Swift? ノーノー。めんどくさいこと私キライ。
今回の目的にはObjective-Cが一番簡単でヨロシイね。
下記のファイルをUnityプロジェクトの Assets/Plugins/iOS フォルダの下に配置します。
ReviewDialog.mm
#import <StoreKit/StoreKit.h> extern "C" { void ShowReviewDialog () { // レビューダイアログ呼び出し [SKStoreReviewController requestReview]; } }
これが iOSのプラグイン としてプロジェクトに組み込まれます。
呼び出すほうは下記のようにスクリプトを書きましょう。
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Runtime.InteropServices; public class TestScript : MonoBehaviour { [DllImport ("__Internal")] private static extern float ShowReviewDialog(); void Update () { #if UNITY_IOS if (Input.touchCount > 0 && Input.touches[0].phase == TouchPhase.Began) { // プラグイン呼び出し ShowReviewDialog(); } #endif } }
上のスクリプトのうち、プラグイン呼び出しの準備として必要なのは下記二つの部分。
using System.Runtime.InteropServices;
[DllImport ("__Internal")] private static extern float ShowReviewDialog();
Xcodeに書き出す
こちらの記事を参考に、iOS用のビルドを作ります。
Xcodeを開いたら、下の画像を参考にして StoreKitフレームワーク を追加してください。
実行する
うまくいけばダイアログが出ます。