Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente de la API de vídeo VIP

Código fuente de la API de vídeo VIP

Tomando como ejemplo escenarios de oficina, como notificaciones de incorporación de empleados, notificaciones de vacaciones y otras notificaciones comerciales, el sistema oa maneja una lógica comercial específica y luego llama a la API de envío de mensajes para llegar a los usuarios objetivo.

Ejemplo de efecto

Tomemos la oficina colaborativa como ejemplo. Los empleados reciben notificaciones de trabajo enviadas por el sistema y tienen nuevas tareas que procesar. ?

Los empleados pueden hacer clic en las notificaciones de trabajo para ver detalles específicos, y cada notificación tiene un apodo y avatar de remitente diferente. Este tipo de notificación es un nuevo tipo de sesión, todos agregados en la misma sesión.

Introducción a OpenIM

OpenIM: una solución general de mensajería instantánea de código abierto desde el SDK del servidor al cliente. Los desarrolladores pueden reemplazar fácilmente los servicios de mensajería instantánea en la nube de terceros, crear aplicaciones con capacidades sociales y de chat e integrar el SDK en sus propias aplicaciones para brindar capacidades de mensajería instantánea. El valor de la mensajería instantánea de código abierto radica en que "todo es controlable" y "yo tengo la última palabra sobre mi información", ya sea tecnología o seguridad de la información.

Como líder en mensajería instantánea de código abierto, OpenIM continúa agregando nuevas funciones, incluidas API de mensajería y chats grupales. Tanto el servidor como el SDK tienen la licencia Apache-2.0 y se pueden utilizar de forma gratuita. Los productos con UI requieren autorización comercial. Los clientes interesados ​​pueden contactarnos para una comunicación profunda.

Servicios exclusivos VIP de 5x8 horas, que incluyen:

(1) consultas técnicas individuales, llamadas telefónicas WeChat, etc.;

(2) asesoramiento sobre el uso del SDK

(3) Responder preguntas sobre la arquitectura y la implementación del servidor

(4) Priorizar nuevos requisitos para la gestión de la información

(5) correcciones de errores;

(6) Mantenimiento del sistema y respuesta a fallas;

Experiencia de red: /

Experiencia de Android: /#/

Breve descripción

El administrador envía mensajes de tipo notificación a través de la interfaz en segundo plano.

Solicitar URL

",?

" senderNickname ":? "Notificación del sistema 2"?

"Contenido": {

"Nombre de notificación":?

"NotificationFaceURL":?",?

"Tipo de notificación":?

"Texto" :? "Hola a todos, hoy es..."?

" externalUrl ":",

"mixType": 0,?

" pictureElem" : {

"Ruta de origen":? "",?

"Imagen original": {

" uuid ":?"",?

"Tipo":"",?

[Tamaño]:?0,?

"Ancho": 0, ?

" Altura":? 0,?

"URL":""

},?

"Imagen grande":{

" uuid": ? "",?

"Tipo": "",?

[Tamaño]:? 0,?

"Ancho": 0,?

"Alto":? 0,?

"URL":""

},?

"IMAGEN INSTANTÁNEA":{

" uuid": ? "",?

"Tipo": "",?

[Tamaño]:? 0,?

"Ancho": 0,?

"Alto":? 0,?

"URL":""

? }

},?

" soundElem": {

" uuid":? "",?

"ruta del sonido":"",?

" sourceUrl":? "",?

" tamaño de datos ":? 0,?

"Duración": 0

},?

"videoElem": {

"Ruta del vídeo": " ",?

" videoUUID ":? "",?

"videoUrl": "",?

"Tipo de vídeo": "",?

"Tamaño de vídeo": 0,?

"Duración": 0, ?

"Ruta de instantánea": "", ?

"snapshotUUID": "", ?

"Tamaño de instantánea":? 0,?

"snapshotUrl":"",?

"Ancho de instantánea":? 0, ?

"snapshotHeight": 0

}, ?

"fileElem": {

"FilePath": ? "",?

" uuid ":? "",?

" fuenteUrl ":? "",?

"Nombre de archivo": "",?

"Tamaño de archivo":? 0

},?

" ex ":? ""

},?

"Tipo de contenido":? 1400,?

"Tipo de sesión":? 4.?

" isOnlineOnly ":? Falso,?

" offlinePushInfo": {

[Título]:? "El administrador ha retirado su mensaje",?

《desc》:? "",?

" ex ":? "",?

" iOSPushSound ":? "por defecto",?

"iOSBadgeCount":? ¿Mal

? }

}¿Copiar? ¿A dónde ir? Portapapeles o copia

Parámetros de solicitud

Descripción requerida del tipo de nombre de parámetro

OperationIDstring es el ID de la operación, sigue siendo único. Para problemas de seguimiento de enlaces en segundo plano, se recomienda utilizar el número aleatorio de microsegundos de la hora actual.

SendIDstring es el ID del administrador, que es uno de los ID de administrador configurados en el archivo de configuración en segundo plano. El valor predeterminado es openIM123456.

RecvIDstring es el ID de usuario del destinatario.

SenderPlatformIDintNo. Plataforma del remitente, complete al simular el envío del usuario, 1- gt; 2- gt; Android, 3- gt; Windows, 4- gt; 5-> Web, 5-> MiniWeb, 7- gt; system

