Xamarin.Forms:应用内更新找不到新版本

问题描述

我想使用应用内更新通过 AppCenter 分发公共更新。 我仔细地遵循了本指南:

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

并且我在本机应用程序中配置了 AppCenter distribute 模块,如下所示:

protected override void OnCreate(Bundle bundle)
{
  base.OnCreate(bundle);

  distribute.ReleaseAvailable = OnReleaseAvailable;    
  distribute.noreleaseAvailable = OnnoreleaseAvailable;
  distribute.SetEnabledForDebuggableBuild(true);  

  AppCenter.LogLevel = LogLevel.Verbose;
  AppCenter.Start("android= [ ... ]",typeof(Analytics),typeof(Crashes),typeof(distribute));
         
  LoadApplication(new App());
}

private bool OnReleaseAvailable(ReleaseDetails releaseDetails)
{
 string versionName = releaseDetails.ShortVersion;
 string versionCodeOrBuildNumber = releaseDetails.Version;
 string releaseNotes = releaseDetails.ReleaseNotes;
 Uri releaseNotesUrl = releaseDetails.ReleaseNotesUrl;

 // custom dialog
 var title = "Version " + versionName + " available!";
 Task answer;

 // On mandatory update,user can't postpone
 if (releaseDetails.MandatoryUpdate)
 {
     answer = App.Current.MainPage.displayAlert(title,releaseNotes,"Download and Install");
 }
 else
 {
     answer = App.Current.MainPage.displayAlert(title,"Download and Install","Maybe tomorrow...");
 }

 answer.ContinueWith((task) =>
 {
     // If mandatory or if answer was positive
     if (releaseDetails.MandatoryUpdate || (task as Task<bool>).Result)
     {
         // Notify SDK that user selected update
         distribute.NotifyUpdateAction(UpdateAction.Update);
     }
     else
     {
         // Notify SDK that user selected postpone (for 1 day)
         // This method call is ignored by the SDK if the update is mandatory
         distribute.NotifyUpdateAction(UpdateAction.Postpone);
     }
 });

 // Return true if you're using your own dialog,false otherwise
 return true;
}

private void OnnoreleaseAvailable()
{
AppCenterLog.Info("Log","No release available callback invoked.");
}      

但是,永远不会触发 OnReleaseAvailable 方法。 这是调用 AppCenter.Start() 方法时的 AppCenter 日志:

[AppCenter] HTTP 响应状态=404 payload={"code":"not_found","message":"错误:未找到 appId 的公开版本:67168064-b072-430e-b513-25171d1e8b5d"} [AppCenterdistribute] 当前用户没有可用的版本。 [AppCenterdistribute] 调用 listener.onnoreleaseAvailable。

新版本已通过 AppCenter 正确提交至 Google Play 商店,更新可用。因此,为什么从未找到该版本?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)