Estás aquí: Home > Distribución de Apps > SDK

SDK de Applivery: integra distribución de apps y gestión de usuarios

Integra la distribución de apps y la gestión de usuarios directamente en tus aplicaciones con el SDK de Applivery. Entrega actualizaciones in-app y gestiona usuarios fácilmente.

El SDK de Applivery es una librería ligera para iOS y Android que añade gestión de actualizaciones OTA, actualizaciones forzadas, informes de feedback y vinculación de usuarios directamente en tu App. Está diseñado para Builds de distribución interna y beta — no para lanzamientos de producción en la App Store o Google Play.

El SDK se integra con unas pocas líneas de código y no requiere que tus usuarios finales tengan cuenta en Applivery.

Note

El SDK actualiza siempre al Build más reciente disponible para la App, haciendo coincidir únicamente el bundle ID o el package name. No respeta los filtros de Publicación, ni grupos ni audiencias, ya que en el momento de actualizar no se puede identificar la Publicación desde la que se descargó originalmente un Build. Si necesitas aislar las actualizaciones por flavor o por funcionalidad, crea una app de Applivery independiente para cada variante, con una sola Publicación cada una.


Funcionalidades

Actualizaciones automáticas OTA
Avisa a los usuarios cuando hay una versión nueva disponible y les permite instalarla con un solo toque.
Actualizaciones forzadas
Bloquea el uso de la app y fuerza la actualización cuando la versión instalada está por debajo de la versión mínima configurada en el panel de Applivery.
Feedback y reporte de errores
Los usuarios pueden reportar errores o enviar feedback haciendo una captura de pantalla o grabando un vídeo. La información del dispositivo se adjunta automáticamente.
Vinculación de usuarios
Asocia tus propios usuarios autenticados con las sesiones de Applivery, para analítica, seguimiento de descargas y atribución del feedback.

Versión actual: 4.5.4
Versión mínima de iOS: 15.0
Lenguaje: Swift
Distribución: Swift Package Manager (recomendado), CocoaPods (obsoleto)
Repositorio: applivery/applivery-ios-sdk

Instalación

Swift Package Manager (recomendado)

En Xcode, ve a File → Add Package Dependencies e introduce:

https://github.com/applivery/applivery-ios-sdk.git

Establece la regla de dependencia en Up to next major version (4.0.0 < 5.0.0).

Se te pedirá elegir entre dos targets:

Target Cuándo usarlo
Applivery Úsalo cuando la App sea estrictamente interna y nunca se vaya a enviar a la App Store. Framework estático.
AppliveryDynamic Úsalo cuando distribuyas internamente con Applivery pero también publiques en la App Store. El framework se puede excluir en tiempo de compilación para los esquemas de App Store.
Note

Envíos a la App Store: incluir el SDK de Applivery en un build de App Store no está permitido y tu envío puede ser rechazado. Usa AppliveryDynamic y exclúyelo de la configuración de build de App Store — consulta Excluir condicionalmente el SDK de iOS de Applivery para las instrucciones paso a paso.

CocoaPods (obsoleto)

pod 'Applivery', '~> 4.5'

Configuración inicial

Inicializa el SDK al principio del ciclo de vida de tu App, normalmente en AppDelegate o SceneDelegate:

Swift

import Applivery

let applivery = AppliverySDK.shared
applivery.start(token: "YOUR_APP_TOKEN", tenant: "YOUR_TENANT")

Objective-C

@import Applivery;

AppliverySDK *applivery = [AppliverySDK shared];
[applivery startWithToken:@"YOUR_APP_TOKEN" tenant:@"YOUR_TENANT"];

El parámetro tenant es opcional. Si lo omites, el SDK usa el host por defecto de Applivery. Tu App Token está disponible en Ajustes de la App → API Tokens, en el panel de Applivery.

Configuración

Pasa un objeto AppliveryConfiguration a start() para personalizar el comportamiento del SDK:

Swift

import Applivery

let config = AppliveryConfiguration(
    postponedTimeFrames: [3600, 86400], // Opciones de aplazamiento en segundos que se muestran al usuario cuando hay una actualización
    enforceAuthentication: true          // Exige que el usuario inicie sesión antes de usar el SDK
)

AppliverySDK.shared.start(
    token: "YOUR_APP_TOKEN",
    tenant: "YOUR_TENANT",
    configuration: config,
    skipUpdateCheck: false
)

Objective-C

NSArray<NSNumber *> *timeFrames = @[@3600, @86400];
AppliveryConfiguration *config = [[AppliveryConfiguration alloc]
    initWithPostponedTimeFramesNSNumber:timeFrames
    enforceAuthentication:YES];
