SDK integrado - para transporte intermodal de juegos móviles - diseño y pensamiento generales
Acceder a un SDK no requiere mucho contenido técnico, pero acceder a 100 SDK no es tan fácil. Es fácil de mantener, tiene una estructura clara y es seguro y confiable de una vez por todas. Es por eso que hay tantas introducciones a herramientas de empaquetado y métodos de acceso a SDK en el mundo... y todas son diferentes.
En esta serie de artículos, echamos un vistazo al proceso de desarrollo del marco SDK agregado U8SDK desde cero, desde lo simple hasta lo completo. Aquí primero presentamos la idea general del marco inicial y las mejoras realizadas por U8SDK en el uso real.
Antes de comenzar a desarrollar U8SDK, es posible que tengamos una simple lluvia de ideas:
1. Primero, el cliente necesita acceder a múltiples SDK de canales de transmisión. Para que el SDK al que accedemos sea reutilizado por varios juegos, no podemos acceder directamente a cada SDK del juego, sino que debemos desacoplar completamente el acceso al juego y al SDK.
2. Para separar el acceso al SDK del juego, necesitamos abstraer un marco de acceso al SDK, proteger las diferencias entre los SDK en varios canales y proporcionar llamadas API unificadas para la capa del juego de esta manera; , el juego solo necesita acceder a este marco, no necesita preocuparse por el SDK de cada canal intermodal específico.
3. Luego necesitamos implementar una herramienta de empaquetado con un solo clic. Una vez que la capa del juego está conectada a la API unificada abstracta anterior, se puede generar un apk de paquete principal para Android y un proyecto principal (proyecto xcode) para iOS. Luego, a través de la herramienta de empaquetado con un solo clic, puede imprimir paquetes de canales para varios canales de transporte intermodal.
4. Además de la parte del cliente, todo el SDK de agregación también requiere una parte del servidor. La lógica de la parte del servidor se divide en dos partes: servicios comerciales centrales y sistema de administración de back-end; los servicios comerciales principales manejan principalmente la autenticación de inicio de sesión y la lógica de devolución de llamada de pago de varios canales. , consulta de datos del usuario y pedidos Consulta de datos, análisis estadístico y otras funciones.
En vista de los puntos anteriores, nuestro marco de SDK de agregación debe incluir las siguientes partes:
Los estudiantes que se han hecho cargo del SDK del canal deben saber que los dos puntos funcionales más importantes del El SDK del canal intermodal son: Inicia sesión y paga. En el diseño del marco del SDK de agregación, estos dos procesos son, naturalmente, los más importantes. A continuación, diseñaremos el proceso de inicio de sesión y el proceso de pago de todo el SDK de agregación.
Primero echemos un vistazo al proceso de inicio de sesión. Si no utiliza el marco del SDK de agregación para acceder directamente al SDK, ¿cuál es el proceso de inicio de sesión para el SDK intermodal del canal? Podemos echar un vistazo al diagrama de flujo de inicio de sesión del SDK de UC aquí:
Después de usar el SDK de agregación, el juego y el SDK del canal deben estar completamente desacoplados, por lo que debemos cambiar la interacción directa entre el juego; servidor y el servidor SDK de canal en Interacción entre el servidor de agregación y el servidor SDK de canal. Echemos un vistazo al diseño del proceso de inicio de sesión unificado en U8SDK:
Echemos un vistazo al diagrama de secuencia de todo el proceso de inicio de sesión, para que podamos ver la secuencia de este proceso de manera más intuitiva:
A través de la nueva comparación simple entre el proceso de inicio de sesión y el proceso de inicio de sesión anterior, podemos ver que en el proceso de autenticación de inicio de sesión anterior, para cada juego, el servidor del juego necesita interactuar con el servidor SDK de cada canal, pero después de usarlo; Para el SDK agregado, el servidor del juego solo necesita interactuar con el servidor U8, y el servidor U8 completará el inicio de sesión y la autenticación de inicio de sesión del SDK de terceros.
A continuación, echemos un vistazo al proceso de pago.
Si no utiliza este marco, puede acceder directamente al SDK del canal intermodal en el juego. Usamos el SDK de UC como ejemplo para ilustrar el proceso de pago:
De manera similar, después de usar el SDK de agregación, el juego. y el SDK del canal también debe estar completamente desacoplado. Por lo tanto, debemos cambiar la interacción directa entre el servidor del juego y el servidor del SDK del canal a la interacción entre el servidor de agregación y el servidor del SDK del canal. Echemos un vistazo al diseño del proceso de pago unificado en U8SDK:
Al comparar los dos diagramas de flujo de pago, podemos encontrar claramente que: en el nuevo proceso, el servidor de juegos y el servidor SDK del canal están completamente desacoplados a través del servidor de agregación; los cambios en las funciones del SDK de cada canal no afectarán al servidor del juego. Publiquemos otro diagrama de secuencia para ver todo el proceso de manera más intuitiva:
A través del análisis anterior, tenemos una comprensión aproximada de las funciones y procesos relacionados que deben implementarse en el marco del SDK de agregación. Luego, implementaremos cada parte en detalle: incluido el marco de acceso al SDK de la capa de abstracción, la herramienta de empaquetado con un solo clic, el servidor de agregación, el acceso al SDK del canal, etc.
Grabamos un vídeo tutorial sobre Bilibili. Si estás interesado en U8SDK, puedes echarle un vistazo: Vídeo tutorial de U8SDK.
Al mismo tiempo, si también está interesado en el desarrollo del SDK de agregación de juegos móviles, puede seguir el blog de tecnología U8SDK: www.uustory.com o unirse a nuestro intercambio de tecnología QQ del SDK de agregación. grupo: 207609068 (más de 1600 personal técnico relacionado con el SDK de juegos móviles).