Introducción a Xamarin

El SDK App Center usa una arquitectura modular para que pueda usar cualquiera o todos los servicios.

Vamos a empezar a configurar el SDK App Center Xamarin en la aplicación para usar App Center Analytics y App Center bloqueos. Para agregar App Center Distribute a la aplicación, consulte la documentación de App Center Distribute.

1. Prerrequisitos

Asegúrese de que se cumplen los siguientes requisitos previos antes de empezar:

  • El proyecto se configura en Visual Studio 2017 o Visual Studio para Mac.
  • Tiene como destino dispositivos que ejecutan iOS 9.0 o posterior o Android 5.0 (nivel de API 21) o posterior.
  • No usa ningún otro SDK que proporciona la funcionalidad de informes de bloqueo.

El SDK App Center para Xamarin admite las siguientes plataformas:

  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Forms (aplicaciones de escritorio de iOS, Android, UWP y Windows)

1.1 Acerca de Xamarin.Android

Elija esta opción si solo tiene como destino la plataforma Android. Debe crear una aplicación en el portal de App Center con Android como sistema operativo y Xamarin como plataforma.

1.2 Acerca de Xamarin.iOS

Elija esta opción si solo tiene como destino la plataforma iOS. Debe crear una aplicación en el portal de App Center con iOS como sistema operativo y Xamarin como plataforma.

1.3 Acerca de Xamarin.Forms (iOS, Android, UWP y Escritorio de Windows)

Elija esta opción si desea crear una aplicación multiplataforma para dispositivos iOS, Android, UWP y Escritorio de Windows. Debe crear 4 aplicaciones en App Center, una para cada sistema operativo.

Debe seleccionar Xamarin como plataforma para aplicaciones iOS y Android (UWP no tiene una opción de Xamarin).

Para las aplicaciones de escritorio de Windows, debe configurar el proyecto para la compatibilidad con la plataforma Xamarin.

2. Creación de la aplicación en App Center Portal para obtener el secreto de la aplicación

Si ya ha creado la aplicación en el portal App Center, puede omitir este paso.

  1. Diríjase a appcenter.ms.
  2. Regístrese o inicie sesión y presione el botón azul de la esquina superior derecha del portal que indica Agregar nuevo y seleccione Agregar nueva aplicación en el menú desplegable.
  3. Escriba un nombre y una descripción opcional para la aplicación.
  4. Seleccione el sistema operativo y la plataforma adecuados en función del proyecto, tal y como se ha descrito anteriormente.
  5. Presione el botón situado en la parte inferior derecha que indica Add new app (Agregar nueva aplicación).

Una vez que haya creado una aplicación, puede obtener su secreto de aplicación en la página Configuración del App Center Portal. En la esquina superior derecha de la página Configuración, haga clic en los puntos verticales triples y Copy app secret seleccione para obtener el secreto de la aplicación.

3. Agregue el SDK App Center a la solución.

El SDK App Center se puede integrar mediante Visual Studio o la Administrador de paquetes consola.

Nota

App Center SDK usa ensamblados con nombre fuerte para la compatibilidad con aplicaciones que usan un signo con nombre fuerte.

Visual Studio para Mac

  • Abra Visual Studio para Mac.
  • Haga clic en Abrir > archivo y elija la solución.
  • En el navegador de soluciones, haga clic con el botón derecho en la sección Paquetes y elija Agregar paquetes NuGet....
  • Busque App Center y seleccione App Center Analytics y App Center Bloqueos.
  • Haga clic en Agregar paquetes.

Visual Studio para Windows

  • Abra Visual Studio para Windows.
  • Haga clic en Abrir > archivo y elija la solución.
  • En el navegador de soluciones, haga clic con el botón derecho en Referencias y elija Administrar paquetes NuGet.
  • Busque App Center e instale los paquetes Microsoft.AppCenter.Analytics y Microsoft.AppCenter.Crashes.