Propiedad Tipo Descripción
postponedTimeFrames [TimeInterval] Intervalos de tiempo en segundos que se muestran como opciones de "recordármelo más tarde" en el diálogo de actualización. Máximo 3 opciones.
enforceAuthentication Bool Si es true, los usuarios tienen que iniciar sesión en Applivery antes de poder usar la App. Por defecto: false.

Métodos principales de la API

Método Descripción
start(token:tenant:configuration:skipUpdateCheck:) Inicializa el SDK. Llámalo una sola vez al arrancar la app.
checkForUpdates(forceUpdate:) Comprueba si hay un build más reciente y propone al usuario actualizar. Pasa forceUpdate: true para ignorar cualquier aplazamiento.
isUpToDate() -> Bool Devuelve true si el número de build actual coincide con el último disponible. No respeta los filtros de Publicación.
update(onDownload:) Descarga e instala el último Build de inmediato.
setCheckForUpdatesBackground(_ enabled: Bool) Comprueba automáticamente si hay actualizaciones cuando la App vuelve de segundo plano.
feedbackEvent() Muestra la interfaz de feedback de forma programática (por ejemplo, al agitar el dispositivo).
enableScreenshotFeedback() / disableScreenshotFeedback() Activa o desactiva la detección de capturas de pantalla para lanzar el feedback.
bindUser(email:firstName:lastName:tags:onComplete:) Asocia una identidad de usuario con la sesión actual, para analítica y seguimiento del feedback.
unbindUser(onComplete:) Elimina el usuario vinculado actualmente.
getUser(onSuccess:) Devuelve el perfil del usuario vinculado como un diccionario.
handleRedirectURL(url:) Gestiona las URLs de redirección de autenticación SAML. Llámalo desde AppDelegate o SceneDelegate.
setLogHandler(_ handler:) Define un manejador de logs propio para capturar o redirigir los logs de Applivery.

Personalización

Colores de la interfaz

AppliverySDK.shared.palette = Palette(
    primaryColor: .orange,
    secondaryColor: .white,
    primaryFontColor: .white,
    secondaryFontColor: .black,
    screenshotBrushColor: .green
)

Literales de texto — traduce o adapta a tu marca los mensajes del SDK:

AppliverySDK.shared.textLiterals = TextLiterals(
    appName: "MyApp",
    otaUpdateMessage: "A new version is available. Update now?",
    forceUpdateMessage: "This version is no longer supported. Please update to continue."
)

Registro de logs

applivery.logLevel = .info // .none | .error | .info | .debug
Nivel Recomendado para
.none Producción (por defecto)
.error Desarrollo
.info Probar la integración del SDK
.debug Depurar las peticiones y respuestas del SDK

Compatibilidad con Swift y Xcode

Versión del SDK Xcode Swift
v4.0+ 13.x+ 5.x
v3.4 13.x 5.x
v3.2 12.x 5.x
v2.7.x 9.x – 10.x 4.0, 4.2

Versión actual: 5.0.0
Versión mínima de Android: Android 7.0 (API level 24)
Lenguaje: Kotlin
Distribución: Maven Central
Repositorio: applivery/applivery-android-sdk

Instalación

Añade la dependencia al build.gradle de tu App. El SDK está pensado para Builds que no son de producción:

// Usa debugImplementation para que Applivery solo se ejecute en builds de debug o de testing
debugImplementation("com.applivery:applivery-sdk:${latestVersion}")

Artefacto no-op para Builds de release

Para no tener que montar una configuración compleja de source sets que excluya el SDK de los Builds de release, usa el artefacto no-op. Expone la misma API pública que el SDK completo, pero no hace nada en tiempo de ejecución:

releaseImplementation("com.applivery:applivery-sdk-no-op:${latestVersion}")

Así puedes llamar a los métodos del SDK de Applivery desde cualquier punto de tu código sin que afecte a los Builds de release.

Configuración inicial

Inicializa el SDK en el método Application.onCreate():

import com.applivery.android.sdk.Applivery
import com.applivery.android.sdk.start

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        Applivery.start(APPLIVERY_TOKEN)
        // Para instancias privadas de Applivery, pasa también el tenant:
        // Applivery.start(APPLIVERY_TOKEN, TENANT)
    }
}
Note

En proyectos Java (versión 4.0.0 o superior), usa la clase AppliveryInterop para acceder a la funcionalidad del SDK.

Tu App Token está disponible en Ajustes de la App → API Tokens, en el panel de Applivery.

Configuración

