Google Unity应用内评论未显示,未抛出错误

时间:2020-08-26 14:05:55

标签: android unity3d google-play

我们遵循了本指南(https://developer.android.com/guide/playcore/in-app-review/unity)为Unity Android实施应用内审核。

我们添加了google-play-core unity插件,应该将其正确导入Unity。

代码是:

private IEnumerator requireRate(){
    // Create instance of ReviewManager
    ReviewManager _reviewManager;
    // ...
    _reviewManager = new ReviewManager();
    var requestFlowOperation = _reviewManager.RequestReviewFlow();
    yield return requestFlowOperation;
    if (requestFlowOperation.Error != ReviewErrorCode.NoError)
    {
        // Log error. For example, using requestFlowOperation.Error.ToString().
        yield break;
    }
    PlayReviewInfo _playReviewInfo = requestFlowOperation.GetResult();
    var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
    yield return launchFlowOperation;
    _playReviewInfo = null; // Reset the object
    if (launchFlowOperation.Error != ReviewErrorCode.NoError)
    {
        // Log error. For example, using requestFlowOperation.Error.ToString().
        yield break;
    }
    // The flow has finished. The API does not indicate whether the user
    // reviewed or not, or even whether the review dialog was shown. Thus, no
    // matter the result, we continue our app flow.
}

当我们想显示它时,我们调用协程:

StartCoroutine(requireRate());

有什么建议吗? 谢谢

4 个答案:

答案 0 :(得分:3)

简单的请求审核。

using Google.Play.Review;
... 
public void RequestReview()
{
    // StartCoroutine(AndroidReview());
    var reviewManager = new ReviewManager();

    // start preloading the review prompt in the background
    var playReviewInfoAsyncOperation = reviewManager.RequestReviewFlow();

    // define a callback after the preloading is done
    playReviewInfoAsyncOperation.Completed += playReviewInfoAsync =>
    {
        if (playReviewInfoAsync.Error == ReviewErrorCode.NoError)
        {
            // display the review prompt
            var playReviewInfo = playReviewInfoAsync.GetResult();
            reviewManager.LaunchReviewFlow(playReviewInfo);
        }
        else
        {
            // handle error when loading review prompt
        }
    };
}

您仅在已发布内部测试上显示“审阅”对话框。确保将您设备上登录的Google帐户添加到测试人员列表中。

了解更多:https://developer.android.com/guide/playcore/in-app-review/test

答案 1 :(得分:2)

//Require..
using Google.Play.Review;

public void requestFunction()
    {
        StartCoroutine(requireRate());
    }

//somewhere in your code after completing the game ..
requestFunction();

已安装软件包管理器: // Google Play应用内评论

在其他设备上进行测试,令我惊讶的是,它没有成功,原因尚不清楚,但是我从内部Google Play控制台测试程序列表中获得了3个其他设备的测试,反应非常积极。 / p>

正如Vins所说

答案 2 :(得分:2)

使用内部测试轨道对我有用,但有一个重要警告。

如果正在内部测试轨道中使用G-Suite帐户进行测试,则不会显示弹出窗口。

我不太确定为什么会这样,但是现在看来这已经是很多年了。 So many threads报告了此错误(GSuite用户根本无法留下Google Play评论),截至2020年10月,Google仍未对此做任何事情。 Google lists four conditions在其官方文档中以确保测试有效,并且还应包括此内容。

答案 3 :(得分:0)

我刚刚测试了它,并且功能正常。

至少在每次请求时都以内部测试模式进行游戏测试。在我的测试中,我没有使用任何按钮,只是在游戏的某个阶段调用了该函数,因此效果很好。