Consola del Administrador de paquetes

  • Abra la consola en Visual Studio. Para ello, elija Herramientas > NuGet Administrador de paquetes Administrador de paquetes > Consola.
  • Si está trabajando en Visual Studio para Mac , asegúrese de que ha instalado NuGet Administración de paquetes Extensions. Para ello, elija Visual Studio > extensiones, busque NuGet e instále, si es necesario.
  • Escriba el siguiente comando en la consola:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

Ahora que ha integrado el SDK en la aplicación, es el momento de iniciar el SDK y hacer uso de App Center servicios.

Nota

Si usa el SDK de App Center en un proyecto portátil (como Xamarin.Forms), debe instalar los paquetes en cada uno de los proyectos: los portátiles, Android e iOS. Para ello, debe abrir cada subprovee y seguir los pasos correspondientes descritos en Visual Studio para Mac o Visual Studio para Windows.

4. Inicio del SDK

Para usar App Center, debe participar en los módulos que desea usar. De forma predeterminada, no se inicia ningún módulo y debe llamar explícitamente a cada uno de ellos al iniciar el SDK.

4.1 Adición de las instrucciones using

Agregue los espacios de nombres adecuados antes de empezar a usar nuestras API.

  • Xamarin.iOS: abra el del proyecto y agregue las siguientes AppDelegate.cs líneas debajo de las using instrucciones existentes.
  • Xamarin.Android: abra el del proyecto MainActivity.cs y agregue las siguientes líneas debajo de las instrucciones using existentes.
  • Xamarin.Forms: abra el del proyecto y App.xaml.cs agregue las siguientes líneas debajo de las instrucciones using existentes.
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;

4.2 Adición del Start() método

4.2.1 Xamarin.Android

Nota

En caso de que use el SDK de HockeyApp para Android, asegúrese de inicializar el SDK de HockeyApp DESPUÉS App Center SDK.

Abra el archivo MainActivity.cs del proyecto y agregue la Start() llamada dentro del método OnCreate() .

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

Nota

Si la aplicación tiene servicios en segundo plano o varios puntos de entrada como un receptor de difusión, actividades exportadas o proveedores de contenido, se recomienda iniciar en su lugar en la devolución AppCenter Application.OnCreate de llamada. Si este comentario se aplica a la aplicación y aún no tiene la devolución de llamada, vea este ejemplo de código Application.OnCreate.

4.2.2 Xamarin.iOS

Nota

No es posible tener más de un SDK de informes de bloqueo activo en la aplicación. Deshabilite la funcionalidad de informes de bloqueo de los otros SDK para asegurarse App Center detectar los bloqueos.

Abra el archivo del AppDelegate.cs proyecto y agregue la llamada dentro del método Start() FinishedLaunching() .

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

Nota

Si usa Bloqueos, debe llamar a este método en el subproceso ui/main y evitar iniciar tareas en segundo plano hasta que Start el método vuelva. El motivo es que cualquier excepción de referencia nula detectada desde otro subproceso mientras se inicializa Crashes puede desencadenar un bloqueo nativo y omitir la cláusula catch. Una vez que el método vuelve, es seguro volver a intentar o detectar excepciones de AppCenter.Start referencia nulas. Puede leer más sobre la causa de este problema de tiempo en el artículo Signals and third-party crash reporters (Señales y reportajes de bloqueo de terceros).

4.2.3 Xamarin.Forms

Para usar una aplicación de Xamarin.Forms destinada a plataformas iOS, Android y UWP, debe crear tres aplicaciones en el portal de App Center: una para cada plataforma. La creación de tres aplicaciones le dará tres secretos de aplicación: uno para cada una. Abra el archivo App.xaml.cs del proyecto (o la clase que hereda de ) en el proyecto compartido o portátil y agregue el método siguiente Xamarin.Forms.Application en el método OnStart() .

