DEV Community

HuaweiDevsLATAM
HuaweiDevsLATAM

Posted on

Primeros pasos para desarrollar una Huawei App

Para desarrollar y publicar una App en App Gallery, primero debes crear un Proyecto en App Gallery Connect (AGC), esto te permitirá conectar con los kits de desarrollo y con los servicios de AGC. En este artículo voy a explicarte la configuración básica en AGC y en tu Proyecto android, de esta forma tu app estará preparada para implementar el kit de HMS que desees.

Requisitos previos

  • Una cuenta de desarrollador verificada Necesitas una cuenta de desarrollador para acceder a la consola de AGC, si no cuentas con una, puedes seguir esta guía para registrarte como desarrollador.

Creando el proyecto

Una vez creada tu cuenta, el primer paso esc rear un proyecto.
Inicia session en la consola de App Gallery y selecciona “My Project”
Alt Text

Haz clic en el botón “Add Project”
Alt Text

Asignale un nombre a tu proyecto y haz clic en el botón "add app"

Alt Text

Ingresa la información básica de tu app:
Package Type: Selecciona APK, el paquete RPK es para publicar quick apps y card abilities (hablaremos de eso en otro post)
Device: Mobile Phone es la única opción para este campo
App Name: Será el nombre de tu Proyecto en la consola
App Category: Elige entre App o Game
Default language: selecciona el lenguaje que tu app soporta por defecto, considera los países donde piensas publicar tu app.

Creando el Proyecto Android

Si ya tienes un Proyecto creado, puedes saltar hasta “Configurando la firma en el archivo build.gradle”
Crea un Nuevo Proyecto en Android Studio seleccionando File > New > New Project.
Para el SDK mínimo revisa esta tabla para saber cuál es la versión mínima soportada de Android android/EMUI para los kits que quieres usar.

Alt Text

Creando la firma de la app

AGC utiliza la hualle digital de tu firma como medio de autenticación, cuando tu app trata de consumer un servicio de Huawei, la huella digial será comparada contra la que registres en AGC. Si la huella digital no coincide, tu app no funcionará adecuadamente. Por ejemplo, en el caso de Maps, el mapa no será desplegado y en el caso de Push, la app no podrá obtener el token necesario para recibir notificaciones.

Ve a “Build” y selecciona “Generate signed Bundle/APK”. Elige APK y haz clic en “next”

En el siguiente diálogo haz clic en “Create New”

Alt Text

Llena la información requerida y asigna contraseñas para el keystore y el key alias.

Para “key store path” te recomiendo usar la carpeta “app” de tu proyecto.

Alt Text

Haz clic en OK y marca la casilla “Remember passwords”, luego haz clic en siguiente.

Alt Text

Habilita las 2 versiones de firma, selecciona “release” y haz clic en “Finish”

Alt Text

Configurando la firma en el archivo build.gradle

Agrega la siguiente configuración a tu archivo build.gradle (modulo app), de este modo las builds debug y reléase tendrán la misma firma y huella digital.

signingConfigs {
 release {
 storeFile file(“example.jks”)
 keyAlias ‘example’
 keyPassword ‘example123’
 storePassword ‘example123’
 v1SigningEnabled true
 v2SigningEnabled true
 }
 }

 buildTypes {
 release {
 signingConfig signingConfigs.release
 minifyEnabled false
 proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
 }
 debug {
 signingConfig signingConfigs.release
 debuggable true
 }
 }
Enter fullscreen mode Exit fullscreen mode

Presiona el botón “Sync project with gradle files”.

Alt Text

Configurando la información del proyecto

Ve a “Develop” para empezar la configuración
Se te pedirá que ingreses el nombre de paquete de tu app “package name”, elige “Manually enter” y pega el nombre del paquete (puedes encontrarlo al inicio de tu archivo AndroidManifest.xml)

Alt Text

Una vez ingresado el package name, verás el panel “General Information”

Configurando el Data storage location (DSL)

Algunos servicios de AGC requieren que selecciones un DSL. Esta ubicación determina la infraestructura usada por AGC para porporcionar los servicios a tu app.
Al configurar un DSL, tu app sólo podrá ser lanzada en los países dónde dicho DSL tenga cobertura. Si tu app requiere un DSL y quieres lanzar tu app en todo el mundo, tendrás que crear un proyecto para cada DSL y así cubrir todos los territorios. Si queres lanzar tu app en todo el mundo, no configures un DSL a menos que sea absolutamente necesario para tu app. Puedes revisar este documento para saber si tu app requerirá seleccionar un DSL.

Alt Text

Para añadir un DSL haz clic en el botón “set” y selecciona la ubicación que cubra todos o la mayoría de países dónde queras publicar tu app.

DSL

Agregando la huella digital

Regresa a Android Studio y abre el panel de “gradle” a la derecha, luego ejecuta la tarea “signing report”.
Alt Text

Se abrirá el panel “Run” en la parte de abajo de la pantalla. Copia el valor del campo SHA-256.
Alt Text

Pega y guarda tu huella digital en App Gallery Connect
Alt Text

Agregando el SDK de HMS

Descarga tua rchivo de configuración agconnect-services.json desde la consola.
Guarda tu archivo en la carpeta “app” de tu proyecto. Si estás usando product flavors, guarda el json en la carpeta raíz de tu flavor.
Agrega el repositorio maven y la dependencia de AGC a tu build.gradle a nivel de proyecto.

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'http://developer.huawei.com/repo/'}
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.0"
        classpath 'com.huawei.agconnect:agcp:1.3.1.300'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'http://developer.huawei.com/repo/'}
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}
Enter fullscreen mode Exit fullscreen mode

Ahora agrega el SDK de HMS y el plugin de AGC a tu build.gradle módulo app.

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    //HMS
    implementation 'com.huawei.agconnect:agconnect-core:1.3.0.300'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
Enter fullscreen mode Exit fullscreen mode

Para terminar, sincroniza tu Proyecto con gradle.
Alt Text

Conclusión

Ahora tu app está lista para comenzar a integrar los kits de HMS y los servicios de AGC. Puedes volver a revisar esta guia cada vez que quieras desarrollar un app que funcione en teléfonos Huawei.

Top comments (0)