Introducción
Los teléfonos Huawei no tienen servicios GMS, por lo que en la mayoría de los casos necesitamos usar flavors para mantener un proyecto para GMS y HMS, por lo que hay una manera fácil de validar el HMS disponible que explicaré a continuación:
Necesitamos integrar HMS como otro proyecto para que pueda crear un nuevo proyecto:
Crear una aplicación Cree una aplicación siguiendo las instrucciones de Creación de un proyecto de AppGallery Connect y Adición de una aplicación al proyecto.
Plataforma: Android
Dispositivo: teléfono móvil
Categoría de la App: aplicación o juego
Integración de HUAWEI AR Engine SDK
Antes del desarrollo, integre HUAWEI AR Engine SDK a través del repositorio de Maven en su entorno de desarrollo. Abra el archivo build.gradle en el directorio raíz de su proyecto de Android Studio.
buildscript { repositories { google() jcenter() // Configure the Maven repository address for the HMS Core SDK. maven {url 'https://developer.huawei.com/repo/'} } dependencies { classpath "com.android.tools.build:gradle:4.1.2"// Add AppGallery Connect plug-in configurations. classpath 'com.huawei.agconnect:agcp:1.4.2.300' classpath 'com.google.gms:google-services:4.3.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { google() jcenter() maven {url 'https://developer.huawei.com/repo/'} }}task clean(type: Delete) { delete rootProject.buildDir}
Abra el archivo build.gradle en el directorio de la aplicación de su proyecto
plugins { id 'com.android.application'}android { compileSdkVersion 30 buildToolsVersion "30.0.2"defaultConfig { applicationId "com.spartdark.validatehmsservices" minSdkVersion 29 targetSdkVersion 30 versionCode 1 versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}dependencies {implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.3.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' testImplementation 'junit:junit:4.+' //hms implementation 'com.huawei.hms:hwid:5.1.0.301' //gms implementation platform('com.google.firebase:firebase-bom:26.3.0') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-auth' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'}apply plugin: 'com.huawei.agconnect'apply plugin: 'com.google.gms.google-services'
Los métodos que utilizará para validar sus servicios son
public static boolean isHmsAvailable(Context context) { boolean isAvailable = false; if (null != context) { int result = HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(context); isAvailable = (com.huawei.hms.api.ConnectionResult.SUCCESS == result); } Log.i(TAG, "isHmsAvailable: " + isAvailable); return isAvailable;}public static boolean isGmsAvailable(Context context) { boolean isAvailable = false; if (null != context) { int result = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context); isAvailable = (com.google.android.gms.common.ConnectionResult.SUCCESS == result); } Log.i(TAG, "isGmsAvailable: " + isAvailable); return isAvailable;}
Conclusión
Es muy sencillo validar si un servicio está disponible en un teléfono.
Github Repo
Explora más artículos en elHuawei Developer Forum.
Conviértete enHuawei Developer, es gratis.
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse