当前位置: 首页 > news >正文

助力 Tuanjie OpenHarmony 开发:如何使用工具包 Hilog 和 SDK Kits Package?

随着团结引擎从 1.0.0 迭代至 1.3.0,越来越多的开发者开始使用团结引擎开发 OpenHarmony 应用。

在开发的过程中,我们也收到了大量反馈,尤其是在日志、堆栈和性能数据方面,这些信息对开发和调试过程至关重要。同时,我们注意到,越来越多的应用尝试接入登录、支付、推送和广告等 SDK,以便上架并丰富 OpenHarmony 生态。

结合广大开发者的反馈以及引擎 OpenHarmony 团队自身的开发经验,为了帮助移动端应用更快速地适配这一崭新的平台,提高开发效率与效果,我们在团结引擎中隆重推出两个全新工具包:OpenHarmony Hilog Package 和 OpenHarmony SDK Kits Package。

下文将详细介绍如何快速上手体验,欢迎广大开发者前来下载使用,共同推动 Tuanjie OpenHarmony 的发展!

OpenHarmony Hilog Package (v1.0.0)

支持 Tuanjie Editor OpenHarmony 平台连接真机实时查看 log、内存,还原堆栈等,v1.0.0 主要功能包括:

  • Editor 支持直连 OpenHarmony 真机;

  • 支持实时按需显示/筛选 log;

  • 支持还原堆栈,帮助快速定位问题;

  • 支持显示实时内存占用,支持计算自定义时间间隔内平均消耗;

  • 支持抓取 ArkUI Dump 文件。

1、下载安装、连接真机

推荐使用 Tuanjiie 1.3.0 及以上版本 Editor。

在 Tuanjie Editor 中,通过顶部导航栏:Windows >> Package Manger,打开 Package Manager,点击左上角,切换为:Unity Registry,在搜索框中输入:“Hilog”,即可检索到 OpenHarmony Hilog Package,点击“Install”,Editor 会自动进行下载安装。

安装完成后,通过顶部导航栏:Windows >> Analysis >> OpenHarmony Hilog,即可打开该操作界面。

我们提供有线和无线两种连接方式,支持同时连接多台设备,可以使用数据线直接连接 OpenHarmony 设备和 Tuanjie Editor,当打开 OpenHarmony Hilog 窗口时,Tuanjie 会自动连接 OpenHarmony 设备,也可以手动输入 ip 地址进行无线连接。

 2、Hilog

连接到 OpenHarmony 真机后,hilog 窗口会自动刷新并实时显示设备上的 log 信息。窗口被划分为 3 个区域,顶部可以进行切换设备、筛选包体、筛选 log level、筛选 tag 等操作,来精准筛选所需 log 信息。同时支持自定义输入内容进行准确查找,支持模糊搜索和正则匹配。

页面中间会实时显示筛选出的 log 信息,同时点击右键,支持 log 保存、自定义 tag 等操作。

3、Stacktrace Utility

Stacktrace Utility 窗口帮助开发者一键还原堆栈,无需借助三方软件,在窗口内直接粘贴堆栈信息,点击按钮直接匹配符号表快速还原堆栈,一键还原崩溃现场,快速定位问题。支持自定义符号表文件路径、后缀等。

4、Memory

Memory 窗口支持实时跟踪为当前所选应用分配的内存。可以定期自动捕获所选应用的内存快照。也可以统计一段自定义时间的内存占用数据,包括峰值及均值。

5、ArkUI Dump

ArkUI Dump 窗口可以捕获 OpenHarmony 设备上前台应用程序的 ArkUI Dump 文件,以帮助了解应用程序的 ArkUI 组件和结构。成功连接真机后,点击“Get ArkUI Dump on Screen”,窗口将自动捕获当前设备前台页面的 ArkUI 结构,可一键保存。

OpenHarmony Hilog 详细文档可点击查看: https://docs.unity.cn/cn/tuanjiemanual/1.3/Manual/openharmony-hilog-introduction.html

OpenHarmony SDK Kits Package (Beta v0.0.1)

帮助 OpenHarmony 开发者快速接入一系列常用场景 SDK,默认提供 Settings 配置面板,内置 Demo Scene,集成各场景下 SDK 接入的完整 API 调用流程,可直接导出/打包,在真机上运行,开箱即用,首个 Beta 版本已接入 Accout&GameService、IAP、Push。Ads、Notification 等接入预计于近期版本发布,敬请期待!

Beta v0.0.1 主要功能包括:

• Settings 面板:

○ 提供接入 SDK Kits 的公共配置项填写,和 Player Settings 保持同步变更;

○ 可勾选一键接入 SDK Kit,支持各 SDK Kit 定制化配置项填写,支持一键打开 Demo Scene,体验接入全流程。