AppCenter.Start("ios={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics), typeof(Crashes));

Si necesita iniciar los servicios App Center por separado, debe hacer lo siguiente:

  1. Configúrelo o inéntelo con el secreto de aplicación.
  2. Si se puede llamar al código varias veces, compruebe si el App Center ya está configurado.
  3. Inicie los servicios necesarios sin el secreto de aplicación.
AppCenter.Configure("ios={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}");
if (AppCenter.Configured)
{
    AppCenter.Start(typeof(Analytics));
    AppCenter.Start(typeof(Crashes));
}

Importante

Las llaves muestran dónde colocar los secretos reales de la aplicación, no colocar llaves en la Start llamada.

Nota

En caso de que use el SDK de HockeyApp para Android, asegúrese de inicializar el SDK de HockeyApp DESPUÉS App Center SDK. Para la aplicación iOS, no es posible tener más de un SDK de informes de bloqueo activo en la aplicación. Deshabilite la funcionalidad de informes de bloqueo de los otros SDK para asegurarse App Center detectar los bloqueos.

Nota

Las notas de las dos secciones anteriores sobre iOS y Android también se aplican a Xamarin.Forms. Si esos comentarios se aplican a la aplicación, es posible que tenga que inicializar AppCenter en distintos lugares por plataforma.

4.2.4 Si usa la copia de seguridad automática para evitar obtener información incorrecta sobre los dispositivos, siga estos pasos:

Nota

Las aplicaciones destinadas a Android 6.0 (nivel de API 23) o superior tienen habilitada automáticamente la copia de seguridad automática.

Nota

Si ya tiene un archivo personalizado con reglas de copia de seguridad, cambie al tercer paso.

  1. Cree appcenter_backup_rule.xml archivo en la carpeta Resources/xml.

  2. Abra el archivo de AndroidManifest.xml proyecto. Agregue el android:fullBackupContent atributo al <application> elemento . Debe apuntar al archivo appcenter_backup_rule.xmlde recursos.

android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Agregue las siguientes reglas de copia de seguridad alappcenter_backup_rule.xml archivo:
    <full-backup-content xmlns:tools="http://schemas.android.com/tools">
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </full-backup-content>

4.3 Reemplazar el marcador de posición por el secreto de aplicación

Asegúrese de reemplazar el {Your App Secret} texto por el valor real de la aplicación. El secreto de la aplicación se puede encontrar en la página Tareas iniciales o en la página Configuración en App Center portal.

La Tareas iniciales contiene el ejemplo de código anterior con el secreto de aplicación en él, puede copiar y pegar el ejemplo completo.

En el ejemplo anterior se muestra cómo usar el método e incluir tanto Start() App Center Analytics como App Center bloqueos.

Si no desea usar uno de los dos servicios, quite el parámetro correspondiente de la llamada al método anterior.

A menos que especifique explícitamente cada módulo como parámetros en el método start, no puede usar ese App Center servicio. Además, la API solo se puede usar una vez en el ciclo de vida de la aplicación: todas las demás llamadas registrarán una advertencia en la consola y solo estarán disponibles los módulos incluidos en la primera start() llamada.

Por ejemplo: si desea incorporar a App Center Analytics, debe modificar la Start() llamada de la siguiente manera:

4.3.1 Xamarin.Android y Xamarin.iOS

AppCenter.Start("{Your App Secret}", typeof(Analytics));

4.3.2 Xamarin.Forms

AppCenter.Start("ios={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics));

Excelente, todo está listo para visualizar datos de Análisis y bloqueos en el portal que el SDK recopila automáticamente.

Consulte la documentación de App Center Analytics y App Center crashes para aprender a personalizar y usar funcionalidades más avanzadas de ambos servicios.

Para obtener información sobre cómo empezar a trabajar con las actualizaciones en la aplicación, lea la documentación de App Center Distribute.

Nota

Con las API portátiles de Xamarin Forms, verá las API de todos los módulos; sin embargo, no todas esas API se admiten en las plataformas de escritorio de Windows y UWP y no hacen nada cuando se ejecutan en las aplicaciones de escritorio de Windows y UWP. En concreto, UWP y Escritorio de Windows no admiten el módulo siguiente: Distribuir. Cualquier método con un tipo de valor devuelto devolvería null (para objetos), 0 (para números) o (para booleanos) en UWP y la aplicación false de escritorio de Windows.