(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

アプリ内でのレビューをUnityで実装(Unity2017.3版)【Unity】【iOS】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2017.3.1f1


はじめに

以前、アプリ内でのレビューをUnityで実装する方法を紹介しました。


f:id:kan_kikuchi:20170610062217j:plain


この時はiOS側のコードを書いていましたが、

Unityから直接iOSのアプリ内レビューが出来るようになった(Unity2017.3以降)ので、

今回はその機能を使って見ようという感じの記事です。


なお、iOSではアプリ内レビュー以外で評価を促す事は禁止っぽいです。

アプリ上で評価を促す際には、Appleが提供するAPIを使わなければいけなくなるそうです。




UnityEngine.iOS.Device.RequestStoreReview

Unityから直接iOSのアプリ内レビューをしたい時は、

UnityEngine.iOS.Device.RequestStoreReviewを使います。


Unity - Scripting API: iOS.Device.RequestStoreReview


使い方は極めて簡単、メソッドを実行するだけです。

なお、返り値はアプリ内レビューが出来るかどうかbool値です。

//アプリ内レビューに対応してる場合はアプリ内で表示
//using UnityEngine.iOS;が必要
if (Device.RequestStoreReview()) {
  //アプリ内レビューが出来た
}


返り値はそもそもアプリ内レビューが出来ない場合にfalseになります。

例えばiOS10.3未満でアプリ内レビューに対応してない時

StoreKitというフレームワークが追加されていない時です。


なので、ユーザがアプリ内レビューをしなかった時にfalseが返るわけでない

という点には注意が必要です。


また、iOS以外のプラットフォームではUnityEngine.iOSは使えず、エラーが出るので、

iOS以外のプラットフォームでは無効化しておく必要がありますし、処理も分ける必要があります。

//iOSの時だけ有効
#if UNITY_IOS
using UnityEngine.iOS;
#endif
//iOSの時だけアプリ内レビュー
#if UNITY_IOS
if (Device.RequestStoreReview()) {

}

//Androidやそれ以外の場合の処理
#else

#endif



おわりに

ネイティブのコードを使うのと、そんなに手間は変わりませんが、

Unityだけで完結できるようになったのは分かりやすくて良いですね!