いんでぃーづ

ゲームいろいろ、いろいろ自由

Unity : iOS 10.3以上でレビューダイアログを表示するプラグインを作る

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用のビルドを作ります。

indie-du.com

Xcodeを開いたら、下の画像を参考にして StoreKitフレームワーク を追加してください。

f:id:sugar_affordance:20170923172801j:plain

実行する

うまくいけばダイアログが出ます。

参考 iOS 用のプラグインをビルド - Unity マニュアル


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。