Unityでアプリ内レビューを実装してみた【UnityEngine.iOS.Device.RequestStoreReview】
前にAppleのAPIを使って、アプリ内レビューを表示させてみたことがあったですけど、それがUnity側から簡単に出来るようになったということで、早速やってみました。
UnityでAppleさんのAPIを使ってレビューダイアログを実装してみた - ホーリーのプログラミング日記
(このときは、結局上手く実装出来なかったんですよ)
参考にさせていただいたのは、今回もkanさんの記事です。
アプリ内でのレビューをUnityで実装(Unity2017.3版)【Unity】【iOS】 - (:3[kanのメモ帳]
まあ今回は俄然簡単なんで、kanさんのやつを読めば全く問題ないんですが、僕はこんな風に書いてみました。簡単なテストですね。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_IOS
using UnityEngine.iOS;
#endif
public class ReviewManager : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void PushButton(){
#if UNITY_IOS
if (Device.RequestStoreReview()) {
//レビュー出た
}
//Androidやそれ以外の場合の処理
#else
#endif
}
}
こんな風にボタンを用意して、PushButton()を結びつける。
んで、ボタンを押すと、、、
はい出ました。ちゃんと出ましたね。
もちろん実際には、ボタンと紐付けることなく、任意のタイミングで適当に表示させるのがいいでしょう。
とりあえず僕はさっき、適当なアプリに組み込んでアップデート申請してみました。
しかしこれ、ユーザーがレビューをしてくれたかどうかって、どこかで取得出来るんですかね?これだけ気になっちゃいました。
1回でもレビューを送信してくれたユーザーには、もう表示したくないんですけど、それを判定する方法が分からなかったんですよ。
なので、さっきアップデートしたアプリは、適当に3回くらい出る仕様になっています。
分からないと不便ですよね。1度レビューしたのに、また出るっていうのは鬱陶しいし。
まあとりあえず出来たんで、今は良しとしておきましょう。
今日も一歩前進だぜ。
P.S.
そうそう。僕今日までiOSの判定をUNITY_IPHONEって書いてたんですけど、これって非推奨らしいですね。UNITY_IOSの方が正しいみたいですよ。レビューのこれ組んでて気付きました。