Este artículo le informa sobre el envío de aplicaciones

Introducción relacionada con el empuje

Cuando el usuario no abre la aplicación, el servidor envía los últimos datos del mensaje del servidor al usuario, lo que se denomina push. El envío de mensajes se usa en muchos escenarios en el desarrollo móvil, como actividades de promoción de productos de aplicaciones típicas de comercio electrónico, envío de noticias de aplicaciones de información, etc. En el desarrollo real, a menudo desarrollamos la función de empuje de acuerdo con las necesidades del diseño del producto. Sin embargo, en el proceso de implementación, se enfrentarán muchos problemas, tales como: ¿cómo lograrlo? ¿Lo implementa usted mismo o elige un impulso de terceros? ¿Cómo elegir el empuje de terceros? ¿Cómo garantizar la seguridad de los datos del envío de mensajes? ¿Cómo garantizar la tasa de llegada de empuje? De hecho, estos puntos débiles se encuentran principalmente en los teléfonos con Android, y el enfoque de este artículo también está en el impulso de los teléfonos con Android.

parte 1: comparación entre la inserción de iOS y la inserción del sistema Android

La notificación del servicio de inserción de iOS se completa con su propio servidor de inserción dedicado APN (servicio de notificación de inserción de Apple). El proceso consiste en que los APN reciben el mensaje enviado por nuestro propio servidor de aplicaciones y lo envían al dispositivo iOS designado, y luego lo notifica el dispositivo iOS a la aplicación y, a continuación, se le solicitará o mostrará. La premisa de iOS Remote Push es que el dispositivo iOS con nuestra aplicación debe estar registrado en el servidor APN. Cuando necesitamos enviar un mensaje, nuestro servidor de aplicaciones empaqueta el mensaje de acuerdo con el formato especificado y luego lo envía al servidor APN junto con el token del dispositivo iOS. Nuestra aplicación mantendrá una conexión a largo plazo basada en TCP con el servidor de APN, y el servidor de APN enviará nuevos mensajes al dispositivo iOS y luego mostrará los mensajes enviados en la pantalla del dispositivo. (Nota: todas las inserciones de terceros deben pasar por los APN del servidor de Apple).

Y cada aplicación de Android que necesita ser empujada en segundo plano debe tener un proceso en segundo plano separado para comunicarse e intercambiar datos con sus respectivos servidores. De hecho, Android también dispone de un servicio similar al GCM (Google Cloud Message) de APNS, si el push de la aplicación de Android adopta este modo, será igual que el push de iOS. Los programas relacionados con GCM deben integrarse en los llamados Gapps. Sin embargo, debido al hecho de que el GCM de los teléfonos Android domésticos básicamente no está disponible y la grave fragmentación de los dispositivos Android, conduce a los problemas anteriores que deben tenerse en cuenta al hacer Android push.

parte 2: La esencia y el principio del empuje

La esencia del envío de mensajes es: la aplicación envía la información actualizada del servidor al usuario, es decir, la aplicación obtiene la información del servidor y luego se la envía al usuario. Hay dos formas básicas (principios) para que la aplicación obtener las últimas noticias del servidor: Push and Pull

  • Método de adquisición activa (Pull): El cliente obtiene información del servidor de forma activa a intervalos regulares para ver si hay información actualizada, si hay información actualizada se envía al cliente
  • Modo de aceptación pasiva (Push): Cuando el servidor tiene información actualizada, se envía activamente al cliente

Contraste: El método Push es superior al método Pull. Porque el cliente necesita monitorear continuamente los cambios del servidor cuando usa el método Pull, que consume más recursos del cliente (recursos de CPU, tráfico de red, energía del sistema)

parte 3: varias soluciones para implementar el envío de mensajes en Android

Después de comprender el principio de inserción, hablemos de varias soluciones para implementar la inserción de mensajes en Android:

Solución 1. Utilice el servicio GCM (Google Cloud Messaging)

Introducción: El servicio de mensajería en la nube lanzado por Google es la segunda generación de G2DM.

Ventajas: Los servicios que brinda Google son nativos y sencillos, sin necesidad de implementar y desplegar el servidor.

Desventajas: el servicio no es lo suficientemente estable en China y requiere que los usuarios vinculen una cuenta de Google, que está limitada por Google.

Escenario 2. Sondeo

Introducción: basada en el método Pull, la aplicación se conecta activamente al servidor a intervalos regulares y consulta si hay mensajes nuevos.

Desventajas: alto costo, debe realizar la comunicación con el servidor usted mismo, como la cola de mensajes, etc.; la tasa de llegada es incierta, considere la frecuencia de sondeo: demasiado baja puede causar demoras en los mensajes; demasiado alta, más recursos en el cliente (recursos de la CPU, tráfico de red, potencia del sistema) y recursos del servidor (ancho de banda de la red)

Escenario 3.SMS (envío de mensajes cortos)

Introducción: al interceptar mensajes SMS y analizar el contenido del mensaje para comprender la intención del servidor y obtener su contenido de visualización para su procesamiento.

