いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU

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

実行する

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

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

TextMeshPro でアウトラインの太さが思い通りにいかない場合

TextMeshProでテキストのアウトラインの太さを思ったとおりにするには、フォントアセット作成の時点から気をつける必要があります。

それは Font Asset CreatorFont Padding 設定です。
まず、フォントアセット作成時の、次の二つの画像を見比べてみてください。

上の画像はパディングを 5 で作成し、下の画像は 1 で作成しています。

パディングが大きいほうが、フォントテクスチャがボヤけているのがわかりますが、これが一つの目安です。

これらのアセットを使って、それぞれアウトライン設定を最大にしたのが以下の画像。

パディング 5 のほうが、明らかにアウトラインが太くなっています。

ということで、太いアウトライン設定したい場合は Font Padding の値を大きくしてテクスチャを作成しましょう。

Amazon.co.jpアソシエイト