ユーザーからのレビューは、App Storeの評価や検索順位に大きく影響します。
しかし「レビューしてください」とただ表示するだけでは逆効果。
iOSには、ユーザーの操作を妨げずに標準UIでレビュー依頼を表示できる機能があります。
この記事では、UnityからiOSの「レビュー依頼ポップアップ」を表示する方法を、コピペOKで解説します!
この記事で分かること
- iOS標準のレビュー依頼APIの使い方
- Unity×Objective-C++連携でSKStoreReviewControllerを呼び出す手順
- 【コピペOK】Unityでレビュー依頼ポップアップを表示する方法
- 表示タイミングの工夫と審査上の注意点
iOSのレビュー依頼はSKStoreReviewController
Appleは、App Storeのレビュー促進のために以下の標準APIを提供しています
[SKStoreReviewController requestReview];
このAPIを使うと、ユーザーがアプリを使っている中で 非強制的にレビュー依頼ダイアログを表示することができます。
【コピペOK】Unityからレビュー依頼を表示する方法
.mmファイルを作成(iOSネイティブ)
Assets/Plugins/iOS/ReviewRequest.mm
#import <StoreKit/StoreKit.h>
extern "C" void RequestAppReview()
{
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}
}
Unity C# 側の呼び出しコード
using System.Runtime.InteropServices;
using UnityEngine;
public class ReviewRequester : MonoBehaviour
{
#if UNITY_IOS && !UNITY_EDITOR
[DllImport("__Internal")]
private static extern void RequestAppReview();
#endif
public void RequestReview()
{
#if UNITY_IOS && !UNITY_EDITOR
RequestAppReview();
#else
Debug.Log("レビュー依頼は実機iOSでのみ動作します。");
#endif
}
}
使用例:ゲームクリア後やプレイ3回目以降に表示
void OnLevelCleared()
{
if (PlayerPrefs.GetInt("ClearCount", 0) >= 3)
{
FindObjectOfType<ReviewRequester>().RequestReview();
}
PlayerPrefs.SetInt("ClearCount", PlayerPrefs.GetInt("ClearCount", 0) + 1);
}
実装上の注意点
項目 | 内容 |
---|---|
表示はApple側の制御 | 呼び出しても毎回出るとは限らない(回数制限あり) |
強制表示はNG | App Store審査でリジェクトされる可能性あり |
表示タイミングが重要 | ゲームクリア後など、満足度の高い瞬間を狙う |
開発中は動作しない | サンドボックス環境では表示されないことが多い |
注意点
・表示回数はAppleのサーバー側で1年に3回までなど制限されています。
・カスタムUIはできない。
まとめ
ユーザーの体験を邪魔せず、
自然な形でレビューを集めたい方は、ぜひこの仕組みを導入してみてください!
ポイント | 内容 |
---|---|
SKStoreReviewControllerを使えばレビュー依頼を標準UIで表示可能 | |
Unityからネイティブコード経由で簡単に呼び出せる | |
表示回数・審査には注意が必要 | |
タイミング次第で高評価レビューの確率が上がる |