如何解决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 举报,一经查实,本站将立刻删除。