• Demo Scenes:

○ Account & GameService Demo 覆盖初始化、登入/登出、绑定/解绑 Player,验证 Player 信息并上报、Game Performance 初始化及更新等;

○ IAP Demo 覆盖验证支付环境、查询各种类商品信息、完整购买流程、完整订阅流程;

○ Push Demo 支持获取 Token,支持模拟发送 Push message 并接收 Push message。

1、下载安装

推荐使用 Tuanjiie 1.3.0 及以上版本 Editor。

在 Tuanjie Editor 中,通过顶部导航栏:Windows >> Package Manger,打开 Package Manager,点击左上角“+”号,选择“Add package by name”,输入“cn.tuanjie.openharmony.sdkkit”,即可检索到 OpenHarmony SDK Kits Package,点击“Install”,Editor 会自动进行下载安装。

完成安装后,可以通过顶部的“OpenHarmonySDKKits”选项访问 Tuanjie Editor 中的 Setting 面板,在 Setting 面板中,可以直接填入接入所需的 client id、app id、bundle name 等信息,填入后,会自动同步并配置到项目及后续导出工程中需要这些参数的位置,无需多次修改。

Settings 面板中,可以直接勾选应用需要接入的具体 SDK,如 Account & Game service 等。支持打开各 SDK 对应的内置 Demo 场景查看,Demo 场景中已经完成各 SDK 的接入及全流程必须的接口调用,支持直接导出 DevEco 工程及真机测试,可直接在 demo 场景上二次开发或参考对应脚本自行接入。

2、Account & Game Service Kit

Account & Game Service 中,已内置接入所需的全流程,每个按钮对应不同的接口及功能,包括:

• Account & Game Service 相关:

○ 初始化游戏服务:点击后调用 init 接口,初始化游戏服务;

○ 登录:点击调用 unionLogin 接口进行联名登录,会弹出二级窗口询问登录方法,登录成功后返回获取的玩家 ID、needBinding、accountName 等信息;

○ 注销:点击订阅并触发注销事件;

○ 绑定玩家:点击调用 bindPlayer 接口,将玩家 ID 与游戏官方账号绑定,并上报绑定结果;

○ 验证玩家:点击调用 verifyLocalPlayer 接口进行合规性验证,账号服务会验证当前设备的实名认证和游戏防沉迷控制状态,若验证失败会返回相应的错误码;

○ 保存玩家信息:合规性检查成功后,当玩家创建角色时,点击调用 savePlayerRole 上报玩家的角色信息。

• Game Performance 相关:

○ 初始化:点击调用 init 接口,初始化游戏场景感知;

○ 获取设备信息:点击调用 on 接口订阅设备状态变化事件,获取设备状态变化通知(如设备温控等级);

○ 更新游戏信息:点击调用 updateGameInfo接口上报游戏信息。

3、IAP Kit

接入应用内支付前,需要在 AppGallery 配置并上架商品信息,并将商品信息及对应的商品类型填入 OpenHarmony SDK Kits Settings 窗口内:

Demo 场景中已内置接入 IAP Kit 所需的全流程,每个按钮对应不同的接口及功能,包括:

• 通用查询:

○ 验证支付环境:点击向 IAP Kit 发送 queryEnvironmentStatus 请求,判断用户当前登录账号的服务所在地是否在 IAP Kit 支持结算的国家/地区;

○ 查询订阅商品:点击调用 queryProducts 获取 AppGallery Connect 上配置的商品信息,返回订阅的商品信息 Products 列表,包括商品价格、名称、描述等;

○ 查询可消耗商品:点击调用 queryProducts 获取 AppGallery Connect 上配置的商品信息,返回可消耗的商品信息 Products 列表,包括商品价格、名称、描述等;

○ 查询不可消耗商品:点击调用 queryProducts 获取 AppGallery Connect上 配置的商品信息,返回不可消耗的商品信息 Products 列表,包括商品价格、名称、描述等。

• 订阅及购买全流程:

○ 创建购买:点击显示一个窗口,其中包含可购买的消耗品和非消耗品。然后发送 createPurchase 请求以调出 IAP Kit 收银台;

○ 创建订阅:点击显示一个窗口,其中包含可订阅的订阅商品。然后发送 createPurchase 请求以调出 IAP Kit 收银台;

○ 检查购买信息:点击调用 queryPurchases 查看本次购买的结果;

○ 完成购买或订阅:点击发送 FinishPurchase 请求以确认发货,通知 IAP 服务器更新商品的发货状态,并完成购买流程。

4、Push Kit