Ventajas: Es posible la operación completa en tiempo real.

Desventajas: costo relativamente alto. Porque en la actualidad, es difícil encontrar una pasarela de envío de mensajes cortos gratuita para realizar esta solución, solo pagando la tarifa de mensajes cortos correspondiente al operador.

Solución 4. Utilice el protocolo MQTT (para obtener más información, consulte:  http://mqtt.org/ )

Introducción: un protocolo ligero de transferencia de mensajes en modo "publicar/suscribir" basado en agentes.

Ventajas: El protocolo es conciso, compacto, altamente escalable, ahorra tráfico y energía. Se ha aplicado al campo empresarial (referencia:  http://mqtt.org/software ), y hay una versión C++ de el componente de servidor rsmb.

Desventajas: implementación inmadura y compleja, no es un componente de servidor de código abierto rsmb, alto costo de implementación de hardware.

Solución 5, utilizando el protocolo XMPP (Openfire + Spark + Smack)

Introducción: el protocolo de comunicación basado en el protocolo XML, anteriormente conocido como Jabber, ha sido estandarizado por la Organización Internacional de Normalización IETF.

Ventajas: el protocolo es maduro, potente y altamente escalable. Actualmente se usa principalmente en muchos sistemas de chat y existe una versión Java de código abierto del ejemplo de desarrollo androidpn.

Desventajas: el protocolo es complejo, redundante (basado en XML), se consume tráfico y electricidad, y el costo de implementación del hardware es alto.

Escenario 6. Usar una plataforma de terceros

Introducción: use una plataforma de envío de mensajes de terceros. Las principales plataformas push de hoy en día se dividen en ------

Fabricantes de teléfonos móviles: como Xiaomi Push, Huawei Push...

Plataformas de terceros: Youmeng Push, Jiguang Push, Getui...

El empuje de la plataforma de los fabricantes de BAT: Alibaba Cloud Mobile Push, Tencent Cloud Mobile Push, Baidu Cloud Push.

Se describirá en detalle a continuación.

parte 4: Introducción detallada de la plataforma de inserción de mensajes de terceros

1. Clasificación de las principales plataformas push de terceros

Fabricantes de teléfonos móviles: Xiaomi Push, Huawei Push...

Plataformas de terceros: Youmeng Push, Jiguang Push, Getui...

El empuje de la plataforma de los fabricantes de BAT: Alibaba Cloud Mobile Push, Tencent Mobile Push, Baidu Cloud Push

2. Compara las características de otros métodos push

  • Puede reducir efectivamente los costos

La mayoría de los impulsos mencionados anteriormente son gratuitos, si los implementa usted mismo, consumirá demasiados recursos (costos de desarrollo y administración de antecedentes, costos de estadísticas)

  • Alta tasa de llegada de mensajes

Si varias aplicaciones en un teléfono móvil usan el mismo servicio de inserción, estas aplicaciones compartirán un canal de mensajes. Incluso si el servicio de inserción de su aplicación se cancela, siempre que el usuario abra otras aplicaciones que integren el servicio de inserción, su inserción en el hogar puede llegar a los usuarios. .

  • baja seguridad

Al usar los servidores de otras personas, todavía existe el riesgo de fuga de datos. (Sin embargo, algunos servicios push admiten servidores privados y requieren ¥)

  • el servicio será asesinado

Debido al mecanismo del sistema Android, varios comportamientos activos o pasivos eliminarán el servicio de inserción en segundo plano y, una vez que el servicio se elimine, significa que no se puede recibir el mensaje de inserción. (Algunos servicios de inserción admiten canales de proveedores integrados, por lo que los canales de proveedores integrados pueden mejorar la tasa de llegada de inserción (fuera de línea), pero también requiere ¥)

parte 5: ¿Cómo elegir el servicio push de una plataforma de terceros?

Conociendo las características del empuje de terceros, ¿cómo debemos elegir? Es necesario aclarar tres principios que requieren atención.

1. Impulsado por los fabricantes de teléfonos móviles

Recuerde una regla tácita: el sistema operativo no eliminará el servicio push de su propia marca.

El servicio de inserción del fabricante del teléfono móvil es un servicio de nivel de sistema en su propio teléfono móvil, lo que significa que el sistema no eliminará su propio servicio de inserción. Por ejemplo, el sistema nativo de Android no eliminará el servicio de inserción de mensajes C2DM, y el sistema MIUI no eliminará el servicio de inserción de Xiaomi.

3f795f828890406a8df0693272b59da8.png

 

(Captura de pantalla del sitio web oficial de Xiaomi Push - aplicación integrada)

Desde el sitio web oficial de Xiaomi Push, podemos ver que la mayoría de las principales aplicaciones del mercado tienen Xiaomi Push integrado.

2. Plataformas de terceros

Recuerde una regla: el sistema push compartirá un canal push.

Esto significa que suponiendo que se haya conectado a Youmeng Push, y sucede que Toutiao también está conectado a Youmeng. Un día, su aplicación se cancela, pero en este momento el usuario inicia Toutiao, luego el sistema de inserción enviará sus mensajes de inserción al teléfono móvil a través del canal de inserción compartido (se mejora la tasa de llegada de inserción), y luego es posible Despertar su proceso también (fue "mantenido vivo"). Por lo tanto, con respecto a cómo elegir una plataforma de terceros para el envío, el efecto de escala de la plataforma de envío es muy importante.

Entonces, ¿cómo saber su tamaño y cuota de mercado? Fíjate principalmente en dos puntos:

  • Pregúntale a tus amigos adentro.

  • Vea qué grandes aplicaciones se encuentran entre los clientes cooperativos de la plataforma push: consulte los casos de cooperación en el sitio web oficial correspondiente.06cd9864c2304389af0f60e74b0537bb.png

 

(Captura de pantalla del sitio web oficial de Getui - aplicación integrada)

3. Impulso de los principales fabricantes de BAT

En una palabra: el impulso de los grandes fabricantes de BAT en realidad no tiene ninguna ventaja.

Algunas personas pueden pensar que al usar Tencent Mobile Push, pueden aprovechar WeChat y asegurarse de que su aplicación nunca se elimine, eso es una ilusión. En cuanto al empuje móvil de Aliyun, no puedo ver cuántas aplicaciones principales en el mercado lo usan, pero puedo ver que Taobao usa otro empuje de terceros (como Youmeng Push, Xiaomi Push) en otras plataformas.

Además de los tres principios anteriores, también debemos considerar los siguientes factores al elegir una plataforma de empuje:

Atributo del grupo de usuarios (equipo): qué tipo de grupo de usuarios y qué tipo de equipo se utilizan principalmente. Entonces puede considerar los fabricantes de teléfonos móviles.

Tasa de alcance: por ejemplo, ya sea para integrar Xiaomi y Huawei push, o si integrar los canales del fabricante al elegir una plataforma de terceros, la escala de la plataforma de terceros...

Coste de realización: coste laboral, coste de tiempo, coste de capital...

Por lo tanto, debemos elegir una plataforma de envío de mensajes de acuerdo con nuestra propia situación.

parte 6: selección de la categoría de mensajes push

1. Tipos de mensajes push

En general, las plataformas push de terceros admiten dos tipos de mensajes push: mensajes de barra de notificación y mensajes de transmisión transparente.

Mensaje de la barra de notificaciones: después de que este tipo de mensaje se envíe al dispositivo del usuario, se mostrará directamente al usuario en forma de barra de notificaciones del sistema y no se transmitirá a la aplicación.

Transmisión transparente de mensajes: después de que este tipo de mensaje se entregue al dispositivo del usuario, continuará transmitiéndose a la aplicación y el mensaje se transmitirá al interior de la aplicación al devolver la llamada a un BroadcastReceiver de la aplicación. Luego, depende de la aplicación decidir cómo procesar y mostrar este mensaje.

Por lo tanto, es posible que el mensaje de transmisión transparente no se envíe necesariamente en forma de barra de notificación del sistema, que el programador personaliza.

2. Diferencias y características de las categorías de mensajes

La diferencia entre los dos es que el mensaje de transmisión transparente tiene un paso más que el mensaje de la barra de notificación en todo el proceso de transmisión del mensaje: pasar a la aplicación.

Ventajas de los mensajes de la barra de notificaciones: alta tasa de entrega

Debido a que el mensaje de transmisión transparente es un paso más que el mensaje de la barra de notificación en todo el proceso de transmisión del mensaje, pasando a la aplicación, el mensaje de transmisión transparente aumenta la probabilidad de ser restringido por el sistema y la probabilidad de ser eliminado por el sistema. es mayor, por lo que la barra de notificaciones Mensajes debería proporcionar una mejor capacidad de entrega que los mensajes de paso.

Ventajas de la transmisión transparente de mensajes:

  • Alto grado de operación de mensajes y alto grado de personalización.
  • Proporciona capacidades de manipulación más flexibles en los datos del mensaje.
  • Si la aplicación solo pasa el mensaje de la barra de notificaciones, no puede acceder a los datos del mensaje en sí.
  • El estilo del recordatorio de notificación se puede personalizar (incluido el estilo de aviso, la forma de aviso, como el sonido, etc.)

Resumir

Lo anterior no solo brinda una introducción completa y detallada a los esquemas de implementación de push y push y el push de terceros, sino que también explica los factores que deben tenerse en cuenta y los asuntos a los que se debe prestar atención al elegir un push de terceros. Aunque no hay una introducción separada a la seguridad y cómo mejorar la tasa de llegada de mensajes, algunas menciones están intercaladas en otro contenido. Espero que puedas ganar algo después de leerlo.

 

Supongo que te gusta

Origin blog.csdn.net/qq_36162336/article/details/126172983
Recomendado
Clasificación