HarmonyOS鸿蒙Next中接微信三方登录,可以拉起微信,但是一直显示微信登录失败:由于应用Bundle ID信息校验不通过,无法使用微信登录是什么原因
HarmonyOS鸿蒙Next中接微信三方登录,可以拉起微信,但是一直显示微信登录失败:由于应用Bundle ID信息校验不通过,无法使用微信登录是什么原因 接微信三方登录,可以拉起微信,但是一直显示微信登录失败:由于应用 Bundle ID 信息校验不通过,无法使用微信登录是什么原因;需要怎么解决

更多关于HarmonyOS鸿蒙Next中接微信三方登录,可以拉起微信,但是一直显示微信登录失败:由于应用Bundle ID信息校验不通过,无法使用微信登录是什么原因的实战教程也可以访问 https://www.itying.com/category-93-b0.html
【背景知识】
- 请看《HarmonyOS微信接入指南》。
- 对《HarmonyOS微信接入指南》中若干易混淆的关键术语进行辨析:
| 术语名称 | 微信文档中对术语的称谓 | 华为文档中对术语的称谓 | 其他出处 | 样例 | 说明 |
|---|---|---|---|---|---|
| 包名 | Bundle ID ,点击链接搜索"Bundle ID" | 应用包名/bundle name | (1)HarmonyOS工程中app.json5中的bundleName (2)AGC的"应用信息"页面的包名 | com.application.myapplication | Android应用和HarmonyOS应用包名不能重复。在AGC创建应用和初始化HarmonyOS工程时都要手动指定,两者需保持一致。 |
| 应用APP ID | identifier | 签名应用包的signatureInfo里的appIdentifier | AGC的"应用信息"页面的APP ID | 6917575056321797718 | 只有运行签名的包的代码才能拿到,格式为数字。Android应用和HarmonyOS应用APP ID不允许重复。 |
| 应用在微信开放平台申请的AppID | AppID/APP_ID | / | 微信官方样例代码中的APP_ID | wxd5a474****b8fd17 | 应用在微信开放平台申请到的AppID,见《HarmonyOS微信接入指南》的一、操作步骤 |
| 签名应用包里的appId | / | 签名应用包的signatureInfo里的appId | / | com.example.myschedule_BG2A+X4PdW148X9****z+ISIBSE= | 指的是signatureInfo内的appId。该appId由两部分组成,前半部分是应用包名,后半部分是签名信息。 |
其中包名和APP ID可在华为AGC的应用信息页面上看到
【问题定位】 在微信开放平台创建应用,输入Bundle ID和应用APP ID。在微信开放平台创建应用成功后,获取到应用在微信开放平台的AppID
触发微信分享,微信登录等场景时,微信Open SDK获取当前应用包名和appIdentifier,并与微信开放平台上配置的Bundle ID和应用APP ID进行校验。若不匹配,则会报出第三方应用信息校验失败或Bundle ID信息校验不通过。
应用包名通常靠人工保证一致性,不随证书变化。 若应用使用手动申请的调试证书或发布证书打包,则appIdentifier不会变化,即与AGC一致。 appIdentifier若变化,存在以下可能:
- 若使用模拟器运行应用,appIdentifier为空。
- 若使用自动签名证书,证书变化则appIdentifier就会变化。
【分析结论】 参考微信官方文档,已给出该问题初步排查指导。正常接入微信SDK时,需要保证:
- appIdentifier、Bundle ID和微信公众平台上配置的一致。
- 代码中配置的APP_ID和应用在微信开放平台申请的AppID一致。
其中有一个不匹配都会导致校验失败。
【修改建议】
- 检查应用的appIdentifier与微信开放平台填入的identifier是否能对应上。 应用可以通过bundleManager.getBundleInfoForSelf获取bundleInfo。样例代码如下,其中data的类型为bundleInfo,在bundleInfo中的signatureInfo.appIdentifier即为微信开放平台填入的identifier。
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO;
try {
bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => {
hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data));
}).catch((err: BusinessError) => {
hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message);
});
} catch (err) {
let message = (err as BusinessError).message;
hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message);
}
2.检查应用在微信开放平台申请的AppID,与对接微信的代码中的“APP_ID”是否一致。
// WXApi是第三方app和微信通信的openApi接口,其实例通过WXAPIFactory获取,需要传入应用在微信开放平台申请的AppID
export const WXApi = wxopensdk.WXAPIFactory.createWXAPI(APP_ID)
3.请勿使用IDE自动签名。自动签名场景下,证书不固定,会造成获取到的signatureInfo里的appIdentifier发生变化,从而与微信开发平台中登记的identifier不一致,需要使用手动签名方式。
4.使用真机,不要使用模拟器。
【常见FAQ】 Q:运行了签名的包,signatureInfo为空。自动签名,调试证书签名,发布证书签名都试过,现象一致,signatureInfo都为空。 A:参考本文【修改建议】第1条中的代码,确保bundleFlags赋值正确。
开发者您好,请先按上述步骤排查,如仍有问题,为了更快解决您的问题,尽量补全以下信息:
1.问题现象(如:异常截图、问题背景);
2.版本信息(如:开发工具、手机系统版本信息);
更多关于HarmonyOS鸿蒙Next中接微信三方登录,可以拉起微信,但是一直显示微信登录失败:由于应用Bundle ID信息校验不通过,无法使用微信登录是什么原因的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
感谢老师;问题已解决,
申请微信的key的BundleID和项目是否一致
已排查;一致的,
鸿蒙Next中微信登录失败提示"Bundle ID校验不通过"的主要原因是应用配置的Bundle ID与微信开放平台注册信息不匹配。需检查以下配置:在AppGallery Connect中查看应用的Bundle ID,确保与微信开放平台填写的包名完全一致,包括大小写。同时确认在微信开放平台正确配置了鸿蒙应用签名。若修改过应用包名或签名,需同步更新微信开放平台的对应信息。
在HarmonyOS Next中遇到微信登录失败并提示“Bundle ID信息校验不通过”,通常是由于微信开放平台的应用配置与HarmonyOS应用的实际信息不匹配导致的。以下是可能的原因及解决方法:
-
检查Bundle ID配置:
- 确保在微信开放平台注册应用时填写的Bundle ID与HarmonyOS应用的实际Bundle ID完全一致。Bundle ID需严格匹配,包括大小写和格式(例如:
com.example.app)。 - 在HarmonyOS项目中,Bundle ID可在
AppScope > app.json5文件的bundleName字段中查看。
- 确保在微信开放平台注册应用时填写的Bundle ID与HarmonyOS应用的实际Bundle ID完全一致。Bundle ID需严格匹配,包括大小写和格式(例如:
-
验证应用签名:
- 微信登录需要应用签名信息。在微信开放平台配置应用时,需填写正确的签名(如MD5或SHA值)。HarmonyOS应用签名可通过调试或发布证书生成,确保开放平台填写的签名与当前构建版本一致。
- 若签名不一致,重新生成并更新到微信开放平台。
-
检查开放平台配置:
- 登录微信开放平台,确认应用状态为“已通过”审核,且“微信登录”权限已开启。
- 确保包名(Bundle ID)和签名在开放平台中填写无误,尤其注意避免多余空格或字符。
-
HarmonyOS配置验证:
- 在
module.json5文件中,检查abilities的uri权限配置是否正确,需允许微信的Scheme调用。 - 确认应用已正确集成微信SDK,且初始化时使用的AppId与开放平台注册的应用对应。
- 在
-
网络与权限问题:
- 确保设备网络正常,且应用已获取必要的网络权限(如在
module.json5中声明ohos.permission.INTERNET)。 - 检查微信版本是否支持登录功能,过低版本可能导致兼容性问题。
- 确保设备网络正常,且应用已获取必要的网络权限(如在
通过以上步骤排查后,重新编译并测试登录流程。若问题仍存在,建议核对微信开放平台文档中的HarmonyOS集成指南,确保全流程符合规范。

