标签: google-play-core

在应用程序审查(FakeReviewManager)对话框中未显示在 android 中

android studio 中有一个用 kotlin 编写的简单应用程序。这是下面的代码 onCreate

val manager = FakeReviewManager(baseContext)
    val request = manager.requestReviewFlow()

    request.addOnCompleteListener{ request ->
        if (request.isSuccessful){
            Log.i("message","Rating")
            manager.launchReviewFlow(this, request.result).addOnCompleteListener{
                Log.i("message","Rating1")
            }
        }else{
        }
    }
Run Code Online (Sandbox Code Playgroud)

在 Logcat 消息显示成功。但是什么都没有显示。如何解决这个问题?

android review rate kotlin google-play-core

7
推荐指数
1
解决办法
1369
查看次数

Android In App Update 在立即模式下下载 APK 后不安装 APK

应用程序正在使用立即模式来更新应用程序。它开始下载 APK,但下载 APK 后,它永远不会安装。UI 挂起并显示下载进度 100%。立即模式下没有反馈下载已完成。

即时模式如何实现app自动下载、安装、重启?

我正在使用以下模式以立即模式开始更新。

        try {
            appUpdateManager.startUpdateFlowForResult(
                    appUpdateInfo,
                    AppUpdateType.IMMEDIATE,
                    getActivity(),
                    REQUEST_CODE_FOR_APP_UPDATE);
        } catch (IntentSender.SendIntentException e) {
            appUpdateFailed();
        }
Run Code Online (Sandbox Code Playgroud)

android google-play google-play-core

6
推荐指数
1
解决办法
1598
查看次数

使用内部应用共享来测试按需动态功能模块不起作用

我正在尝试使用内部应用程序共享来测试我是否可以正确请求和下载按需动态功能模块。

当我尝试这个时,我可以看到它首先开始正确下载新功能,但它永远不会安装。我看到这些com.example is installed but certificate mismatch日志。这可能是导致问题的原因吗?我知道内部应用共享上传是“使用内部应用共享密钥自动重新签名的,该密钥是由 Google 自动为您的应用创建的”。来源。内部应用程序共享是否可能未正确签署按需 apk?

下载有问题的代码:

private const val ONDEMAND_FEATURE_MODULE_NAME: String = "ondemandfeature" // must match gradle module name

