尝试在Android中使用Appcenter Distribute

问题描述

你好,我遵循了指南

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中执行此操作,我看到正在打印日志,但没有弹出对话框

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

解决方法

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

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
}

}