7

我正在使用“ com.github.javiersantos:PiracyChecker:1.2.3 ”,因为我的应用尚未集成 AndroidX。

我的应用程序的 Google Play 页面中有大量用户评论报告说他们已经从 Google Play 商店安装了该应用程序,但他们收到了盗版警告消息。

这里有些例子:

在此处输入图像描述

还通过电子邮件收到了用户报告:

在此处输入图像描述

我的应用有 4k 条评论,其中只有 3 条是这样的,但我不知道确切的用户数量,因为可能有用户不评论这个问题。

到底是怎么回事?

我这样使用它:

    public static void showPiracyActivityIfNeeded(final Activity activity) {
    if (!BuildConfig.DEBUG) {
        //Releaseb build, piracy check.
        new PiracyChecker(activity)
                .enableInstallerId(InstallerID.GOOGLE_PLAY)
                .callback(new PiracyCheckerCallback() {
                    @Override
                    public void allow() {
                    }

                    @Override
                    public void dontAllow(@NonNull PiracyCheckerError piracyCheckerError, @Nullable PirateApp pirateApp) {
                        Intent intent = new Intent(activity, PiracyWarningActivity.class);
                        activity.startActivity(intent);
                        activity.finish();
                    }
                })
                .start();
    }
}

提前致谢。

4

1 回答 1

2

您的 Google Play 服务似乎不可用。在开始之前尝试检查它PiracyActivity

const val PLAY_SERVICES_RESOLUTION_REQUEST = 9000

fun AppCompatActivity.checkPlayServices(): Boolean {
    val apiAvailability = GoogleApiAvailability.getInstance()
    val resultCode = apiAvailability.isGooglePlayServicesAvailable(this)
    if (resultCode != ConnectionResult.SUCCESS) {
        if (apiAvailability.isUserResolvableError(resultCode)) {
            apiAvailability.getErrorDialog(this, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST)
                .show()
        }
        return false
    }
    return true
}

接着:

public static void showPiracyActivityIfNeeded(final Activity activity) {
    if (!BuildConfig.DEBUG && activity.checkPlayServices()) { ...

另请注意,有很多设备由于各种原因关闭了 Google Play 服务,因此请在每次需要时检查服务的可用性。

于 2019-11-28T15:54:03.997 回答