在常见的应用推送场景中,推送消息应该由服务器发送,由客户端接收。为了演示整个推送流程,我们在 Demo 中也内置了发送推送消息的功能。

Demo场景中已内置接入 Push Kit 所需的全流程,每个按钮对应不同的接口及功能,包括:

  • 标题、正文、Push 按钮:如果没有服务器,可以输入推送消息的标题及正文,然后点击推送,模拟发送消息;

  • 获取 token:点击获取推送 token。

OpenHarmony SDK Kits 详细文档可点击查看:https://docs.unity.cn/cn/tuanjiemanual/1.3/Manual/openharmony-sdkkits-introduction.html

以上,Hilog Package 和SDK Kits Package 已在引擎内正式发布,欢迎广大开发者下载体验。我们期待收到更多反馈,让我们一起为 Tuanjie OpenHarmony 的成长贡献力量!

下载与反馈渠道

OpenHarmony Package下载方式:

• OpenHarmony Hilog Package (v1.0.0):Tuanjie Editor (1.3.0及以上) >> windows >> package manager >> 切换至Unity Registry >> 搜索“Hilog”

• OpenHarmony SDK Kits Package (Beta v0.0.1):Tuanjie Editor (1.3.0及以上) >> windows >> package manager >> 点击左上角“+”号 >> 点击“Add package by name” >> 输入“cn.tuanjie.openharmony.sdkkit”

反馈渠道:

• Tuanjie editor 内直接反馈:Tuanjie Editor >> Help >> Report a Bug

• 官方社区直接提问(推荐):https://developer.unity.cn/plate/tuanjie-engine (添加 OpenHarmony 标签)

团结引擎是 Unity 中国的引擎研发团队基于 Unity 2022 LTS 版本为中国开发者定制的实时 3D 引擎;基于 Unity 的核心能力,团结引擎团队倾听中国开发者的声音和需求,为团结引擎加入了一些中国开发者需要的定制化功能,并会在未来持续不断为中国开发者量身定制需要的功能。

团结引擎 1.3.1 版本现已发布,欢迎点击阅读原文下载体验或至官网了解产品详情。

[1]团结引擎官网:

https://unity.cn/tuanjie/tuanjieyinqing

[2]团结引擎问答专区:

https://developer.unity.cn/plate/tuanjie-engine?tab=ask

相关文章:

助力 Tuanjie OpenHarmony 开发:如何使用工具包 Hilog 和 SDK Kits Package?

随着团结引擎从 1.0.0 迭代至 1.3.0,越来越多的开发者开始使用团结引擎开发 OpenHarmony 应用。 在开发的过程中,我们也收到了大量反馈,尤其是在日志、堆栈和性能数据方面,这些信息对开发和调试过程至关重要。同时,我…...

NSDT 3DConvert:高效实现大模型文件在线预览与转换

NSDT 3DConvert 作为一个 WebGL 展示平台,能够实现多种模型格式免费在线预览,并支持大于1GB的OBJ、STL、GLTF、点云等模型进行在线查看与交互,这在3D模型展示领域是一个相当强大的功能。 平台特点 多格式支持 NSDT 3DConvert兼容多种3D模型…...

电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据

电商数据采集可以通过多种方式完成,其中包括人工采集、使用电商平台提供的API接口、以及利用爬虫技术等自动化工具。以下是一些常用的电商数据采集方法: 人工采集:人工采集主要是通过基本的“复制粘贴”的方式在电商平台上进行数据的收集&am…...

VUE+Node.js+mysq实现响应式个人博客|项目初始化+路由配置+基础组件搭建

Day 1 开发文档:项目初始化与基础架构搭建 一、项目初始化 1. 创建项目 首先,我们使用 Vite 创建一个基于 Vue 3 的项目: # 创建项目 npm create vitelatest my-blog -- --template vue # 这条命令会创建一个名为 my-blog 的新项目&#…...

Python如何正确解决reCaptcha验证码(9)

前言 本文是该专栏的第73篇,后面会持续分享python爬虫干货知识,记得关注。 我们在处理某些国内外平台项目的时候,相信很多同学或多或少都见过,如下图所示的reCaptcha验证码。 而本文,笔者将重点来介绍在实战项目中,遇到上述中的“reCaptcha验证码”,如何正确去处理并解…...

web3跨链预言机协议-BandProtocol

项目简介 Band Protocol 项目最初于 2017年成立并建立在 ETH 之上。后于2020年转移到了 Cosmos 网络上,基于 Cosmos SDK 搭建了一条 Band Chain 。这是一条 oracle-specific chain,主要功能是提供跨链预言机服务。Cosmos生态上第一个,也是目…...

JAVA将集合切分成指定份数(简易)

