Flutter三方库适配OpenHarmony【apple_product_name】华为Mate系列设备映射表
本文梳理了华为Mate系列设备在开源鸿蒙跨平台开发中的型号映射关系,涵盖Mate 70、Mate 60和Mate X三大产品线共24个型号。主要内容包括: 各系列型号标识符解析,包括Mate 70的CF前缀、Mate 60 Pro的4个变体以及Mate X折叠屏的特殊命名规则 产品代号与后缀编码体系,如GGK前缀在Mate 60 Pro+和Mate X5中的共用情况 开发实践指导,包括Dart侧设
前言
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

本文将完整梳理 apple_product_name 库中 Mate 系列的设备映射表,涵盖 Mate 70、Mate 60、Mate X 折叠屏三大产品线,并结合实际代码演示如何在项目中进行 Mate 系列设备的识别与适配。
先给出结论式摘要:
- Mate 系列共 24 个型号标识符:覆盖 Mate 70(8个)、Mate 60(8个)、Mate X(6个)三大产品线,外加 RS 非凡大师版
- 同一产品多个型号:如 Mate 60 Pro 有 4 个变体(AL00/AL10/AL80/LX9),对应不同运营商和市场
- GGK 前缀共用:Mate 60 Pro+ 和 Mate X5 共享 GGK 产品代号,需通过后缀区分
提示:本文所有映射数据来源于 apple_product_name 库的
HUAWEI_DEVICE_MAP,建议对照源码阅读。
目录
- Mate 70 系列映射表
- Mate 60 系列映射表
- Mate X 折叠屏系列映射表
- 型号命名规则解析
- 产品代号与后缀编码体系
- GGK 前缀共用问题
- Dart 侧查询 Mate 设备
- 批量 lookup 与系列筛选
- 折叠屏设备检测
- RS 非凡大师版识别
- 设备代际判断与能力矩阵
- Mate 系列完整映射汇总
- 映射表维护与新设备更新
- 常见问题与排查
- 总结
一、Mate 70 系列映射表
1.1 Mate 70 系列概览
Mate 70 系列是华为 2024 年发布的最新一代旗舰,包含标准版、Pro、Pro+ 和 RS 非凡大师版四个定位。
| 产品名称 | 产品代号 | 型号数量 | 定位 |
|---|---|---|---|
| HUAWEI Mate 70 | CFR | 2 | 标准旗舰 |
| HUAWEI Mate 70 Pro | CFS | 2 | 影像旗舰 |
| HUAWEI Mate 70 Pro+ | CFT | 2 | 超大杯旗舰 |
| HUAWEI Mate 70 RS 非凡大师 | CFU | 2 | 奢华定制 |
1.2 完整型号映射
// Mate 70 系列 — 2024年发布
"CFR-AN00": "HUAWEI Mate 70",
"CFR-AL00": "HUAWEI Mate 70",
"CFS-AN00": "HUAWEI Mate 70 Pro",
"CFS-AL00": "HUAWEI Mate 70 Pro",
"CFT-AN00": "HUAWEI Mate 70 Pro+",
"CFT-AL00": "HUAWEI Mate 70 Pro+",
"CFU-AN00": "HUAWEI Mate 70 RS 非凡大师",
"CFU-AL00": "HUAWEI Mate 70 RS 非凡大师",
Mate 70 系列的产品代号遵循 CF 前缀规律:CFR(标准版)→ CFS(Pro)→ CFT(Pro+)→ CFU(RS)。每款产品都有 AN00 和 AL00 两个变体,分别对应不同的网络制式版本。
1.3 Dart 侧验证
final ohos = OhosProductName();
// 查询 Mate 70 标准版
final mate70 = await ohos.lookup('CFR-AN00');
print(mate70); // HUAWEI Mate 70
// 查询 Mate 70 RS
final mate70rs = await ohos.lookup('CFU-AL00');
print(mate70rs); // HUAWEI Mate 70 RS 非凡大师
提示:Mate 70 系列的 CF 前缀是目前映射表中最新的产品代号,如果后续华为发布 Mate 80 系列,预计会采用新的前缀编码。
二、Mate 60 系列映射表
2.1 Mate 60 系列概览
Mate 60 系列是华为 2023 年发布的里程碑产品,标志着华为在自主芯片和 5G 通信技术上的回归。
| 产品名称 | 产品代号 | 型号数量 | 特点 |
|---|---|---|---|
| HUAWEI Mate 60 | BRA | 1 | 标准旗舰 |
| HUAWEI Mate 60 Pro | ALN | 4 | 变体最多 |
| HUAWEI Mate 60 Pro+ | GGK | 2 | 与 Mate X5 共用前缀 |
| HUAWEI Mate 60 RS 非凡大师 | BTC | 1 | 奢华定制 |
2.2 完整型号映射
// Mate 60 系列 — 2023年发布
"BRA-AL00": "HUAWEI Mate 60",
"ALN-AL00": "HUAWEI Mate 60 Pro",
"ALN-AL10": "HUAWEI Mate 60 Pro",
"ALN-AL80": "HUAWEI Mate 60 Pro",
"ALN-LX9": "HUAWEI Mate 60 Pro",
"GGK-AL10": "HUAWEI Mate 60 Pro+",
"GGK-AL00": "HUAWEI Mate 60 Pro+",
"BTC-AL00": "HUAWEI Mate 60 RS 非凡大师",
2.3 Mate 60 Pro 的 4 个变体解析
Mate 60 Pro 是 Mate 系列中变体最多的产品,拥有 4 个不同的型号标识符:
| 型号 | 后缀含义 | 目标市场 |
|---|---|---|
| ALN-AL00 | 全网通标准版 | 国内公开版 |
| ALN-AL10 | 全网通变体 | 运营商定制版 |
| ALN-AL80 | 全网通高配 | 特殊渠道版 |
| ALN-LX9 | 国际版 | 海外市场 |
注意:开发者在做 Mate 60 Pro 的设备判断时,不能只匹配
ALN-AL00,必须覆盖全部 4 个变体,否则会漏掉部分用户。推荐使用getProductName()返回的友好名称做字符串匹配,而非直接比对 machineId。
三、Mate X 折叠屏系列映射表
3.1 Mate X 系列概览
Mate X 系列是华为在折叠屏领域的旗舰产品线,代表了华为在柔性屏幕和铰链工艺方面的最高水平。
| 产品名称 | 产品代号 | 型号数量 | 形态 |
|---|---|---|---|
| HUAWEI Mate X5 | GGK | 2 | 内折大屏 |
| HUAWEI Mate X3 | PAL / ALT | 2 | 内折大屏 |
| HUAWEI Mate Xs 2 | TET | 2 | 外折大屏 |
3.2 完整型号映射
// Mate X 折叠屏系列
"GGK-W10": "HUAWEI Mate X5",
"GGK-W00": "HUAWEI Mate X5",
"PAL-AL00": "HUAWEI Mate X3",
"ALT-AL00": "HUAWEI Mate X3",
"TET-AN00": "HUAWEI Mate Xs 2",
"TET-AL00": "HUAWEI Mate Xs 2",
3.3 Mate X 系列的命名特点
折叠屏系列有几个值得注意的特征:
- W 后缀:Mate X5 的 GGK-W10 和 GGK-W00 中,W 通常表示 WiFi 版本或特定网络配置
- 双产品代号:Mate X3 同时拥有 PAL 和 ALT 两个产品代号,可能对应不同批次或配置
- Xs 与 X 的区别:Mate Xs 2(TET)采用外折方案,与 Mate X5/X3 的内折方案在形态上完全不同
// 判断折叠屏类型
final name = await OhosProductName().getProductName();
if (name.contains('Mate Xs')) {
print('外折方案折叠屏');
} else if (name.contains('Mate X')) {
print('内折方案折叠屏');
}
提示:折叠屏设备在 UI 适配上有特殊需求——展开态和折叠态的屏幕尺寸差异巨大,应用需要监听折叠状态变化并动态调整布局。
四、型号命名规则解析
4.1 型号标识符结构
华为设备的型号标识符由产品代号和后缀编码两部分组成,中间用连字符 - 分隔:
ALN-AL00
│ │
│ └── 后缀编码(网络制式 + 版本号)
└─────── 产品代号(唯一标识一款产品)
4.2 Mate 系列产品代号一览
| 产品代号 | 对应产品 | 发布年份 |
|---|---|---|
| CFR | Mate 70 | 2024 |
| CFS | Mate 70 Pro | 2024 |
| CFT | Mate 70 Pro+ | 2024 |
| CFU | Mate 70 RS 非凡大师 | 2024 |
| BRA | Mate 60 | 2023 |
| ALN | Mate 60 Pro | 2023 |
| GGK | Mate 60 Pro+ / Mate X5 | 2023 |
| BTC | Mate 60 RS 非凡大师 | 2023 |
| PAL | Mate X3 | 2023 |
| ALT | Mate X3 | 2023 |
| TET | Mate Xs 2 | 2022 |
4.3 产品代号的规律
观察 Mate 70 系列可以发现一个有趣的规律——四款产品的代号前缀都是 CF,后面的字母按字母表递增:
- CFR → Mate 70(标准版)
- CFS → Mate 70 Pro
- CFT → Mate 70 Pro+
- CFU → Mate 70 RS
这种编码方式暗示了产品定位的递进关系,开发者可以据此推断未知型号的大致定位。
注意:产品代号的规律仅供参考,不同系列之间的编码规则可能不同。准确的设备识别应始终依赖映射表查询。
五、产品代号与后缀编码体系
5.1 后缀编码规则
| 后缀前缀 | 含义 | 示例 |
|---|---|---|
| AL | 全网通(国内) | ALN-AL00, ALN-AL10 |
| AN | 全网通(另一编码) | CFR-AN00, TET-AN00 |
| LX | 国际版 | ALN-LX9 |
| W | WiFi / 特定网络 | GGK-W10, GGK-W00 |
5.2 版本号含义
后缀中的数字部分也承载信息:
- 00:标准版本(最常见)
- 10:同产品的变体版本
- 80:特殊版本或高配版本
- 9(如 LX9):国际版本的版本号
// 同一产品的不同后缀示例
"ALN-AL00": "HUAWEI Mate 60 Pro", // 标准版
"ALN-AL10": "HUAWEI Mate 60 Pro", // 变体版
"ALN-AL80": "HUAWEI Mate 60 Pro", // 特殊版
"ALN-LX9": "HUAWEI Mate 60 Pro", // 国际版
5.3 为什么同一产品有多个型号
华为为同一产品分配多个型号标识符,主要出于以下原因:
- 运营商定制:不同运营商(移动/联通/电信)可能要求不同的网络频段配置
- 市场区域:国内版和国际版在软件预装、网络制式上有差异
- 销售渠道:公开版、运营商合约版、电商专供版可能有不同型号
- 硬件配置:同一产品的不同内存/存储组合可能对应不同型号
提示:这就是为什么
apple_product_name库的映射表中,一个产品名称会对应多个 machineId。开发者在做设备统计时,应该按产品名称聚合,而非按 machineId 聚合。
六、GGK 前缀共用问题
6.1 问题描述
GGK 是映射表中一个特殊的产品代号——它同时被 Mate 60 Pro+ 和 Mate X5 两款完全不同的产品使用:
// GGK 前缀的所有型号
"GGK-AL10": "HUAWEI Mate 60 Pro+", // 直板旗舰
"GGK-AL00": "HUAWEI Mate 60 Pro+", // 直板旗舰
"GGK-W10": "HUAWEI Mate X5", // 折叠屏
"GGK-W00": "HUAWEI Mate X5", // 折叠屏
6.2 区分规则
区分这两款产品的关键在于后缀:
| 后缀 | 产品 | 形态 |
|---|---|---|
| AL(AL00, AL10) | Mate 60 Pro+ | 直板手机 |
| W(W00, W10) | Mate X5 | 折叠屏 |
6.3 代码中的正确处理
Future<String> identifyGGKDevice(String machineId) async {
if (!machineId.startsWith('GGK')) {
return await OhosProductName().lookup(machineId);
}
// GGK 前缀需要特别处理
final name = await OhosProductName().lookup(machineId);
print('GGK 设备识别: $machineId → $name');
// 映射表已经处理了区分逻辑,直接使用即可
// GGK-AL* → Mate 60 Pro+
// GGK-W* → Mate X5
return name;
}
实际上 apple_product_name 的映射表已经正确处理了 GGK 前缀的区分——每个完整的型号标识符都有唯一的映射。开发者只需要使用 lookup() 传入完整型号即可,不需要自己实现前缀判断逻辑。
注意:如果你只拿到了 GGK 前缀而没有完整型号,是无法确定具体产品的。确保上游数据源提供的是完整的型号标识符(如
GGK-AL10),而非截断的前缀。
七、Dart 侧查询 Mate 设备
7.1 获取当前设备信息
Future<void> checkCurrentDevice() async {
final ohos = OhosProductName();
final machineId = await ohos.getMachineId();
final productName = await ohos.getProductName();
print('型号标识: $machineId');
print('产品名称: $productName');
if (productName.contains('Mate')) {
print('当前设备属于 Mate 系列');
}
}
7.2 判断具体子系列
enum MateSubSeries { mate70, mate60, mateX, unknown }
MateSubSeries classifyMateDevice(String productName) {
if (productName.contains('Mate 70')) return MateSubSeries.mate70;
if (productName.contains('Mate 60')) return MateSubSeries.mate60;
if (productName.contains('Mate X') || productName.contains('Mate Xs')) {
return MateSubSeries.mateX;
}
return MateSubSeries.unknown;
}
7.3 使用 lookup 查询指定型号
Future<void> lookupMateDevices() async {
final ohos = OhosProductName();
// 查询不同系列的代表型号
final devices = {
'CFR-AN00': await ohos.lookup('CFR-AN00'),
'ALN-AL00': await ohos.lookup('ALN-AL00'),
'GGK-W10': await ohos.lookup('GGK-W10'),
};
devices.forEach((id, name) {
print('$id → $name');
});
}
提示:
lookup()方法在映射表未命中时返回原始 machineId,lookupOrNull()则返回 null。根据业务需求选择合适的方法。详见 apple_product_name API。
八、批量 lookup 与系列筛选
8.1 批量查询
Future<Map<String, String>> batchLookup(List<String> machineIds) async {
final ohos = OhosProductName();
final results = <String, String>{};
for (final id in machineIds) {
results[id] = await ohos.lookup(id);
}
return results;
}
// 使用示例
final allMateIds = [
'CFR-AN00', 'CFR-AL00', 'CFS-AN00', 'CFS-AL00',
'CFT-AN00', 'CFT-AL00', 'CFU-AN00', 'CFU-AL00',
'BRA-AL00', 'ALN-AL00', 'ALN-AL10', 'ALN-AL80',
];
final results = await batchLookup(allMateIds);
8.2 按系列筛选统计
Future<Map<String, int>> countBySeries(List<String> machineIds) async {
final ohos = OhosProductName();
final counts = <String, int>{
'Mate 70': 0,
'Mate 60': 0,
'Mate X': 0,
};
for (final id in machineIds) {
final name = await ohos.lookup(id);
if (name.contains('Mate 70')) {
counts['Mate 70'] = counts['Mate 70']! + 1;
} else if (name.contains('Mate 60')) {
counts['Mate 60'] = counts['Mate 60']! + 1;
} else if (name.contains('Mate X')) {
counts['Mate X'] = counts['Mate X']! + 1;
}
}
return counts;
}
注意:批量查询时每次
lookup都会触发一次 MethodChannel 通信。如果数据量大,建议在原生侧实现批量查询接口,减少跨平台通信次数。
九、折叠屏设备检测
9.1 检测是否为折叠屏
Future<bool> isFoldableDevice() async {
final name = await OhosProductName().getProductName();
return name.contains('Mate X') || name.contains('Mate Xs');
}
Mate X 系列(Mate X5、Mate X3、Mate Xs 2)都是折叠屏设备。通过产品名称中的 Mate X 关键词即可判断。
9.2 折叠屏适配建议
检测到折叠屏设备后,应用可以启用以下适配策略:
- 分栏布局:展开态使用左右分栏,充分利用大屏空间
- 折叠状态监听:监听折叠/展开事件,动态切换布局
- 触控热区优化:折叠态和展开态的握持姿势不同,交互区域需要调整
- 内容连续性:折叠/展开切换时,用户正在查看的内容不能丢失
Future<void> adaptLayout() async {
if (await isFoldableDevice()) {
// 启用折叠屏专属布局
print('折叠屏设备,启用大屏适配');
}
}
9.3 内折 vs 外折的区分
Future<String> getFoldType() async {
final name = await OhosProductName().getProductName();
if (name.contains('Mate Xs')) return '外折';
if (name.contains('Mate X')) return '内折';
return '非折叠屏';
}
| 折叠方案 | 代表产品 | 展开尺寸 | 特点 |
|---|---|---|---|
| 内折 | Mate X5, Mate X3 | 7.85 英寸+ | 主流方案,屏幕受保护 |
| 外折 | Mate Xs 2 | 7.8 英寸 | 折叠态也能使用大屏 |
提示:折叠屏适配是一个独立的技术领域,涉及 WindowManager、Display API 等系统级接口。
apple_product_name负责设备识别,具体的折叠屏适配逻辑需要结合 OpenHarmony 的窗口管理 API 实现。
十、RS 非凡大师版识别
10.1 RS 版本在映射表中的位置
// Mate 70 RS
"CFU-AN00": "HUAWEI Mate 70 RS 非凡大师",
"CFU-AL00": "HUAWEI Mate 70 RS 非凡大师",
// Mate 60 RS
"BTC-AL00": "HUAWEI Mate 60 RS 非凡大师",
RS 非凡大师版是 Mate 系列中定位最高端的版本,Mate 70 RS 有 2 个型号,Mate 60 RS 有 1 个型号。
10.2 检测 RS 版本
Future<bool> isRSEdition() async {
final name = await OhosProductName().getProductName();
return name.contains('RS') || name.contains('非凡大师');
}
代码同时匹配了 RS 和 非凡大师 两个关键词,因为在不同语言环境下产品名称的显示格式可能不同。
10.3 RS 版本的差异化策略
RS 非凡大师版的用户通常是高端商务人群,应用可以考虑:
- 提供定制化的 UI 主题(更精致的视觉风格)
- 开放高级功能入口(VIP 专属功能)
- 优先级更高的客服通道
- 独家内容资源
注意:差异化功能应该是锦上添花,不能让非 RS 用户感觉被区别对待。基础功能必须对所有设备一致。
十一、设备代际判断与能力矩阵
11.1 代际判断
int? getMateGeneration(String productName) {
if (productName.contains('Mate 70')) return 70;
if (productName.contains('Mate 60')) return 60;
if (productName.contains('Mate X5')) return 5;
if (productName.contains('Mate X3')) return 3;
if (productName.contains('Mate Xs 2')) return 2;
return null;
}
11.2 Mate 系列能力矩阵
| 能力维度 | Mate 70 | Mate 60 | Mate X5 | Mate X3 | Mate Xs 2 |
|---|---|---|---|---|---|
| 最新芯片 | ✓ | ✓ | ✓ | — | — |
| 折叠屏 | — | — | ✓ | ✓ | ✓ |
| 卫星通信 | ✓ | ✓ | — | — | — |
| RS 版本 | ✓ | ✓ | — | — | — |
11.3 基于能力矩阵的功能开关
Future<Map<String, bool>> getDeviceCapabilities() async {
final name = await OhosProductName().getProductName();
return {
'isFoldable': name.contains('Mate X') || name.contains('Mate Xs'),
'isLatestGen': name.contains('Mate 70'),
'isRS': name.contains('RS'),
'isProPlus': name.contains('Pro+'),
'hasSatellite': name.contains('Mate 70') || name.contains('Mate 60'),
};
}
将设备能力抽象为布尔值映射表,业务层可以方便地根据能力组合决定功能的启用与禁用,实现了设备检测逻辑与业务逻辑的解耦。
十二、Mate 系列完整映射汇总
12.1 全量映射表
// ========== Mate 系列完整映射表 ==========
// Mate 70 系列(8个型号)
"CFR-AN00": "HUAWEI Mate 70",
"CFR-AL00": "HUAWEI Mate 70",
"CFS-AN00": "HUAWEI Mate 70 Pro",
"CFS-AL00": "HUAWEI Mate 70 Pro",
"CFT-AN00": "HUAWEI Mate 70 Pro+",
"CFT-AL00": "HUAWEI Mate 70 Pro+",
"CFU-AN00": "HUAWEI Mate 70 RS 非凡大师",
"CFU-AL00": "HUAWEI Mate 70 RS 非凡大师",
// Mate 60 系列(8个型号)
"BRA-AL00": "HUAWEI Mate 60",
"ALN-AL00": "HUAWEI Mate 60 Pro",
"ALN-AL10": "HUAWEI Mate 60 Pro",
"ALN-AL80": "HUAWEI Mate 60 Pro",
"ALN-LX9": "HUAWEI Mate 60 Pro",
"GGK-AL10": "HUAWEI Mate 60 Pro+",
"GGK-AL00": "HUAWEI Mate 60 Pro+",
"BTC-AL00": "HUAWEI Mate 60 RS 非凡大师",
// Mate X 折叠屏系列(6个型号)
"GGK-W10": "HUAWEI Mate X5",
"GGK-W00": "HUAWEI Mate X5",
"PAL-AL00": "HUAWEI Mate X3",
"ALT-AL00": "HUAWEI Mate X3",
"TET-AN00": "HUAWEI Mate Xs 2",
"TET-AL00": "HUAWEI Mate Xs 2",
12.2 统计汇总
| 系列 | 产品数 | 型号数 | 占映射表比例 |
|---|---|---|---|
| Mate 70 | 4 | 8 | 约 7% |
| Mate 60 | 4 | 8 | 约 7% |
| Mate X | 3 | 6 | 约 5% |
| Mate 合计 | 11 | 22 | 约 19% |
Mate 系列共 11 款产品、22 个型号标识符,占整个 HUAWEI_DEVICE_MAP 映射表约 19% 的条目。这反映了 Mate 系列作为华为核心旗舰产品线的重要地位。
十三、映射表维护与新设备更新
13.1 更新流程
当华为发布新的 Mate 系列产品时,映射表需要及时更新:
- 获取新设备的型号标识符(通过华为官方文档或真机读取
deviceInfo.productModel) - 在
HUAWEI_DEVICE_MAP中添加新条目 - 提交 Pull Request 到 apple_product_name 仓库
- 发布新版本
13.2 如何获取新设备的型号标识符
// 在新设备上运行以下代码获取型号
final machineId = await OhosProductName().getMachineId();
print('新设备型号: $machineId');
// 将输出的型号标识符提交到映射表
13.3 版本管理建议
- 映射表更新应遵循语义化版本:新增设备 → minor 版本号递增
- 每次更新记录 changelog,注明新增了哪些设备
- 确保向后兼容——只增不删,已有映射不修改
提示:欢迎社区开发者通过 GitCode 提交 Pull Request 贡献新设备映射,共同维护一个完整准确的设备数据库。
十四、常见问题与排查
14.1 FAQ
| 问题 | 原因 | 解决方案 |
|---|---|---|
| lookup 返回原始 machineId | 映射表中没有该型号 | 检查是否为新设备,提交 PR 补充 |
| 同一前缀返回不同产品 | GGK 前缀共用 | 使用完整型号标识符查询 |
| getProductName 返回 Unknown | 非华为设备或插件未注册 | 检查设备品牌和插件配置 |
| 国际版型号查不到 | LX 后缀未收录 | 补充国际版型号到映射表 |
14.2 调试技巧
Future<void> debugMateDevice() async {
final ohos = OhosProductName();
// 1. 先获取原始型号
final machineId = await ohos.getMachineId();
print('原始型号: $machineId');
// 2. 查映射表
final productName = await ohos.lookup(machineId);
print('映射结果: $productName');
// 3. 对比 getProductName
final directName = await ohos.getProductName();
print('直接获取: $directName');
// 4. 检查是否命中
final orNull = await ohos.lookupOrNull(machineId);
print('是否命中映射表: ${orNull != null}');
}
14.3 映射表未命中的降级策略
当遇到映射表中没有的新型号时,apple_product_name 的降级逻辑是:
lookup(machineId)→ 返回原始 machineId(如"CFR-AN00")lookupOrNull(machineId)→ 返回nullgetProductName()→ 尝试读取系统marketName,如果也为空则返回productModel
注意:降级策略保证了即使映射表不完整,应用也不会崩溃。但降级后的显示效果不够友好(用户看到的是型号标识符而非产品名称),所以及时更新映射表仍然很重要。
总结
华为 Mate 系列在 apple_product_name 映射表中共有 22 个型号标识符,覆盖 Mate 70、Mate 60、Mate X 三大产品线。核心要点:同一产品可能有多个型号变体(如 Mate 60 Pro 的 4 个变体)、GGK 前缀被 Mate 60 Pro+ 和 Mate X5 共用需通过后缀区分、RS 非凡大师版可用于高端用户差异化策略。开发者应使用 getProductName() 返回的友好名称做系列判断,而非直接比对 machineId。
下一篇文章将介绍华为 Pura 系列设备映射表,敬请期待。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
- OpenHarmony适配仓库:flutter_apple_product_name
- 开源鸿蒙跨平台社区:openharmonycrossplatform
- Flutter Platform channels:官方文档
- Flutter MethodChannel API:MethodChannel class
- PlatformException:API 文档
- Dart async/await:Dart asynchronous programming
- Flutter 插件开发指南:Developing packages & plugins
- OpenHarmony 设备信息 API:deviceInfo 文档
- 华为开发者联盟:官方网站
- Flutter 测试文档:Testing Flutter apps
更多推荐




所有评论(0)