#java #android #unity3d #huawei-mobile-services #huawei-account
#java #Android #unity3d #huawei-мобильные сервисы #huawei-учетная запись
Вопрос:
пытаюсь внедрить набор учетных записей в наше приложение, и оно не работает.
При использовании com.huawei.hms: hwid: 5.0.3.301 и при входе в систему отображается пустая активность. При нажатии кнопки «Назад» из этого пустого действия в журнале отобразится onActivityResult 1002 0.
Попытался создать демонстрационный проект из https://github.com/HMS-Core/huawei-account-demo . Это то же самое, нажатие на login ничего не показывает, нажатие кнопки «Назад» покажет, что вход не удался.
В чем может быть проблема?
# ОБНОВЛЕНИЕ: файл ags отсутствовал в демо, отсюда и пустая активность. Добавление файла AGS исправило это.
Убедившись, что встроенная сборка Android SDK работает на моем устройстве, продолжил попытки реализовать на Unity.
Загружено 4.0.4.300 AccountSDK с ядром 4.0.4.301. Запустил APK и возникла следующая ошибка:
Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.test.test.huawei/com.huawei.hms.activity.BridgeActivity}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1950)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1622)
at android.app.Activity.startActivityForResult(Activity.java:4564)
at android.app.Activity.startActivityForResult(Activity.java:4522)
at android.app.Activity.startActivity(Activity.java:4883)
at android.app.Activity.startActivity(Activity.java:4851)
at com.huawei.hms.adapter.AvailableAdapter.startResolution(AvailableAdapter.java:155)
at com.huawei.hms.hwid.a.a.a(HmsAPKVersionCheckUtil.java:46)
at com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity.a(HwIdSignInHubActivity.java:212)
at com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity.onCreate(HwIdSignInHubActivity.java:106)
at android.app.Activity.performCreate(Activity.java:7174)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Итак, затем я скопировал действие моста из манифеста HMSSdkUI в свой манифест и созданное приложение:
<activity
android:name="com.huawei.hms.activity.BridgeActivity"
android:configChanges="orientation|locale|layoutDirection|fontScale|screenSize|smallestScreenSize|screenLayout"
android:excludeFromRecents="true"
android:exported="false"
android:hardwareAccelerated="true"
android:screenOrientation="behind"
android:theme="@android:style/Theme.Translucent" >
<meta-data
android:name="hwc-theme"
android:value="androidhwext:style/Theme.Emui.Translucent" />
</activity>
Однако запрос на вход по-прежнему приводит к пустой активности. Вот журнал: я подозреваю, что это связано с BridgeActivity??
2020-10-09 16:02:17.063 20598-20598/? I/HMSSDK_HMSBIInitializer: Builder->biInitFlag :false
2020-10-09 16:02:17.064 20598-20598/? I/HMSSDK_HMSBIInitializer: Builder->biSetting :false
2020-10-09 16:02:17.065 20598-20598/? I/HMSSDK_CountryCodeBean: getCountryCode get country code from SIM_COUNTRY
2020-10-09 16:02:17.068 20598-20598/? I/HMSSDK_CountryCodeBean: getCountryCode get country code from SIM_COUNTRY
2020-10-09 16:02:17.070 20598-20598/? W/NetworkKit_AbstractLocalManager: 20598-20598|null|com.huawei.hms.framework.network.grs.local.a|a|16|addresses not found by routeby in local config{com.huawei.cloud.opensdkhianalytics}
2020-10-09 16:02:17.072 20598-23397/? E/HMSSDK_HMSBIInitializer: get grs failed, the errorcode is -3
2020-10-09 16:02:17.075 1565-3643/? I/ActivityManager: START u0 {act=com.huawei.hms.jos.signIn typ=null flg=0x0 cmp=ComponentInfo{com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity}} from uid 10935
2020-10-09 16:02:17.100 1565-2477/? D/GameManagerService: handleForegroundChange(). pkgName: com.test.test.huawei, clsName: com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity,FgActivityName:com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity
2020-10-09 16:02:17.140 20598-20598/? I/HMSSDK_[HUAWEIIDSDK]HwIdSignInClientHub: onCreate
2020-10-09 16:02:17.143 20598-20598/? I/HMSSDK_HiAnalyticsUtil: not ChinaROM
2020-10-09 16:02:17.144 20598-20598/? I/HMSSDK_HiAnalyticsUtil: Get OOBE failed
2020-10-09 16:02:17.144 20598-20598/? I/HMSSDK_HmsAPKVersionCheckUtil: ====== HMSSDK version: 40004300 ======
2020-10-09 16:02:17.144 20598-20598/? I/HMSSDK_HmsAPKVersionCheckUtil: check minVersion:30000000
2020-10-09 16:02:17.148 20598-20598/? E/HMSSDK_X509CertUtil: exception:updatesdkcas.bks
2020-10-09 16:02:17.148 20598-20598/? E/HMSSDK_X509CertUtil: rootCert is null,verify failed
2020-10-09 16:02:17.149 20598-20598/? E/HMSSDK_HMSPackageManager: failed to verify cert chain
2020-10-09 16:02:17.149 20598-20598/? E/HMSSDK_HMSPackageManager: checkSinger failed
2020-10-09 16:02:17.149 20598-20598/? E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2020-10-09 16:02:17.150 20598-20598/? I/HMSSDK_AvailableAdapter: HMS is not installed
2020-10-09 16:02:17.151 20598-20598/? I/HMSSDK_AvailableAdapter: enter 4.0 HmsCore upgrade process
2020-10-09 16:02:17.151 20598-20598/? I/HMSSDK_AvailableAdapter: Start to resolution for the 1st time.
2020-10-09 16:02:17.151 20598-20598/? I/HMSSDK_AvailableAdapter: startResolution
2020-10-09 16:02:17.156 1565-4083/? I/ActivityManager: START u0 {act=null typ=null flg=0x0 cmp=ComponentInfo{com.test.test.huawei/com.huawei.hms.activity.BridgeActivity}} from uid 10935
2020-10-09 16:02:17.184 1565-4083/? V/WindowManager: Relayout Window{fd32694 u0 com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity}: viewVisibility=0 req=720x1336 WM.LayoutParams{(0,0)(fillxfill) sim=#120 ty=1 fl=#1810100 pfl=0x1020000 fmt=-2 wanim=0x1030000 vsysui=0x410 needsMenuKey=2 colorMode=0 naviIconColor=0}
2020-10-09 16:02:17.185 655-655/? I/SurfaceFlinger: id=14264 createSurf (720x1480),1 flag=4, com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity#0
2020-10-09 16:02:17.231 1565-2477/? D/GameManagerService: handleForegroundChange(). pkgName: com.test.test.huawei, clsName: com.huawei.hms.activity.BridgeActivity,FgActivityName:com.test.test.huawei/com.huawei.hms.activity.BridgeActivity
2020-10-09 16:02:17.239 1565-3643/? V/WindowManager: finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING Window{fd32694 u0 com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity} in Surface(name=com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity)
2020-10-09 16:02:17.279 20598-20598/? E/HMSSDK_BridgeActivity: Run time Exception.String resource ID #0x0
2020-10-09 16:02:17.279 20598-20598/? I/HMSSDK_BridgeActivity: Enter finish.
2020-10-09 16:02:17.301 1565-2477/? D/GameManagerService: handleForegroundChange(). pkgName: com.test.test.huawei, clsName: com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity,FgActivityName:com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity
2020-10-09 16:02:17.316 1565-8502/? V/WindowManager: Relayout Window{fd32694 u0 com.test.test.huawei/com.huawei.hms.hwid.internal.ui.activity.HwIdSignInHubActivity}: viewVisibility=0 req=720x1384 WM.LayoutParams{(0,0)(fillxfill) sim=#120 ty=1 fl=#1810100 pfl=0x1020000 fmt=-2 wanim=0x1030000 vsysui=0x410 needsMenuKey=2 colorMode=0 naviIconColor=0}
2020-10-09 16:02:17.334 20598-20598/? I/HMSSDK_UpdateAdapter: onBridgeActivityDestroy
Комментарии:
1. Вы также настроили AGC, подписали приложение, настроили отпечаток пальца?
2. Все настроено. IAP был реализован на стороне, и он работает безупречно. В настоящее время мы используем 2.6.1, но поскольку в следующем году он будет удален, мы обновляемся до 5.x.
Ответ №1:
В демо-версии, если вы нажмете войти, приложение попытается получить авторизацию для вашей учетной записи Huawei. Пожалуйста, проверьте, работаете ли вы на телефоне HMS и авторизована ли учетная запись Huawei.
Демо-версия в github немного устарела, вы можете загрузить код напрямую с официальной страницы. Демо-версия github будет обновлена как можно скорее.
Обновить:
- Пожалуйста, измените информацию xxx.jks в файле build.gradle в каталоге приложения.
- Пожалуйста, создайте проект на платформе AGC и установите информацию SHA256 в файле xxx.jks на платформе AGC.
- Пожалуйста, загрузите agconnect-services.файл json с платформы AGC и поместите файл в каталог приложений проекта.
Комментарии:
1. Работает на телефоне Samsung с HMS 4.0 . Вход в учетную запись HMS 2.6x работает с тем же телефоном, но с HMS 5.x это не так. Демонстрационная версия была загружена с официальной страницы, я просто ссылался на ссылку github. Нажав на кнопку «вход» в демонстрационном проекте, я бы увидел, что отображается новое действие, но оно пустое. Нажатие кнопки «Назад» приведет к появлению сообщения об ошибке при сбое входа. Итак, api явно работает, но «экран» отсутствует.
2. @Joe 1. Пожалуйста, измените информацию xxx.jks в файле build.gradle в каталоге приложения. 2. Пожалуйста, создайте проект на платформе AGC и установите информацию SHA256 в файле xxx.jks на платформе AGC. 3. Пожалуйста, загрузите agconnect-services. файл json с платформы AGC и поместите файл в каталог приложений проекта. После выполнения этих шагов попробуйте снова войти в систему. Если войти в систему по-прежнему не удается, пожалуйста, предоставьте журналы для анализа ошибок и определения местоположения.
3. agconnect-сервисы. в демонстрационном проекте отсутствовал json. добавил его, и отображается правильная активность.
4. Демонстрационный проект работает, но реализация Unity по-прежнему показывает пустую активность. Я обновил сообщение журналом входа в учетную запись из Unity (который по-прежнему показывает пустую активность)
5. @Joe OK Я обновил свой ответ на проблему с набором учетных записей. Для решения этой проблемы Unity предоставляет плагин HMS здесь: Unity Asset Store> Huawei HMS Core App Services, а файл README содержит информацию о руководствах по разработке. Для получения дополнительных технических вопросов, пожалуйста, отправьте запрос в службу поддержки клиентов Unity .
Ответ №2:
Код ошибки 10020 означает недопустимые параметры. Можете ли вы проверить, добавляете ли вы правильный параметр. Обратитесь к официальному документу Huawei о том, как выполнить вход с помощью huawei id.
Комментарии:
1. Вы прокомментировали код ошибки 10020. 2 цифры — это просто код запроса и код результата для каждого защищенного void onActivityResult(int requestCode, int resultCode, Intent data).
Ответ №3:
Вы используете HMS Analytics kit, потому что код 10020 является кодом ошибки analytics kit. Проверьте коды ошибок в наборе аналитики: https://developer.huawei.com/consumer/en/doc/development/HMSCore-References-V5/android-api-error-code-0000001050987233-V5
Если вы хотите внедрить набор учетных записей, ниже приведены ссылки, которые могут вам помочь, и, возможно, вы сможете решить свою проблему:
Комментарии:
1. Вы прокомментировали код ошибки 10020. 2 цифры — это просто код запроса и код результата для каждого защищенного void onActivityResult(int requestCode, int resultCode, Intent data). Вы можете просмотреть пример проекта @ github.com/HMS-Core/huawei-account-demo/blob/master /…
2. Кроме того, этот пост предназначен для набора УЧЕТНЫХ записей. НЕ НАБОР АНАЛИТИКИ.
Ответ №4:
в вашем примере вы реализуете комбинацию account kit и analytics kit, analytics kit вернет этот код 10020, проверьте ниже URL для ссылки на набор учетных записей для целей реализации
Комментарии:
1. Вы прокомментировали код ошибки 10020. 2 цифры — это просто код запроса и код результата для каждого защищенного void onActivityResult(int requestCode, int resultCode, Intent data). Вы можете просмотреть пример проекта @ github.com/HMS-Core/huawei-account-demo/blob/master /…
2.Кроме того, этот пост предназначен для набора УЧЕТНЫХ записей. НЕ НАБОР АНАЛИТИКИ.