JAVA将集合切分成指定份数 主要方法 /** * 主要方法* param list 切分的集合* param count 切成的份数* return*/ public static List<List> splitList(List list,int count){if(count <0 ){return Lists.newArrayList();}List<List> result Lists.newArrayL…...

深度神经网络(DNN)在时序预测中的应用与缺陷

目录 ​编辑 一、DNN在时序预测中的应用 二、DNN的缺陷 三、技术挑战与未来趋势 四、结论 随着大数据时代的到来&#xff0c;深度学习技术在时序预测领域扮演着越来越重要的角色。深度神经网络&#xff08;DNN&#xff09;因其强大的非线性拟合能力和自动特征提取能力&…...

springboot445新冠物资管理(论文+源码)_kaic

摘 要 使用旧方法对新冠物资管理的信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在新冠物资管理的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。这次开发的新冠物资管…...

C++算法第十一天

本篇文章我们继续学习动态规划 目录 第一题 题目链接 题目解析 代码原理 代码编写 第二题 题目链接 题目解析 代码原理 代码编写 第三题 题目链接 题目解析 代码原理 代码编写 第四题 题目链接 题目解析 代码原理 代码编写 第五题 题目链接 题目解析 代…...

常 用 类

一、 Object 类 1. Object 类的介绍 (1) Object 类位于 java.lang 包中&#xff0c;是继承关系的根类、超类&#xff0c;是所有类的父类 ( 直接的父类或是间接父类 ) (2) Object 类型的引用可以用于存储任意类型的对象。 (3) Object 类中定义方法&#xff0c;所有类都可以…...

ACL(访问控制列表)

ACL技术概述 • 随着网络的飞速发展&#xff0c;网络安全和网络服务质量 QoS &#xff08; Quality of Service &#xff09;问题日益突出。 ▫ 园区重要服务器资源被随意访问&#xff0c;园区机密信息容易泄露&#xff0c;造成安全隐患。 ▫ Internet 病毒肆意侵略园区内网&am…...

json字符串转json

问题 Json格式化后&#xff0c;存在各种\n ,\r,以及空格&#xff0c;怎么办&#xff1f; 直接replaceAlll(“\s”,“”) 吗&#xff1f; 解决办法&#xff1a; //使用hutool的jsonutil工具&#xff0c;直接将其转换为json&#xff0c;再转string, //这样就不需要使用 各种re…...

GPT-Omni 与 Mini-Omni2:创新与性能的结合

近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;各种模型和平台应运而生&#xff0c;以满足从个人用户到企业级应用的多样化需求。在这一领域&#xff0c;GPT-Omni 和 Mini-Omni2 是两款备受瞩目的技术产品&#xff0c;它们凭借独特的设计和强大的功能&#xff0c;在…...

探秘 JSON:数据交互的轻盈使者

文章目录 一、JSON是什么二、JSON的语法规则三、应用场景四、性能优化五、总结 一、JSON是什么 JSON&#xff08;JavaScript Object Notation&#xff09;即 JavaScript 对象表示法&#xff0c;是一种轻量级的数据交换格式。JSON 以键值对的形式组织数据&#xff0c;键是字符串…...

源码分析之Openlayers中的Attribution属性控件

概述 本文主要介绍 Openlayers 中Attribution属性控件的源码实现&#xff0c;该控件也是 Openlayers 中三个默认控件之一。默认情况下&#xff0c;控件会显示在地图的右下角&#xff0c;可以通过控件的类名设置CSS属性控制。实际应用中该控件主要显示与图层源source相关的所有…...

Shell自定义(二)

1.Shell自定义 1.初始化 定义全局变量environ&#xff0c;把g_env的内容用memset初始化为0&#xff0c;这里用malloc开辟的空间为对应环境变量的长度1&#xff0c;多1位置是最后结束符0&#xff0c;strcpy把此时的对应的环境变量拷贝到g_env里面&#xff0c;下面是新增一个环…...

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…...

Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率

为什么 EXISTS 更高效&#xff1f; EXISTS 提前终止&#xff1a; EXISTS 一旦在子查询中找到第一个匹配项&#xff0c;就会立即返回 TRUE&#xff0c;不再继续扫描子查询中的其他记录。IN 必须扫描整个子查询的结果集&#xff0c;将所有结果与主查询的每一行进行对比。大数据集…...

Spring基础分析08-集成JPA/Hibernate进行ORM操作

大家好&#xff0c;今天和大家一起分享一下Spring集成JPAHibernate进行ORM操作的流程~ JPA&#xff08;Java Persistence API&#xff09;作为Java EE标准的一部分&#xff0c;提供了统一的API来管理实体类和持久化上下文&#xff1b;Hibernate则是最流行的JPA实现之一&#x…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...