当前位置:网站首页>【HMS core】【FAQ】Account、IAP、Location Kit and HarmonyOS典型问题合集1
【HMS core】【FAQ】Account、IAP、Location Kit and HarmonyOS典型问题合集1
2022-07-30 15:15:00 【华为开发者论坛】
1. 引用定位服务SDK后,版本高于6.2.0.300时,编译报错。
问题描述:
在集成IAP时,遇到鸿蒙2.0版本客户App会出现无法启动的情况,更新最新版本,使用SDK的最新版本,切换到com.huawei.hms:location:6.2.0.30及其以上版本就会编译失败。
报错时的信息截图:
解决方案一:
不是location kit升级导致的,建议查一下AS同步项目时的一些报错,如:
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException
Caused by: com.android.builder.merge.DuplicateRelativeFileException
这两个解决方案可以参考:
https://stackoverflow.com/questions/57997668/project-fails-to-compile-after-renaming
解决方案二:
(如果一直使用这个版本:implementation 'com.huawei.hms:location:6.0.0.302',同样的环境,升级到6.2.0.300或6.3.0.302就会提示编译报错,是否需要增加剔除libstlport_shared.so,也没有使用相关的库,是否因为Location的库包含这个so)
在app/build.gradle里面加规避不必要的依赖文件
packagingOptions {
exclude 'core.properties'
}
2. 登陆授权时候,会弹出dialog加载转圈,导致window的DecorView状态改变,手机做的延申背景的刘海位置出现黑边。
问题描述:
在华为手机账号授权手机登陆,dialog加载时不出现黑边,dialog出现时刘海出现黑色覆盖页面。
agc登陆时,华为账号进行授权登陆,在授权的时候弹出dialog,流海出现黑色覆盖。
初步分析:
登陆授权时候,会弹出dialog加载转圈,导致window的DecorView状态改变,手机做的延申背景的刘海位置出现黑边
解决方案:
经过和账号研发以及HMS Core 框架开发联合确认,这个是之前已经定位的已知问题,650已经提了需求的,框架这边有个界面没有做挖空屏适配,到时候应该需要和账号那边一起调一下,因为仅仅修改框架透明页的挖空屏适配也是无法解决问题的。后面的HMS Core 640版本升级了会得到解决。
3. 鸿蒙开发,在library中js如何实现国际化
问题描述:
library中,js实现国际化,在i18n下的zh-CN.json添加字符串(如下图),通过this.$t('strings.app_not_install')获取字符串,希望在library中可以正常获取到国际化字符串
初步分析:
鸿蒙开发可以在entry中国际化,
如果想修改其国际化资源文件,找到js下default下i18n下zh-CN.json。然后修改成显示的文本,重新运行。
该问题可以参考的文档如下:
鸿蒙基于JS搭建HelloWorld并修改国际化文件_霸道流氓气质的博客-CSDN博客
解决方案:
js实现国际化可参考最新的应用配置。
该问题可以参考的文档如下:
4. 接收订阅关键事件通知出错
问题描述:
接收订阅关键事件通知的时候,按照实例代码解析JSON内容,内容为空。
附代码:
header("Content-Type: application/json; charset=utf-8");
file_get_contents("php://input");
$request = json_decode($raw_post_data,false);
var_dump($request);
$response = new StatusUpdateNotificationResponse();
if(empty( $request->statusUpdateNotification)|| empty($request->notifycationSignature))
{
$response->errorCode = 1; //failure
$response->errorMsg = "the notification message is empty";
echo $response->buildResponse();
return;
}
调用了IAP的接口接收订阅事件网址:https://www.zymap.xyz/hwMessage.php
实际返回的结果:{"result":1,"errorMsg":"the notification message is empty"}
初步分析:
是服务器方订阅关键事件通知,无法解析JSON的问题。
订阅事件地址配置可参考这个文档:
注意:建议所有提供订阅商品的App均配置该通知地址,以便接收订阅商品关键事件通知,为顾客提供更好、更及时的服务。另外,通知地址必须基于HTTPS并且配置有商业域名机构颁发的证书。
解决方案:
配置了订阅通知仍然接收不到。检查发现:json文件本身有问题啊,格式不正确,转义的时候出现问题,导致json数据破坏了
所以是框架侧有没有处理过,对这些数据有没有做操作。并且接收订阅通知内容要使用string来接受。
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
边栏推荐
猜你喜欢
二、判断 & 循环
How do luxury giants such as GUCCI and LV deploy the metaverse, should other brands keep up?
481-82 (105, 24, 82, 34, 153),
php如何截取字符串的前几位
类和对象(下篇)
本地事务与分布式事务
动态规划 --- 状态压缩DP 详细解释
Mysql database query is very slow. Besides the index, what else can be caused?
深度学习遇到报错Bug解决方法(不定时更新)
Flask之路由(app.route)详解
随机推荐
tiup clean
一文读懂Elephant Swap,为何为ePLATO带来如此高的溢价?
Flask入门学习教程
Classes and Objects (Part 2)
FME实现CAD带属性转SHP数据方法
微服务该如何拆分?
Load Base Split 使用文档
Delayed message queue
Back waves are coming!Ali produced the "second generation" container technical manual and brain map, which is too fragrant
When the vite multi-page application refreshes the page, it will not be in the current route and will return to the root route
C# List<T> 模板的案例
tiup list
2022最新 | 室外单目深度估计研究综述
Alluxio for Presto fu can across the cloud self-service ability
Is Redis really slow?
(Popular Science) What is Fractional NFT (Fractional NFT)
调试 - 笔记
TiDB 工具下载
Nature Microbiology综述:聚焦藻际--浮游植物和细菌互作的生态界面
TiUP 故障排查