"应用程序内更新" HockeyApp SDK的功能无法按预期工作

时间:2018-03-05 04:31:51

标签: c# android xamarin hockeyapp app-update

HockeyApp SDK提供了一项新功能" In-App Update"。此功能会检查您的应用商店版本的新版本是否可用,如果是,它将向用户显示警报视图,并让他在App Store应用中打开您的应用。

根据文档中的描述,Xamarin.Droid项目中的实现如下:

protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.CustomerInfoLayout);

        // Hockey App SDK API - for In-App Update.
        // _appUtils.HockeySecretKey - the value is the key got from the hockey portal when the App was registered.
        UpdateManager.Register(this, _appUtils.HockeySecretKey);

        // Initializes certain UI elements.
        Initialize();
    }

清单定义了所需的权限,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="com.xyz.abc" android:versionCode="100000000" android:versionName="1.0.0">
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
    <application android:label="Abc" android:icon="@drawable/App_Icon" android:name="Abc.Droid.AbcApplication">
    <meta-data android:name="net.hockeyapp.android.appIdentifier" android:value="3436451c725e49988d6f12dc843d85e8" />
  </application>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.INTERNET" />
</manifest>

虽然实施符合所提供的文档:[{1}}

,但实施不起作用

为了测试此功能的工作原理,使用版本号2.0.0和2.1.0生成了两个版本,并在Alpha版本上上传到HockeyApp上。此外,该设备上安装了2.0.0。具有集成API的主屏幕已经打开了很长一段时间,没有任何反应,理想情况下它应该提供一个弹出窗口来通知2.1.0版本可用。

嗅探工具Charles用于检查是否有任何查询发生,并且HockeySDK发出的查询返回200结果代码,其中响应只是空括号{}。

文档还说默认情况下禁用此功能,但没有提及如何启用它。

其他信息:正在使用的HockeyApp SDK DLL是最新版本5.1.2。同样的实现也在版本5.1.1中进行了测试。

查询: 此功能是否适用于在App Store或Hockey App上传的版本?如果它适用于在Hockey App上传的版本,那么它应该是Alpha版本还是Beta版本?

此外,感谢任何类型的帮助以使此功能正常工作。谢谢!

1 个答案:

答案 0 :(得分:2)

HockeyApp支持团队在这方面提供了很多信息。

将构建内容上传到HockeyApp商店时,可以将构建分发给受限用户或无限制用户。 1)如果不受限制的用户,上面提供的应用程序内更新功能的实现完全正常。 2)如果受限用户,则需要具有身份验证功能,之后应触发应用程序内更新功能。

PS - 实施身份验证功能的文档https://support.hockeyapp.net/kb/client-integration-cross-platform/how-to-integrate-hockeyapp-with-xamarin#authentication