fun downloadOnDemandFeature(context: Context) {
    val request = SplitInstallRequest
            .newBuilder()
            .addModule(ONDEMAND_FEATURE_MODULE_NAME)
            .build()

    val splitInstallManager = create(context)

    // Initializes a variable to later track the session ID for a given request.
    var mySessionId = 0
    val listener = SplitInstallStateUpdatedListener { state ->
        if (state.sessionId() == mySessionId) {
            when (state.status()) {
                SplitInstallSessionStatus.DOWNLOADING -> {
                    val …
Run Code Online (Sandbox Code Playgroud)

android google-play-core dynamic-feature-module internal-app-sharing

6
推荐指数
1
解决办法
417
查看次数

Google Play In-App Review API:ReviewInfo 对象的有效期有多长?

在文档中,它指出 ReviewInfo 对象仅在有限的时间内有效:

注意:ReviewInfo 对象仅在有限的时间内有效。您的应用应提前(预缓存)请求 ReviewInfo 对象,但前提是您确定您的应用将启动应用内审核流程。

ReviewInfo 对象的有效期(大致)多久?

例如,游戏是否可以在启动时获取 ReviewInfo(如果用户玩的时间足够长),然后仅在用户击败他们的高分(可能是 5、10、30 分钟后)时才启动评论流程?

android google-play google-play-services google-play-core

6
推荐指数
2
解决办法
587
查看次数

如何处理应用内更新中的InstallException?

我正在尝试按照官方文档在我的 Android 应用程序中实现应用程序内更新。我使用内部测试轨道在 Play 商店上启动了我的应用程序的一个版本,然后是版本代码递增的另一个版本。

当我第一次打开应用程序时,它崩溃了,并出现以下异常:

Fatal Exception: com.google.android.play.core.install.InstallException: Install Error(-10): The app is not owned by any user on this device. An app is "owned" if it has been acquired from Play. (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_APP_NOT_OWNED)
       at com.google.android.play.core.appupdate.o.a(o.java:6)
       at com.google.android.play.core.internal.o.a(o.java:28)
       at com.google.android.play.core.internal.j.onTransact(j.java:20)
       at android.os.Binder.execTransactInternal(Binder.java:1166)
       at android.os.Binder.execTransact(Binder.java:1130)
Run Code Online (Sandbox Code Playgroud)

但是当我重新打开应用程序时,更新流程正常启动。因此,也许 PlayCore 库第一次无法获取正确的数据,并且抛出了InstallException.

我想要的是捕获所有此类InstallException,但我无法找到放置 try-catch 块的确切位置。哪个函数AppUpdateManager抛出这个InstallException?是startUpdateFlow()方法吗?

我的代码:

private lateinit var updateInfo: AppUpdateInfo

suspend fun checkForUpdate() {
    updateInfo = appUpdateManager.requestAppUpdateInfo() // suspend function from play-core-ktx …
Run Code Online (Sandbox Code Playgroud)

android kotlin google-play in-app-update google-play-core

6
推荐指数
0
解决办法
664
查看次数

在调试设备上测试时显示UPDATE_NOT_AVAILABLE的应用内更新API

我正在尝试集成新的应用内更新API,但无法测试其实现。似乎我的代码很好,因此我阅读了疑难解答,但无法理解本文档中的两点

确保您要测试的应用使用与Google Play可用的签名密钥相同的签名密钥进行签名。

  1. 在已连接设备上安装Apk时,如何在调试模式下使用相同的签名密钥签名?

如果您要测试的应用程序未显示可用更新,请检查您是否已正确设置了测试轨道。

  1. 是否必须在内部测试轨道上发布App以测试实施?

无论如何,我只想在我的设备上进行测试,我从Play商店版本中减少了版本代码,但始终显示UPDATE_NOT_AVAILABLE

这是代码:-

val appUpdateInfo: Task<AppUpdateInfo> = appUpdateManager.appUpdateInfo
appUpdateInfo.addOnSuccessListener {
    if (it.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && it.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
        appUpdateManager.startUpdateFlowForResult(it, AppUpdateType.FLEXIBLE, this, 2);
    }else{
        toast("Not Available")
    }
}
Run Code Online (Sandbox Code Playgroud)

android kotlin google-play in-app-update google-play-core

5
推荐指数
4
解决办法
2617
查看次数

有没有办法理解安装错误代码的实际含义?

我正在尝试应用内更新功能,但收到 FAILED 安装状态和 -100 安装错误代码。有什么办法让我知道可能是什么原因造成的吗?

我实现了灵活的应用内更新,并记录了每个步骤。在这里遵循 Android 开发者教程

我正在生成一个 apk,其版本代码与 Google Play 中的版本代码较低,并使用相同的签名密钥进行签名。

2019-07-24 16:21:01 +0100 InAppUpdates [String#-666477938]  [T# main]  | install error : 0 
2019-07-24 16:21:01 +0100 InAppUpdates [String#-666477938]  [T# main]  | install status : 1 
2019-07-24 16:21:01 +0100 InAppUpdates [String#-666477938]  [T# main]  | install error : 0 
2019-07-24 16:21:01 +0100 InAppUpdates [String#-666477938]  [T# main]  | install status : 1 
2019-07-24 16:21:01 +0100 InAppUpdates [String#-666477938]  [T# main]  | install status : 1 
2019-07-24 16:21:01 +0100 InAppUpdates [String#-666477938] …
Run Code Online (Sandbox Code Playgroud)

android updates apk kotlin google-play-core

5
推荐指数
1
解决办法
2864
查看次数

java.lang.reflect.InvocationTargetException 而 inappupdate android 如果重试

重现此错误的步骤:

  1. 单击更新按钮并打开更新应用程序对话框,因为它是AppUpdateType.FLEXIBLE.
  2. 点击 No, thanks
  3. 再次尝试更新。应用程序崩溃并出现以下错误:

我在以下行通过 inappupdate 更新应用程序时遇到此异常。

appUpdateManager?.startUpdateFlowForResult(it, AppUpdateType.FLEXIBLE, activity, REQUEST_CODE_FLEXI_UPDATE) //it == AppUpdateInfo object
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:451)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408) 
Caused by: android.content.IntentSender$SendIntentException
        at android.app.Activity.startIntentSenderForResultInner(Activity.java:4878)
        at android.app.Activity.startIntentSenderForResult(Activity.java:4847)
        at androidx.fragment.app.FragmentActivity.startIntentSenderForResult(FragmentActivity.java:796)
        at android.app.Activity.startIntentSenderForResult(Activity.java:4814)
        at androidx.fragment.app.FragmentActivity.startIntentSenderForResult(FragmentActivity.java:781)
        at com.google.android.play.core.appupdate.b.startUpdateFlowForResult(Unknown Source:22)
        at newProfile.NewProfileFragment.startForInAppUpdate(NewProfileFragment.kt:752)
        at newProfile.NewProfileFragment.access$startForInAppUpdate(NewProfileFragment.kt:60)
        at newProfile.NewProfileFragment$setupAppUpdate$3.onClick(NewProfileFragment.kt:682)
        at android.view.View.performClick(View.java:6935)
        at android.widget.TextView.performClick(TextView.java:12752)
        at android.view.View$PerformClick.run(View.java:26214)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
Run Code Online (Sandbox Code Playgroud)

细节:

安卓版本:8.0
手机:三星J7

更新

根据文档,startUpdateFlowForResult应该只调用一次AppUpdateInfo实例。要再次调用,您必须创建AppUpdateInfo …

android kotlin in-app-update google-play-core

5
推荐指数
1
解决办法
1631
查看次数

在应用更新中的 Google Play Core 中安装错误(-100)

我们前一段时间使用 Google Play 核心库实现了应用内更新,最近(从 9 月 8 日开始)在我们的 Crashlytics 上显示了大量安装错误 (-100) 崩溃。不确定 Google Play 是否会在当天推出某些内容,但即使我们将库更新到 1.8.0 版(在 1.7.3 之前),崩溃仍继续达到我们每日活跃用户的 7%。按照崩溃的堆栈跟踪:

Caused by com.google.android.play.core.install.InstallException: Install Error(-100): An internal error happened in the Play Store. (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_INTERNAL_ERROR)
   at com.google.android.play.core.appupdate.o.a(o.java:6)
   at com.google.android.play.core.internal.o.a(o.java:28)
   at com.google.android.play.core.internal.j.onTransact(j.java:20)
   at android.os.Binder.execTransactInternal(Binder.java:1056)
   at android.os.Binder.execTransact(Binder.java:1029)
Run Code Online (Sandbox Code Playgroud)

问题是这个错误是什么?内部错误似乎是一个通用错误,并没有说明如何修复它。

它似乎与此重复,但由于没有答案,我再次询问。 在 Android 中使用应用内更新时如何解决安装状态代码 -100?

android google-play in-app-update google-play-core

5
推荐指数
1
解决办法
144
查看次数

当功能发生代码更改时,我们是否可以仅发布动态功能模块,而不是再次发布整个应用程序?

假设我们的项目中有不同的功能模块,并且其中一项按需功能发生了代码更改。现在我想知道的是,我们是否可以仅针对代码更改的功能构建 .aab(android 应用程序包)或 .apk 并将其上传到 Playstore,而不是再次构建整个应用程序并上传 .aab 文件。并且只有更新的功能才会下载到用户手机中,而不是再次下载整个应用程序。

android google-play google-play-services android-app-bundle google-play-core

4
推荐指数
1
解决办法
903
查看次数

Android,当我使用应用内更新时发生InstallException

Google I/O 2019 新增应用内更新。

所以我尝试按照文档使用它:https ://developer.android.com/guide/app-bundle/in-app-updates

但它发送了一个 InstallException,如下所示:

com.google.android.play.core.tasks.RuntimeExecutionException: com.google.android.play.core.install.InstallException: Install Error: -6
    at com.google.android.play.core.tasks.k.getResult(Unknown Source:18)
    at com.eastriver.workingtimer.ui.MainActivity$onCreate$1.onComplete(MainActivity.kt:35)
Run Code Online (Sandbox Code Playgroud)

我的代码在这里:

val appUpdateManager = AppUpdateManagerFactory.create(this)
val appUpdateInfo = appUpdateManager.appUpdateInfo
appUpdateInfo.addOnCompleteListener {
    val result = it.result
    if (result.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                    && result.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {

        info("should show update")
        appUpdateManager.startUpdateFlowForResult(
            result,
            AppUpdateType.FLEXIBLE,
            this,
            1)
    } else {
        info("This is already latest version!")
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道,它是今天才发布的。但有人知道这个吗?

android google-play in-app-update google-play-core

3
推荐指数
1
解决办法
3027
查看次数

Google 应用程序更新 - 关于 Android Live 应用程序的即时更新

我正在按照以下链接在我的 android 实时应用程序中提供应用程序更新体验或功能。

链接在这里:https : //developer.android.com/guide/playcore/in-app-updates#java

从链接内容来看,我正在实施立即应用更新功能。

到目前为止,我已完成以下步骤:

  1. 也降级了我的应用程序版本和版本代码。
  2. 生成新的 Release APK 并将其安装在我的 Android 设备中。
  3. 在我的 Splash Activity 中为应用程序更新功能添加了以下代码。

实现如下代码:

首先添加依赖项: implementation 'com.google.android.play:core:1.7.1'

然后,在 Splash Activity 中,

        // Creates instance of the manager.
        final AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(SplashActivity.this);

        // Returns an intent object that you use to check for an update.
        Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

        // Checks that the platform will allow the specified type of update.
        appUpdateInfoTask.addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
            @Override
            public void onSuccess(AppUpdateInfo appUpdateInfo) {
                if (appUpdateInfo.updateAvailability() == …
Run Code Online (Sandbox Code Playgroud)

android app-update in-app-update google-play-core

3
推荐指数
1
解决办法
461
查看次数