Usuarios Live
—
Trucos Ejecutados
—
Alertas de Fraude
—
Licencias Activas
—
⚠️ Expiran pronto
Cargando...
📱 Últimas conexiones
Cargando...
🛡 Últimos eventos
Cargando...
Gestión de Licencias
| Clave | Tipo | Duración | Prueba | Activación | Estado | Acciones | |
|---|---|---|---|---|---|---|---|
| Cargando... | |||||||
Papelera
| Clave | Eliminada | Estado | Acciones | |
|---|---|---|---|---|
| La papelera está vacía. | ||||
Dispositivos Autorizados
| HWID | App | Modelo | Licencia | IP | Estado | Acciones |
|---|---|---|---|---|---|---|
| Cargando... | ||||||
Logs de Actividad
| Timestamp | HWID | Acción | Metadata | Severidad |
|---|---|---|---|---|
| Cargando... | ||||
SDK — Integración en tu App Android
Generador de Snippets
Rellena los datos de tu app y genera los 4 bloques de código listos para pegar en Android Studio
Pasos para integrar el SDK en tu app Android
Sigue estos pasos en orden. Sin terminal, sin scripts, funciona en Windows, Mac y Linux.
Abre el proyecto Android en Android Studio y comprueba que compila
Antes de tocar nada, haz un Build → Make Project para asegurarte de que el proyecto parte limpio sin errores.
Añade JitPack al archivo settings.gradle
En el panel de proyecto (izquierda de Android Studio), abre settings.gradle — es el que está en la raíz del proyecto, NO el que está dentro de la carpeta app/. Busca el bloque repositories { } dentro de dependencyResolutionManagement y añade la línea marcada:
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } ← añade esta línea
}
}
⚠️ Si tu proyecto usa Gradle antiguo (sin dependencyResolutionManagement), añade la línea dentro de allprojects > repositories en el build.gradle raíz.
Añade la dependencia en app/build.gradle
Abre app/build.gradle (el que está dentro de la carpeta app/, no el raíz). Busca el bloque dependencies { } y pega el Snippet 1 generado arriba:
implementation 'androidx.appcompat:appcompat:1.6.1'
// ... tus otras dependencias ...
implementation 'com.github.nexusmagic:ninja-sdk:v1.0.8' ← pega Snippet 1
}
Sincroniza Gradle
Aparecerá un aviso amarillo arriba del archivo con el texto "Gradle files have changed". Haz clic en Sync Now. O bien: menú File → Sync Project with Gradle Files. Espera a que termine (barra de progreso abajo). Si hay error, comprueba que el repo está en JitPack con el ✓ verde.
Crea una clase Application si tu proyecto no tiene una
En el panel de proyecto, haz clic derecho sobre tu paquete principal (donde están tus Activities) → New → Kotlin Class/File → nombre: MyApp → tipo Class. Pega este código completo:
import android.app.Application
import com.nexusdeckpro.ninjasdk.NinjaMagic
import com.tu.paquete.MainActivity ← tu activity principal
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
// ← pega aquí el Snippet 2
}
}
Si ya tenías una clase Application, simplemente añade el Snippet 2 dentro de onCreate().
Registra la clase MyApp en el AndroidManifest.xml
Abre app/src/main/AndroidManifest.xml. Busca la etiqueta <application (es la que empieza el bloque principal) y añade el atributo android:name=".MyApp":
android:name=".MyApp" ← añade esta línea
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
... >
Cambia el launcher en AndroidManifest.xml — pega el Snippet 3
Sigue en AndroidManifest.xml. Busca el bloque <activity> que tiene dentro android.intent.action.MAIN. Normalmente es tu MainActivity. Tienes que eliminar solo el bloque <intent-filter>...</intent-filter> de tu MainActivity (deja la activity en sí) y luego pega el Snippet 3 como un nuevo bloque <activity> dentro de <application>:
<activity android:name=".MainActivity" android:exported="true">
<intent-filter> ← ELIMINA este bloque
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- DESPUÉS: tu MainActivity sin launcher -->
<activity android:name=".MainActivity" />
<!-- MÁS ABAJO: pega el Snippet 3 -->
Sincroniza Gradle y ejecuta la app
File → Sync Project with Gradle Files, espera a que termine y pulsa el botón ▶ Run. La primera pantalla que verás será la de activación del SDK. Desde el panel de Licencias puedes generar una clave y probarla.
Archivos que incluye el SDK (vía JitPack)
NinjaMagic.kt
Singleton de configuración. Punto de entrada del SDK via init()
NinjaHandshake.kt
Firma HMAC-SHA256 + validación de licencia + reconexión automática
NinjaSplashActivity.kt
Decide si ir a tu MainActivity o a la pantalla de activación
NinjaActivationActivity.kt
Pantalla de activación con email + clave. Colores configurables.
AndroidManifest.xml del SDK (se fusiona automáticamente)
Declara NinjaSplashActivity y NinjaActivationActivity. El permiso INTERNET también se fusiona solo.
Clientes
| Licencias | Dispositivos | Último acceso | Estado | |
|---|---|---|---|---|
| Cargando... | ||||
Aplicaciones (APKs)
| Nombre del Archivo | Tamaño | Fecha Subida | Acciones |
|---|---|---|---|
| Cargando... | |||
Total Activaciones
—
Dispositivos Únicos
—
Apps Integradas
—
Total Facturado
—
Ingresos este Mes
—
Precio Promedio
—
Apps por activaciones
| App | Activaciones | Dispositivos |
|---|---|---|
| Cargando... | ||
🗄️ Visor de Base de Datos
Cargando...
API Keys
Inclúyelas como cabecera X-API-Key para acceder sin login.
Sin API keys generadas.
Webhooks
Recibe notificaciones POST cuando ocurran eventos.
Sin webhooks configurados.
Seguridad del Sistema
Protocolo
Zero-Trust HMAC-SHA256
Anti-Replay
Ventana ±5 segundos
Binding de Dispositivo
HWID (Android Secure ID)
Sesión JWT
1h dispositivo / 8h admin
⚠️ Zona de Pruebas
Elimina todas las licencias, dispositivos, logs y clientes para empezar desde cero.
Esta acción es irreversible.
Confirmación