La mejor manera de crear un cliente de chat Android XMPP en Unity3D
Estoy tratando de crear un cliente de chat iOS y Android XMPP usando Unity / C # / Mono. Tengo un cliente de chat completamente funcional que trabaja para iOS usando Jabber.net, pero no funciona para Android. ¿Así que alguien tiene alguna idea de una biblioteca que funciona con Unity / C # para Android?
Esta publicación analiza las soluciones de Android y XMPP, pero no ha encontrado ninguna forma de conectar esto a Unity: Android y XMPP: Soluciones disponibles actualmente
- Transferencia de archivos android con smack
- Conexión XMPP con Smack 4.1 en Android Studio
- ¿Cómo enviar un mensaje XMPP cuando el remitente está fuera de línea?
- Cómo habilitar el XEP-0199 en Smack?
- InstanceID y Regid GCM
Esta es mi pregunta relacionada con conseguir que Jabber.net funcione para Android con Unity: Jabber.net en Unity / Android error (No JNI_OnLoad encontrado en /system/lib/libc.so, omitiendo init)
- ¿Cómo autenticarse en Google Talk con el token de autenticación de AccountManager utilizando la API de Smack?
- GCM: cómo evitar el estrangulamiento
- ¿Cómo mantener una conexión XMPP estable en Android con (a) smack?
- Falló porque: de.measite.minidns.hla.ResolutionUnsuccessfulException: Solicitando xxxx. IN AAAA produjo una respuesta de error NX_DOMAIN
- Cómo saber Escribir Estado en XMPP openfire usando Smack
- Mensajes XMPP perdidos en Android mientras cambia la conectividad de datos (por ejemplo, activando Wifi de, GSM <-> Wifi)
- Cliente de chat para android
- No hay respuesta de cliente remoto: error durante la transferencia de archivos usando asmack
Como nadie ha contestado aquí, cómo lo solucioné:
- ASmack para Android en un nuevo proyecto de Android en eclipse
- Construir un contenedor personalizado para ASmack con los métodos públicos básicos para iniciar sesión, cerrar sesión, enviar mensajes et.c.
- Extraer como biblioteca de tarro.
- Importar tarro en Unity3D
- Utilice los métodos AndroidJNI de Unity3D para llamar a los métodos públicos del tarro
- Las devoluciones de llamada se establecen dentro del Java-wrapper y la llamada con "UnityPlayer.UnitySendMessage ()" (classes.jar del paquete de la aplicación Unity tiene que ser importado en el proyecto de Eclipse para compilar)
- ¡Éxito!
Un poco de trabajo es necesario y lleva algún tiempo para depurar y construir, pero funciona.
En lugar de toda esta manipulación con ASmack, recomiendo usar MatriX XMPP SDK . Estamos utilizando esta biblioteca para nuestros proyectos de Unity.
Y funciona en Win, Mac, iOS, Android sin ninguna manipulación especial. Sólo tenemos un problema con esta lib – no se puede hacer que funcione en WebPlayer
- Manera correcta de manejar un cambio de orientación en Android
- Cómo configurar Live Wallpaper automáticamente todos los días en android