检测该应用是否是Play商店中的Beta应用

时间:2013-05-22 19:44:35

标签: android google-play beta

我担心答案可能“不可能”,但我想知道是否有办法检测我上传的apk到Play商店是否是alpha / beta或稳定频道。

我想实现这个目标,因为我有一个完整的菜单导致Beta功能,我想隐藏在稳定的频道中。

这非常有用,因为虽然我修复了我推送到商店的常规错误,但我不想每次都使用或不使用beta按钮重新编译。

遗憾的是,我没有可以分享的代码,但任何帮助或建议都会受到高度赞赏

enter image description here


我觉得这个功能确实有一个很好的用例。请考虑以下情形:

  1. 我有一个API,可以在prod.api.example.com上增加版本
  2. 我有一个移动应用程序,可以独立增加版本,但依赖于api。
  3. 在api开发人员添加或删除功能之前,他们会在不同的网址上公开更改。说:beta.api.example.com
  4. 我希望我的alpha或beta测试人员始终对抗api的beta网址,因为他们会发现重大变化。
  5. 当新的api更改从beta发布到prod时,我想将我的Android应用程序从alpha或beta推广到prod而不增加我的移动应用程序版本号,并且如果一切正常,则必须重建。

4 个答案:

答案 0 :(得分:1)

真的很简单,上传不同的APK。仅使用测试版渠道中的测试版功能维护不同的代码分支。重新编译不应该是一个很大的麻烦。你使用某种形式的源代码控制吗?

答案 1 :(得分:1)

我希望有一种方法可以很容易地做到这一点,但我还没找到。

另一种选择是拥有一个包含测试版功能的标记,然后使用Google跟踪代码管理器http://www.google.com/tagmanager/在您将应用升级到生产之前切换您在测试版发布时只需要的功能。

答案 2 :(得分:0)

Alpha / Beta刚刚推出,谷歌没有提到你想要的任何东西 如果这样的事情是可能的,它的位置可能是Google Play Services 它不存在。

可能的解决方法 -
如果您知道要从测试版生产到生产的日期,可以使用以下小技巧:将调试菜单的默认可见性设置为gone,并在此日期之前将其设置为在代码中可见。

答案 3 :(得分:-1)

假设通常将相同的APK从Beta升级为正式版,则您的应用可以使用Android HttpURLConnnection来读取您自己的应用ID的Google Play商店详细信息页面。

如果当前用户已注册Beta,则应用名称将显示为“ 应用名称(测试版)”,否则将仅为“ 应用名称” < / p>

示例Java代码,以了解您如何在下面实现该代码:

boolean isBeta = false;
URL url = new URL("https://play.google.com/sore/apps/details?id=com.example.app");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
  InputStream in = new BufferedInputStream(urlConnection.getInputStream());
  Scanner scanner = new Scanner(in);
  isBeta = (scanner.findWithinHorizon("\\s\\(Beta\\)", 650000) != null);
} finally {
  urlConnection.disconnect();
}