Cómo integrar rápidamente Remote Config para Android en Xamarin

Como plataforma de desarrollo de múltiples sistemas para servicios móviles proporcionada por Microsoft, Xamarin se ha convertido en la plataforma de desarrollo de aplicaciones preferida por muchos desarrolladores. AppGallery Connect (en adelante, AGC) también admite gradualmente el SDK de Xamarin. Hoy les enseñaré cómo acceder rápidamente a la versión de Xamarin del servicio de configuración remota.

Pasos de acceso

Instalar el entorno Xamarin

La plataforma de desarrollo oficial de Xamarin es Visual Studio, por lo que primero debemos instalar Visual Studio 2019.

Dirección de descarga: https://visualstudio.microsoft.com/zh-hans/downloads/

Después de descargar e instalar, también necesitamos instalar el complemento de Xamarin, Desarrollo móvil con .NET, que se denomina "desarrollo móvil usando .NET" en chino. Una vez completada la instalación, puede usar Visual Studio para desarrollar Xamarin para Android e iOS.

cke_13819.png

Habilite la configuración remota en la página AGC y cree los elementos de configuración correspondientes

Para conocer los pasos de configuración específicos, consulte la documentación oficial de configuración remota:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-remoteconfig-android-cloudconfig-0000001056587179

Crear un proyecto de Xamarin

1. Crea un nuevo proyecto en Visual Studio

Seleccione la aplicación móvil (Xamarin.Forms), establezca el nombre de la aplicación y otra información, y cree un proyecto

cke_13820.png

2. Integre el paquete Xamarin configurado de forma remota en el nuevo proyecto

Hay dos formas de integrar paquetes de Xamarin

El primero es la integración en la nube, haga clic con el botón derecho en la barra de directorios y seleccione Administrar paquetes NuGet

cke_13821.png

Busque Huawei.Agconnect.RemoteConfiguration en las opciones de exploración y haga clic en Instalar.

cke_13822.png

La segunda forma es integrar paquetes NuGet localmente. Primero, debe colocar todos los paquetes NuGet necesarios en una carpeta local.

cke_13823.png

Abrimos el administrador de paquetes NuGet de la primera manera, hacemos clic en el ícono de configuración al lado de la fuente del paquete y abrimos el directorio de opciones

cke_13824.png

Haga clic en el signo más verde para agregar un nuevo origen de paquete e ingrese el directorio de la carpeta donde se acaba de almacenar el paquete local de NuGet en el área de origen.

cke_13825.png

3. Agregue el archivo de configuración de AGC

AGC ha preparado un archivo json de configuración para que los desarrolladores almacenen toda la información relacionada con la aplicación. Necesitamos integrar este archivo en el proyecto para usarlo cuando llamemos a la interfaz más tarde. Nuestro SDK leerá automáticamente el contenido y no es necesario que los desarrolladores para llamarlo manualmente Entrante, los pasos específicos son los siguientes

3.1 Descargue el archivo agconnect-services.json desde la consola de administración de AGC y coloque el archivo en el directorio de Activos del proyecto

cke_13826.png

3.2 Cree una nueva clase en el proyecto, HmsLazyInputStreams.cs, y escriba el siguiente código para leer el contenido del archivo json

using System;

using System.IO;

using Android.Util;

using Android.Content;

using Huawei.Agconnect.Config;

namespace XamarinHmsRemoteConfig

{

class HmsLazyInputStream : LazyInputStream

{

public HmsLazyInputStream(Context context) : base(context)

{

Get(context);

}

public override Stream Get(Context context)

{

try

{

return context.Assets.Open("agconnect-services.json");

}

catch (Exception e)

{

Log.Error(e.ToString(), "Can't open agconnect file");

return null;

}

}

}

}

3.3 Cree otra clase de proveedor de contenido y escriba el siguiente código para permitir que el archivo se lea al iniciar la aplicación. Cabe señalar que el nombre del paquete en el proveedor de contenido debe ser el mismo que el nombre del paquete de la aplicación (incluido el paquete nombre establecido en el proyecto y el nombre del paquete AGC) nombre del paquete establecido en la consola de administración).

using System;

using Android.Content;

using Android.Database;

using Huawei.Agconnect.Config;

namespace XamarinHmsRemoteConfig

{

[ContentProvider(new string[] { "com.huawei.cordova.remoteconfig.XamarinCustomProvider" }, InitOrder = 99)]

public class XamarinCustomProvider : ContentProvider

{

public override int Delete(Android.Net.Uri uri, string selection, string[] selectionArgs)

{

throw new NotImplementedException();

}

public override string GetType(Android.Net.Uri uri)

{

throw new NotImplementedException();

}

public override Android.Net.Uri Insert(Android.Net.Uri uri, ContentValues values)

{

throw new NotImplementedException();

}

public override bool OnCreate()

{

AGConnectServicesConfig config = AGConnectServicesConfig.FromContext(Context);

config.OverlayWith(new HmsLazyInputStream(Context));

return false;

}

public override ICursor Query(Android.Net.Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder)

{

throw new NotImplementedException();

}

public override int Update(Android.Net.Uri uri, ContentValues values, string selection, string[] selectionArgs)

{

throw new NotImplementedException();

}

}

}

3.4 Establecer el nombre del paquete

Haga clic con el botón derecho en el proyecto para buscar la opción Propiedades, busque el nombre del paquete en la pestaña del manifiesto de Android y establezca el nombre del paquete de la aplicación.

cke_13827.png

4. Agregue la configuración predeterminada local

La configuración remota permite a los desarrolladores configurar un valor predeterminado localmente. Hay dos formas de configurar esto,

La primera es establecer la configuración relevante a través del archivo xml.Podemos crear un archivo xml en la carpeta Xml en la carpeta de recursos para almacenar los elementos de configuración y los valores predeterminados.

cke_13828.png

Llame al método ApplyDefault en el código para leer el archivo xml correspondiente

AGConnectConfig.Instance.ApplyDefault(Resource.Xml.RemoteConfig);

La segunda forma es establecer dinámicamente la configuración predeterminada en el código, el ejemplo es el siguiente:

IDictionary<string, Java.Lang.Object> ConfigVariables = new Dictionary<string, Java.Lang.Object>();

ConfigVariables.Add("value1", "Default");

AGConnectConfig.Instance.ApplyDefault(ConfigVariables);

5、Buscar

La función Fetch es la función principal de la configuración remota. La interfaz de búsqueda puede descargar los últimos valores de configuración de la nube al local para la configuración en tiempo real. La interfaz tiene un parámetro, que representa el intervalo en el que la interfaz obtiene el valor de la nube. Si no se pasa ningún valor, el valor predeterminado será de 12 horas.

AGConnectConfig.Instance.Fetch(fetchInterval).AddOnSuccessListener(new TaskListener(this)).AddOnFailureListener(new TaskListener(this));

6, Todo combinado

El resto de las interfaces son consistentes con la versión de Android, pero hay una interfaz que tiene un nombre ligeramente diferente al de la versión de Android, que es el método MergedAll. Este método se llama getMergedAll en Android y su función es devolver todos los valores combinados con el valor predeterminado y el valor de la nube.

AGConnectConfig.Instance.MergedAll;

Lo anterior es todo el proceso de acceso rápido a la versión de configuración remota de Xamarin. A medida que más y más servicios soporten Xamarin, también les traeré más tutoriales de acceso.

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4478396/blog/5516956
Recomendado
Clasificación