DEV Community

HuaweiDevsLATAM
HuaweiDevsLATAM

Posted on

3 3

Como realizar una validación HMS

Alt text of image

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
}
Enter fullscreen mode Exit fullscreen mode

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'
Enter fullscreen mode Exit fullscreen mode

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;
}
Enter fullscreen mode Exit fullscreen mode

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.

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay