📝

[Unity]AndroidのIn-App Review APIを使ってレビュー依頼を表示する

2020/10/04に公開

前置き

アプリからレビュー依頼を表示する際に、iOSでは専用のAPIを使用することでアプリ内にレビューポップアップを出すことが可能でした。
しかしAndoridではそのような機能はなかったため、これまではGooglePlayStoreのアプリページに飛ばすくらいしかできませんでした。
例)

Application.OpenURL("market://details?id=~~~アプリのバンドルID~~~");

しかし2020/8/5にIn-App Review APIのというものがリリースされからAndroidでもiOSと同様のことが出来るようになりました。

環境

  • Androidバージョンの要件

    • Android 5.0以降(API Level 21以上)
  • 本記事でのUnityバージョン

    • 2019.4.10f1

PackageManager経由でインストールできるようにする

ScopedRegistryにGoogleのRegistryを登録する必要があります。

↑の設定になるように手動でやるか、

ExternalDependencyManagerのUnityPackageを導入する必要があります
https://github.com/googlesamples/unity-jar-resolver

パッケージのインストール

Unity上の「Window→PackageManager」を選択し、PackageMangerを開きます。
Packegesの欄をMyRegistryを選択。

検索欄で「Google」と検索したらいくつか出てくるので、「Goole Play In-app Review」を選択。

今回は1.3.0を使用

package.jsonに

    "com.google.play.review": "1.3.0",

が追加されていればOKです。

呼び出しコードのサンプル

using System.Collections;
using Google.Play.Review;
using UnityEngine;

/// <summary>
/// Android端末でIn-App Review APIを呼ぶサンプル
/// </summary>
public class Sandbox_InAppReviewAPI : MonoBehaviour
{
    private void Start()
    {
        StartCoroutine(ShowReviewCoroutine());
    }
    
    private IEnumerator ShowReviewCoroutine()
    {
        // https://developer.android.com/guide/playcore/in-app-review/unity
        var reviewManager = new ReviewManager();
        var requestFlowOperation = reviewManager.RequestReviewFlow();
        yield return requestFlowOperation;
        if (requestFlowOperation.Error != ReviewErrorCode.NoError)
        {
            // エラーの場合はここで止まる.
            yield break;
        }
        var playReviewInfo = requestFlowOperation.GetResult(); 
        var launchFlowOperation = reviewManager.LaunchReviewFlow(playReviewInfo);
        yield return launchFlowOperation;
        if (launchFlowOperation.Error != ReviewErrorCode.NoError)
        {
            // エラーの場合はここで止まる.
            yield break;
        }
    }
}

https://gist.github.com/sukedon/51e6f558cb9b6eef22fd480209af293e

実機確認

自分のアプリに試しに組み込んでみました。
横持ちのアプリなので、このような見た目で表示されます。

おわり

これまではAndroidに関しては「前置き」で書いたストアに遷移する方法を使用していたのですが、iOSに比べてお手軽さにかけるせいかレビューや星が付きづらかったです。
今回のIn-App Reviewを導入することで改善されるといいなと思っています。

ちなみに、記事中で使用した「定時退社オンライン」はこちらになります。
もうすぐ1周年です。

参考

https://developer.android.com/guide/playcore/in-app-review/unity
https://developer.android.com/games/develop/build-in-unity#download-registry
https://medium.com/@syarihu/in-app-review-apiを使ってみた-48cb03c02e09

Discussion