この記事でのバージョン
Unity 2017.3.1f1
はじめに
以前、アプリ内でのレビューをUnityで実装する方法を紹介しました。
この時は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だけで完結できるようになったのは分かりやすくて良いですね!