ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

Unityでアプリ内レビューを実装してみた【UnityEngine.iOS.Device.RequestStoreReview】

 

前にAppleAPIを使って、アプリ内レビューを表示させてみたことがあったですけど、それが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
    }
}

 

f:id:gevvoihorry:20180614061648j:plain

 

こんな風にボタンを用意して、PushButton()を結びつける。

んで、ボタンを押すと、、、

 

f:id:gevvoihorry:20180614061736j:plain

 

はい出ました。ちゃんと出ましたね。

 

もちろん実際には、ボタンと紐付けることなく、任意のタイミングで適当に表示させるのがいいでしょう。

とりあえず僕はさっき、適当なアプリに組み込んでアップデート申請してみました。

 

しかしこれ、ユーザーがレビューをしてくれたかどうかって、どこかで取得出来るんですかね?これだけ気になっちゃいました。

1回でもレビューを送信してくれたユーザーには、もう表示したくないんですけど、それを判定する方法が分からなかったんですよ。

なので、さっきアップデートしたアプリは、適当に3回くらい出る仕様になっています。

 

分からないと不便ですよね。1度レビューしたのに、また出るっていうのは鬱陶しいし。

 

まあとりあえず出来たんで、今は良しとしておきましょう。

 

今日も一歩前進だぜ。

 

P.S.

そうそう。僕今日までiOSの判定をUNITY_IPHONEって書いてたんですけど、これって非推奨らしいですね。UNITY_IOSの方が正しいみたいですよ。レビューのこれ組んでて気付きました。

プラットフォーム依存コンパイル - Unity マニュアル