-
-
[原创]【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit (6)
-
发表于: 1天前 37
-
1.问题描述:
在单框架HarmonyOS拿到的openid与双框架HMS Core拿到的openid是相同的吗?
解决方案:
相同的吗?
不相同。首先用户openid的生成规则是:由用户账号和应用ID加密生成的; 在这个基础上单框架和双框架的应用ID是一定不相同的, 所以单双的openid也不会相同。
推荐使用unionid,其生成规则是:由用户账号和应用开发者账号签名而成, 如果开发者账号下管理了多个应用,并且这些应用需要共享同一个华为账号的用户信息,可以使用UnionID作为用户标识。
2.问题描述:
鸿蒙App中不同用户的unionid跟openid是不同的吗?
解决方案:
unionId和openId两个参数在平台返回的是不一样的,每个华为账号都有单独的unionId和openId参数值。
1、UnionID是华为帐号用户在同一个帐号下产品的身份ID,同一个用户,同一个帐号下管理的不同应用,UnionID值相同。
2、OpenID是华为帐号用户在不同类型的产品的身份ID,同一个用户,不同应用,OpenID值不同。
3.问题描述:
调用AuthorizationWithHuaweiIDRequest时,因为规范不能把forceAuthorization设置为true,导致有时无法触发授权且回调1001502002 应用未授权。
解决方案:
在调用AuthorizationWithHuaweiIDRequest时,如果forceAuthorization参数不能设置为true,确实可能会导致授权页面不会自动弹出,从而需要用户手动进行授权。
对于这种情况,虽然不能强制用户进行授权,但可以通过以下方式优化用户体验和应用的行为:
1、明确告知用户 :在应用的适当位置,明确告知用户需要进行授权以使用某些功能,并指导用户如何进行授权。
2、检查授权状态 :在用户使用相关功能前,先检查应用的授权状态。如果未授权,可以提示用户并提供授权按钮,点击后直接跳转到授权页面。
3、处理未授权情况 :在用户尝试访问需要授权的功能时,如果检测到未授权,可以提供一个快速授权的方式,如使用AuthorizationWithHuaweiIDRequest将forceAuthorization设置为true,或者引导用户在应用设置中完成授权。
4.问题描述:
如何在通过华为账号登录的同时,弹窗向用户申请手机号弹窗,类似iOS的Apple账号登录?
解决方案:
华为一键登录可以获取手机号,华为账号登录不会再提供类似能力。
如果觉得UI要求严格,可以使用Deveco插件辅助开发,一键生成UI代码,直接使用,两分钟搞定UI开发,参考链接:
48aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6W2L8r3!0H3k6i4u0Q4x3X3g2Z5N6h3q4%4k6h3W2Q4x3X3g2U0L8$3#2Q4x3V1k6U0L8$3&6K6N6h3#2W2M7W2)9J5c8X3y4F1i4K6u0r3k6r3!0U0i4K6u0r3K9r3q4J5L8h3!0F1P5h3!0K6i4K6u0V1k6%4g2A6k6r3g2K6i4K6u0V1g2U0g2Q4x3V1k6S2j5$3y4G2N6h3&6@1i4K6u0V1M7r3S2G2L8X3g2Q4x3X3c8#2L8X3W2G2L8X3W2V1i4K6u0V1L8r3!0Y4K9h3&6Q4x3X3c8h3y4g2)9J5x3%4y4W2j5%4c8A6L8$3^5I4x3U0t1#2x3o6p5H3x3K6b7^5x3U0R3I4y4b7`.`.