我一直在阅读华为的文档以实现其服务。
文档简单明了,但我有一些疑问。
华为的SDK可以在两个商店的同一个APK中存在吗?还是我需要为gms和hms实施不同的apk?
如果实现hms,如何知道hms是否正在从MOTO等其他设备读取数据。
答案 0 :(得分:2)
您可以同时使用HMS和GMS服务。 某些对非华为设备的HMS服务支持(例如Scan Kit),而一些工具包则限制了EMUI和华为手机。
如果需要应用,您已经创建的应用已移入HMS生态系统,则可以使用HMS Toolkit并快速实施HMS服务。 (details)
答案 1 :(得分:1)
华为的SDK是否可以在两个商店的同一个APK中存在?
-是的,您可以创建一个应用并为GMS和HMS实现库。
如果我实施hms,如何知道hms是否正在从MOTO等其他设备读取数据。
您可以致电Google或华为负责检测服务的职能部门。
请从此处查看我的最新答案:https://stackoverflow.com/a/60587678/619673
答案 2 :(得分:1)
有几种方法可以解决此问题。当然,您可以选择维护2组源代码,这是极不推荐的,您可以选择从两侧保留库,检测可用的服务并相应地调用它们。但是,我建议实现不同的产品口味并根据平台构建产品。
android{
flavorDimensions "default"
productFlavors{
hmsVersion{
//select the dimension of flavor
dimension "default"
//Configure this flavor specific app name published in Huawei App Gallery
resValue "string", "flavored_app_name", "App name"
}
gmsVersion{
//select the dimension of flavor
dimension "default"
//Configure this flavor specific app name published in Play Store
resValue "string", "flavored_app_name", "App Name"
}
}
}
然后您可以执行类似的操作
// HMS Flavor
hmsVersionImplementation 'com.huawei.hms:hianalytics:4.0.3.300'
// GMS Flavor
gmsVersionImplementation 'com.google.firebase:firebase-analytics:17.4.0'