SenderFaceURLstring no tiene el avatar del remitente y el cliente lo utiliza para notificar la generación de la sesión.

SenderNicknamestring no tiene un apodo de remitente y el cliente lo utiliza para notificar la generación de la sesión.

Contentobject es el contenido específico del mensaje, que contiene un objeto json.

NotificationNamestring es el título de la notificación.

NotificationFaceURLstring es el avatar de notificación.

NotificationTypeint es el tipo de notificación. Por ejemplo, 1 representa el aviso de empleo y 2 representa el aviso de renuncia.

Textstring es el texto de la notificación.

ExternalUrlstring no notifica el enlace de dirección al que saltar después de hacer clic (si no está completo, no es necesario saltar).

MixTypeint es la notificación de tipo mixto 0: notificación de texto sin formato 1: notificación de imagen de texto 2: notificación de video de texto 3: notificación de archivo de texto.

Sin objeto de elemento de imagen

El objeto SourcePicture no tiene imagen original

El objeto de imagen grande no tiene imagen grande

El objeto de imagen instantánea no tiene miniatura

p>

Objeto de elemento de sonido SoundElemobject

VideoElemobject no tiene objeto de elemento de vídeo

FileElemobject no tiene objeto de elemento de archivo

Uuidstring no tiene ningún ID único de objeto para el almacenamiento en caché.

Tipo/Tipo de vídeo/Cadena no tiene Tipo de imagen/Tipo de vídeo.

size/datasize/videosize/snapshot size/filesize int Ninguno Tamaño del archivo multimedia, en bytes.

Width/snapshotWidthint, el ancho de la miniatura de la imagen/vídeo.

La altura/altura de la instantánea no tiene altura de miniatura de imagen/vídeo

Url/sourceUrl/videoUrlstring no tiene URL de imagen/archivo/vídeo.

ruta de origen/ruta de sonido/ruta de vídeo/ruta de archivo la cadena no tiene ruta de archivo y no es necesaria.

La cadena de nombre de archivo no tiene nombre de archivo

Exstring no tiene campos extendidos

ContentTypeint es un tipo de mensaje fijado en 1400.

SessionTypeint es un tipo de sesión de notificación fijado en 4.

Cuando el campo isOnlineOnlybool no change se establece en verdadero, el servidor del mensaje enviado no lo almacenará y el receptor lo recibirá en línea. Si no está en línea, el mensaje se perderá.

OfflinePushInfoobjectNo. Para el contenido específico del envío sin conexión, si no se completa, se utilizará el título de envío predeterminado del servidor.

La cadena de título no tiene título push

La cadena de descripción no tiene push

Exstring no tiene campos extendidos

IOSPushSoundstring no tiene IOS sonido push

p>

IOSBadgeCountbool No, ¿los mensajes push de IOS se incluyen en el ícono del escritorio y no se leen?

Ejemplo de retorno

{

"Código de error": 0,?

" errMsg":? "",?

"data": {

" serverMsgID ":? "",?

" clientMsgID ":? "",?

"Hora de envío": 1645697804432

}

}¿Copiar? ¿A dónde ir? Portapapeles o copia

Parámetros devueltos

Descripción del tipo de nombre de parámetro

Código de error int 0 Éxito, pero error distinto de cero.

Mensaje de error ErrMsgstring

La hora específica en la que se envió el mensaje sendTimeint, especialmente la marca de tiempo de milisegundos.

serverMsgIDstring El ID único del mensaje generado por el servidor.

clientMsgIDstring El ID único del mensaje generado por el cliente, utilizado como clave principal de forma predeterminada.

Descripción del formato del tipo de mensaje

Breve descripción

La descripción del tipo de mensaje admitida por el campo de envío de mensajes del administrador contentType y la descripción del campo específico del contenido del mensaje.

Tipo de contenido Tipo de mensaje Descripción

ContentType Tipo de valor Descripción

101 SMS

102 Mensaje con imagen

103 Mensaje de audio

104 Mensaje de vídeo

105 Mensaje de archivo

@Escriba mensaje en 106 chat grupal

107 Fusionar mensaje de tipo de reenvío

104 p>

108 Información de tarjeta de visita

109 Mensaje de tipo geolocalización

110 Mensaje personalizado

111 Mensaje de retiro

112 Leer recibo tipo mensaje

114 Tipo de referencia mensaje

Contenido específico del contenido

El contenido es un objeto json específico y diferentes tipos de mensajes son diferentes objetos json.

Mensaje de texto

{

...,

"Contenido": {

"Texto" :? "Ni Hao"

},

....

}¿Copia? ¿A dónde ir? Portapapeles o copia

Nombre del parámetro descripción del tipo requerido

El texto es la cadena de texto del contenido específico del mensaje.

Mensaje personalizado

{

...,

"Contenido": {

"Datos" :"",?

[Descripción]:? "",?

"Extensión":""

},

....

}¿Copiar? ¿A dónde ir? Portapapeles o copia

Descripción requerida del tipo de nombre de parámetro

La cadena Datajson es un mensaje definido por el usuario convertido a partir de un objeto json.

Descripcióncadena json No, la información de descripción extendida es una cadena convertida a partir de un objeto json y se puede omitir.

La cadena Extensionjson no tiene campo de extensión y no se utiliza por el momento.