【问题标题】:Prepare app for both app gallery and google play store为应用程序库和 Google Play 商店准备应用程序
【发布时间】:2022-12-08 06:09:58
【问题描述】:

这是为应用程序库和 Play 商店发布准备应用程序的最佳实践方法

在网上搜索我发现了几种方法:

-(1) 使用风格(一种用于 googlePlay,一种用于 appGallery),每个都定义相同的布尔字段“isHuawei”(no 用于 googlePlay 和 yes 用于 appGallery 风格)。基于这个布尔值是否使用了谷歌播放服务

productFlavors {
    google {
        buildConfigField "boolean", "isHuawei", "false"
    }
    huawei {
        buildConfigField "boolean", "isHuawei", "true"
    }
}

-(2)为应用程序库发布添加 gradle :

project.gradle.startParameter.excludedTaskNames.add('processHuaweiReleaseGoogleServices')

huawei release不运行这个task会不会有什么不便?

-(3)以下代码判断是在华为(没有google play)上运行还是在有google play的手机上运行

FirebaseMessaging.getInstance().token.addOnCompleteListener { task -> if (!task.isSuccessful) { noGMS } else { GMS }}

-(4)使用

GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(nContext))

了解此版本是否适用于带有 GMS 的手机。

在应用程序启动时使用上面的 1,3 和 4 来查明应用程序当前是否在有或没有 GMS 的手机上运行是一个好习惯吗? 如果这三个都返回false,则可能意味着该应用程序正在没有 GMS 的手机上运行。

有华为手机可以有App Gallery和Google Play Store。如何管理同时运行两个商店的华为手机的应用程序发布?

【问题讨论】:

    标签: android google-play huawei-mobile-services appgallery


    【解决方案1】:

    在华为手机上发布应用到应用市场,您会遇到两种情况:

    • 应用程序在同时具有 GMS(谷歌移动服务)和 HMS(华为移动服务)的华为手机上运行
    • 应用程序在仅具有 HMS(华为移动服务)的手机上运行

    如果您想在两种情况下使用一个 APK:为了保证您的应用程序适用于具有 GMS+HMS 的华为手机和仅具有 HMS 的华为手机,您可以使用帖子中提到的 1、3、4 来判断手机是 GMS 手机还是 HMS 手机,并以不同的方式处理情况你的代码。原因是:在华为HMS-only手机上,它没有GMS来支持一些谷歌SDK,如IAP,地图等。你需要在你的应用中集成华为HMS IAP,地图等SDK,以便让它起作用。

    您可以找到所有详细的 HMS SDK 信息。这里:https://developer.huawei.com/consumer/en/hms

    或者对于复杂的业务逻辑和支持未来的 API 更改(包括弃用),您可以有两个代码库:一个 APK 集成了 HMS SDK,适用于只有 HMS 的华为手机,另一个 APK 适用于同时具有 HMS 和 GMS 的华为手机。这也意味着您需要为您在华为应用市场提交的 APK 使用不同的包名和密钥。这将有助于避免更新与 Google Play 商店中的版本冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 2019-11-17
      • 2012-12-13
      • 2014-01-24
      相关资源
      最近更新 更多