Pasa un objeto Configuration a Applivery.start() para personalizar el comportamiento:

val configuration = Configuration(
    postponeDurations = listOf(2.hours, 30.minutes, 5.minutes),
    enforceAuthentication = false,
    downloadAction = BuildDownloadAction.IMMEDIATE
)

Applivery.start(APPLIVERY_TOKEN, configuration = configuration)
Propiedad Tipo Descripción
postponeDurations List<Duration> Opciones que se muestran al usuario para aplazar una actualización disponible. Máximo 3 opciones.
enforceAuthentication Boolean Si es true, los usuarios tienen que iniciar sesión antes de usar el SDK. Por defecto: false.
downloadAction BuildDownloadAction IMMEDIATE instala la actualización en cuanto termina la descarga. DEFERRED muestra una notificación y deja que el usuario decida cuándo instalarla.

Gestión de actualizaciones

// Comprobar actualizaciones manualmente
Applivery.getInstance().checkForUpdates()

// Comprobar automáticamente cuando la app vuelve de segundo plano
Applivery.getInstance().setCheckForUpdatesBackground(true)

// Descargar la última actualización sin instalarla de inmediato
val callback = object : DownloadLastUpdateCallback {
    override fun onSuccess(update: CachedAppUpdate) {
        update.install() // instalar cuando esté listo
    }
    override fun onError(error: Throwable) { /* gestionar el error */ }
}
Applivery.getInstance().downloadLastUpdate(callback)

// Activar la descarga automática en segundo plano
Applivery.getInstance().enableDownloadLastUpdateBackground(callback)

// Lanzar descarga e instalación inmediatas (sigue el downloadAction configurado)
Applivery.getInstance().update()
Warning

enableDownloadLastUpdateBackground y setCheckForUpdatesBackground son mutuamente excluyentes. Activar uno desactiva el otro.

Feedback

// Activar o desactivar el feedback por captura de pantalla
Applivery.getInstance().enableScreenshotFeedback()
Applivery.getInstance().disableScreenshotFeedback()

// Mostrar la interfaz de feedback de forma programática
Applivery.getInstance().feedbackEvent()

Gestión de usuarios

// Vincular un usuario para analítica y seguimiento del feedback
Applivery.getInstance().bindUser(email, firstName, lastName, tags)

// Eliminar el usuario vinculado
Applivery.getInstance().unbindUser()

// Obtener el usuario actual
Applivery.getInstance().getUser(getUserCallback)

Permisos necesarios

El SDK necesita los siguientes permisos en tiempo de ejecución. Solicítalos en tu App antes de usar las funciones que los requieren:

Permiso Para qué se usa
POST_NOTIFICATIONS Mostrar notificaciones durante las descargas de actualizaciones y la grabación de pantalla
READ_MEDIA_IMAGES Detección de capturas de pantalla para el feedback (en Android 14+ se requiere acceso completo)
SYSTEM_ALERT_WINDOW Grabación de pantalla para el feedback

Personalización de la interfaz

Crea un archivo res/values/applivery.xml para sobrescribir los colores y textos por defecto:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="applivery_primary_color">#FF0241E3</color>
    <color name="applivery_accent_color">#FF0241E3</color>
    <color name="applivery_foreground_color">#FF010258</color>

    <string name="appliveryUpdateMsg">A new version is available. Update now?</string>
    <string name="appliveryMustUpdateAppLocked">This version is outdated. Please update to continue.</string>
</resources>

Usuarios del SDK de Applivery — usuarios vinculados y temporales, cómo vincularlos y desvincularlos, aplicación de autenticación y seguimiento del uso y feedback de la App.

8 min de lectura Cross-platform

El SDK de Applivery proporciona actualizaciones OTA, actualizaciones forzadas, informes de feedback y vinculación de usuarios para apps internas y beta de iOS y Android.

No, el SDK de Applivery está diseñado para Builds de distribución interna y beta, no para lanzamientos de producción en la App Store o Google Play.

El método recomendado es usar Swift Package Manager con la URL https://github.com/applivery/applivery-ios-sdk.git.

Llama a `AppliverySDK.shared.start(token: "YOUR_APP_TOKEN", tenant: "YOUR_TENANT")` al inicio del ciclo de vida de tu app.

Usa el método `bindUser(email:firstName:lastName:tags:onComplete:)` para vincular identidades de usuario para el seguimiento de analíticas y feedback.

Configura la propiedad `AppliverySDK.shared.palette` con un objeto `Palette`, especificando colores para los elementos primarios, secundarios y de fuente.

Última actualización: 10 de septiembre de 2026