"In-App Update" HockeyApp SDK 的功能未按预期运行
"In-App Update" feature of HockeyApp SDK does not work as expected
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>
该实现不起作用,尽管它符合提供的文档:https://support.hockeyapp.net/kb/client-integration-cross-platform/how-to-integrate-hockeyapp-with-xamarin#feedback
为了测试此功能的工作情况,生成了版本号为 2.0.0 和 2.1.0 的两个版本,并作为 Alpha 版本上传到 HockeyApp。此外,2.0.0 安装在设备上。集成了 API 的主屏幕打开了很长一段时间,没有任何反应,理想情况下它应该提供一个弹出窗口来通知版本 2.1.0 可用。
嗅探工具 Charles 用于检查是否有任何查询发生,HockeySDK 发出的查询 returns 200 结果代码,其中响应只是空括号 {}。
文档还说这个功能默认是禁用的,虽然它没有提到如何启用它。
附加信息:正在使用的 HockeyApp SDK DLL 是最新版本 5.1.2。同样的实现也在 5.1.1 版本中进行了测试。
查询:
此功能是否适用于在 App Store 或 Hockey App 中上传的构建?如果它适用于在 Hockey App 中上传的构建,那么它应该是 Alpha 构建还是 Beta 构建?
此外,如果您能提供任何类型的帮助以实现此功能,我们将不胜感激。谢谢!
HockeyApp 支持团队在这方面提供了很多信息。
将构建上传到 HockeyApp 商店时,可以将构建分发给受限用户或不受限用户。
1) 在 不受限制的用户 的情况下,上面为 In-App 更新功能提供的实现工作得很好。
2) 如果是受限用户,则需要启用身份验证功能,然后触发In-App 更新功能。
PS - 实现身份验证功能的文档 https://support.hockeyapp.net/kb/client-integration-cross-platform/how-to-integrate-hockeyapp-with-xamarin#authentication
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>
该实现不起作用,尽管它符合提供的文档:https://support.hockeyapp.net/kb/client-integration-cross-platform/how-to-integrate-hockeyapp-with-xamarin#feedback
为了测试此功能的工作情况,生成了版本号为 2.0.0 和 2.1.0 的两个版本,并作为 Alpha 版本上传到 HockeyApp。此外,2.0.0 安装在设备上。集成了 API 的主屏幕打开了很长一段时间,没有任何反应,理想情况下它应该提供一个弹出窗口来通知版本 2.1.0 可用。
嗅探工具 Charles 用于检查是否有任何查询发生,HockeySDK 发出的查询 returns 200 结果代码,其中响应只是空括号 {}。
文档还说这个功能默认是禁用的,虽然它没有提到如何启用它。
附加信息:正在使用的 HockeyApp SDK DLL 是最新版本 5.1.2。同样的实现也在 5.1.1 版本中进行了测试。
查询: 此功能是否适用于在 App Store 或 Hockey App 中上传的构建?如果它适用于在 Hockey App 中上传的构建,那么它应该是 Alpha 构建还是 Beta 构建?
此外,如果您能提供任何类型的帮助以实现此功能,我们将不胜感激。谢谢!
HockeyApp 支持团队在这方面提供了很多信息。
将构建上传到 HockeyApp 商店时,可以将构建分发给受限用户或不受限用户。 1) 在 不受限制的用户 的情况下,上面为 In-App 更新功能提供的实现工作得很好。 2) 如果是受限用户,则需要启用身份验证功能,然后触发In-App 更新功能。
PS - 实现身份验证功能的文档 https://support.hockeyapp.net/kb/client-integration-cross-platform/how-to-integrate-hockeyapp-with-xamarin#authentication