3

大家好,我遵循了指南

https://docs.microsoft.com/en-us/appcenter/sdk/distribute/android

 AppCenter.start(getApplication(), "real app secret ", Distribute.class);
 Log.e("Distribute","start worked for Dist without listener");

我在为我的应用程序登录的库的 onCreate 中执行此操作,我看到正在打印日志但没有弹出对话框

任何想法可能是什么问题?

4

1 回答 1

0

您是否实现了自定义侦听器?它应该从下面的接口扩展。我提供了一个对我有用的例子!

Distribute.setListener(new AppCenterUpdateListener());
Distribute.setEnabled(true);
AppCenter.start(getApplication(),"secret", Distribute.class);


class AppCenterUpdateListener : DistributeListener {

override fun onReleaseAvailable(activity: Activity, releaseDetails: ReleaseDetails): Boolean {
    // Look at releaseDetails public methods to get version information, release notes text or release notes URL
    val versionName = releaseDetails.shortVersion
    val versionCode = releaseDetails.version
    val releaseNotes = releaseDetails.releaseNotes
    val releaseNotesUrl = releaseDetails.releaseNotesUrl

    // Build our own dialog title and message
    val dialogBuilder = AlertDialog.Builder(activity, R.style.alertDialogNoBar)
    dialogBuilder.setTitle("Version $versionName available!")
    dialogBuilder.setMessage(releaseNotes)

    // Mimic default SDK buttons
    dialogBuilder.setPositiveButton(com.microsoft.appcenter.distribute.R.string.appcenter_distribute_update_dialog_download) { _,_ ->
        Distribute.notifyUpdateAction(UpdateAction.UPDATE)
    }

    // We can postpone the release only if the update is not mandatory
    if (!releaseDetails.isMandatoryUpdate) {
        dialogBuilder.setNegativeButton(com.microsoft.appcenter.distribute.R.string.appcenter_distribute_update_dialog_postpone) { _,_ ->
            Distribute.notifyUpdateAction(UpdateAction.POSTPONE)
        }
    }
    dialogBuilder.setCancelable(false)
    dialogBuilder.create().show()

    // Return true if you are using your own dialog, false otherwise
    return true
}

}

于 2020-10-02T15:39:10.460 回答