Привет всем разработчикам! В этом разделе я собираю моменты, которые могут понадобиться при разработке других проектов, чтобы не забыть , да и вспомнить, как я решил когда то какой-то сложный момент. Возможно, это будет полезно кому то еще :) Этот раздел без дизайна, без воды, тут только те моменты, которые важны именно для разраба
HMS OAuth 2.0-based Authentication get_token access https://developer.huawei.com/consumer/en/doc/HMSCore-Guides/oauth2-0000001212610981 ************************** https://forums.developer.huawei.com/forumPortal/en/topic/0202810912208970010 send_push push structure { "validate_only": false, "message": { "android": { "notification": { "title": "test title", "body": "test body", "click_action": { "type": 3 } } }, "token": ["pushtoken1"] } } token - array **************************************** https://developer.huawei.com/consumer/en/doc/HMSCore-Guides/android-server-dev-0000001050040110 POST https://push-api.cloud.huawei.com/v1/[clientid]/messages:send **************************************** https://masterixs.ru/lk/api/alternate/send_push_test_atata1_huawei.php test ********************************************** https://stackoverflow.com/questions/18913345/curl-posting-with-header-application-x-www-form-urlencoded php curl send push HMS // // A very simple PHP example that sends a HTTP POST to a remote site // $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://xxxxxxxx.xxx/xx/xx"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "dispnumber=567567567&extension=6"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); // receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); // further processing .... if ($server_output == "OK") { ... } else { ... } ********************************************** php json decode $json = '{"countryId":"84","productId":"1","status":"0","opId":"134"}'; $json = json_decode($json, true); echo $json['countryId']; echo $json['productId']; echo $json['status']; echo $json['opId']; ********************************************** Встраиваем карты от Huawei в Android приложение https://habr.com/ru/articles/521810/ ********************************************** Getting Started with Android https://developer.huawei.com/consumer/en/doc/AppGallery-connect-Guides/agc-get-started-android-0000001058210705 ********************************************** com.huawei.agconnect plugin not found https://stackoverflow.com/questions/71121109/com-huawei-agconnect-plugin-not-found buildscript { repositories { maven {url = uri("https://developer.huawei.com/repo/") } } dependencies { classpath('com.android.tools.build:gradle:8.1.1') classpath("com.huawei.agconnect:agcp:1.9.1.300") } } plugins { id 'com.android.application' version '8.1.1' apply false id 'com.android.library' version '8.1.1' apply false } build.gradle :app plugins { id 'com.android.application' id 'com.huawei.agconnect' } android { ... } dependencies { implementation 'com.huawei.agconnect:agconnect-core:1.9.1.300' } settings.gradle Project pluginManagement { repositories { google() mavenCentral() maven { url 'https://developer.huawei.com/repo/' } gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url 'https://developer.huawei.com/repo/' } } } rootProject.name = "SomeProject" include ':app' ************************************************************** ********************************************** https://forums.developer.huawei.com/forumPortal/en/topic/0202798722342170172 https://stackoverflow.com/questions/36185774/release-debug-version-and-authorization-googleОшибка, при релизном варианте не формируется токен HMS
What should I do if a 6003 error occurs when I try to connect to HMS Core?
get huawei hms push token failed, com.huawei.hms.common.ApiException: 6003: certificate fingerprint error https://stackoverflow.com/questions/36185774/release-debug-version-and-authorization-google Go to Build --- Select Build Variant -- On the left Side Select "Release" as build variant -- now go to module settings ( or try to run project , android studio will tell you about a error and click fix error button) --- Select Signing tab --- add your release key and passwords -- now goto build types -- select release -- on signing config select your release key config -- now run your project -- now run your signing report --- you can find SHA1 under release build -- enter that sha1 code on your developer console Вам необходимо найти код SHA1 для ключа выпуска и ввести его в консоли разработчика. (для меня консоль разработчика — это Firebase, некоторые люди могут использовать разные сервисы). Чтобы найти код SHA1. простой способ это Перейдите к сборке --- выберите вариант сборки -- слева выберите «Выпуск» в качестве варианта сборки – теперь перейдите к настройкам модуля (или попробуйте запустить проект, студия Android сообщит вам об ошибке и нажмите кнопку «Исправить ошибку») --- Выберите вкладку "Подписание" --- добавьте ключ выпуска и пароли -- теперь перейдите к типам сборки -- выберите выпуск -- при настройке подписи выберите конфигурацию ключа выпуска -- теперь запустите проект -- теперь запустите отчет о подписании -- - вы можете найти SHA1 в сборке выпуска - введите этот код sha1 на консоли разработчика. **********************************************signingConfigs {
**************************************************************
debug {
storeFile file(DEBUG_STORE_FILE)
storePassword DEBUG_STORE_PASSWORD
keyAlias DEBUG_KEY_ALIAS
keyPassword DEBUG_KEY_PASSWORD
}
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
signingConfig signingConfigs.release
}
}OpenStreetMap https://habr.com/ru/articles/143177/
Переход с Google Maps на OpenStreetMap osmdroid https://github.com/osmdroid/osmdroid/wiki https://github.com/osmdroid/osmdroid/wiki/How-to-use-the-osmdroid-library-(Kotlin) **************************************************************Отправка пуш уведомлений в иос https://developer.apple.com/account/resources/authkeys/list тут создаем ключ APNKey как создадастся, берем оттуда Key ID Team ID Все загружаем в консоль файрбасе Project settings - Cloud Messaging Отправка пуш такая же как и для андроид в принципе Документация https://firebase.google.com/docs/cloud-messaging/ios/client?hl=ru **************************************************************ошибка токена Firebase Google Вкратце: нужно заглянуть в Google Cloud Console > API и службы > Учетные данные > Ключи API и взять оттуда правильный ключ Android (нажмите «SHOW KEY» справа), а затем поместить его в файл Firebase google-services. .json — api_key — current_key (как показано на картинке ниже). Внезапно та же ошибка (FIS_AUTH_ERROR) появилась в одном из моих приложений, где я использую Firebase Cloud Messaging. Все работало без проблем, и вдруг приложение не смогло получить токен приложения/устройства с помощью getToken(). После нескольких часов исследований я обнаружил кое-что, что решило мою проблему. Я решил проверить значения в файле google-services.json, чтобы узнать, соответствуют ли они соответствующим параметрам в консоли Firebase в настройках моего проекта. Сначала я загрузил новый файл google-services.json, который сравнил с тем, который уже был у меня в папке моего приложения, и они оба были одинаковыми, без каких-либо различий. В консоли Firebase я проверял один за другим идентификатор проекта, номер проекта и т. д. Когда я добрался до ключа веб-API, его значение выглядело очень похоже на api_key из google-services.json, но оба значения были разными. Тогда я решил отредактировать файл и вместо api_key поставил значение из Web API Key. Потом я почистил проект и пересобрал, после чего все снова стало работать просто идеально. Источник: https://stackoverflow.com/questions/60698622/java-io-ioexception-fis-auth-error-in-android-firebase **************************************************************scrollview in swift not scrolling https://www.youtube.com/watch?v=WLwQE3f2ZYg **************************************************************BottomNavigationView элементы навигации текст, отображаемый над значком ************************************************************** Я столкнулся с той же проблемой после обновления с 1.4.0 до 1.5.0, но в моем случае проблема была вызвана тем, что я использовал тему для BottomNavigationView, которая унаследована от Widget.Design.BottomNavigationView:Посмотрев на Widget.Design.BottomNavigationViewXML, я понял, что в версии 1.5.0 minHeightбыл добавлен атрибут, вызывающий проблему, с которой мы столкнулись. Поэтому я добавил - 0dp
к своему стилю следующее:И проблема была решена! Источник **************************************************************