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 el Huawei Developer Forum.
Conviértete en Huawei Developer, es gratis.
Top comments (0)