A message pushing method, electronic device and system
By sending push SMS messages when the application fails to launch, the message delay problem caused by the killing or control of the push service process on the terminal device is solved, thus enabling timely message reception of the application and improving the user experience.
Patent Information
- Application Number
- CN202311104716.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2043-08-30
AI Technical Summary
Because the push service process on the terminal device may be killed or controlled, the application may not be able to receive messages in a timely manner, affecting the user experience.
By sending a push SMS to launch the application when the push message fails to launch the application, the terminal device is ensured to log in to the application server in a timely manner and receive the message.
This ensures that the application receives messages in a timely manner, avoids the high cost of push SMS, and improves the user experience.
Smart Images

Figure CN119544778B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of electronics, and in particular, to a message pushing method, electronic device and system. BACKGROUND
[0002] Currently, many application programs on a terminal device, especially instant messaging application programs, use the function of message pushing, which is generally implemented by a server (referred to as a message pushing server) providing a pushing service and a client (referred to as a pushing service application) of the terminal device providing the pushing service. For example, when a service application of the terminal device is not logged in an application server corresponding to the service application, the application server can request the message pushing server to send a pushing message to the terminal device; after the terminal device receives the pushing message, the pushing service application of the terminal device can start the service application in response to the pushing message; after the service application is started, the service application can log in the above-mentioned application server, and thus the service application can timely receive messages from the application server.
[0003] However, due to power consumption performance and other reasons, the above-mentioned process providing the pushing service can be controlled by the terminal device, resulting in that the application program on the terminal device cannot timely receive messages, affecting user experience. SUMMARY
[0004] The present application provides a message pushing method, electronic device and system, which can start a first application by pushing a short message when a pushing message fails to successfully start the first application, and can ensure that the first application timely receives messages.
[0005] In a first aspect, embodiments of the present application provide a message pushing method, which comprises: an application server receiving a first request from a first terminal, the first request being used to request sending a first message to a second terminal; the application server sending a first pushing request to a first pushing server when it is determined that the second terminal is not logged in the application server, the first pushing request being used to request sending a pushing message to the second terminal, the pushing message being used to instruct the second terminal to log in the application server; the application server sending a second pushing request to a second pushing server when it does not receive a first response message from the first pushing server within a preset time, the second pushing request being used to request sending a pushing short message to the second terminal, the pushing short message being used to instruct the second terminal to log in the application server; and the application server sending the first message to the second terminal after the second terminal logs in the application server.
[0006] In the embodiments of the present application, the application server can make the second terminal log in the application server through pushing a short message when the push message fails to make the second terminal log in the application server. The method can ensure that the second terminal logs in the application server in time through the push message and the push short message, so as to ensure that the second terminal can receive the message from the application server in time. In addition, the push message has a lower cost than the push short message, and sending the push message first can avoid the problem of high cost caused by directly pushing the short message.
[0007] With reference to the first aspect, in a possible implementation, the second push request carries a mobile phone number of the second terminal, and the mobile phone number of the second terminal is used by the second push server to determine an operator of a short message service; and the push short message is sent to the second terminal through a server of the determined operator.
[0008] With reference to the first aspect, in a possible implementation, the first push request and the push message include an application identifier of the first application; the second terminal includes the first application and a push service application, and the push service application is used to parse the push message to obtain the application identifier; and the application identifier is used to instruct starting the first application based on the push service application, and the first application logs in the application server after being started.
[0009] In the embodiments of the present application, the second terminal includes the push service application, and the second terminal can start the first application based on the push service application and the push message. Since the push message has a lower cost than the push short message, the problem of high cost caused by the short message can be avoided.
[0010] With reference to the first aspect, in a possible implementation, the second push request and the push short message include an application identifier.
[0011] The second terminal includes a short message application, and the short message application is used to parse the push short message to obtain the application identifier; and the application identifier is used to instruct starting the first application based on the short message application, and the first application logs in the application server after being started.
[0012] In the embodiments of the present application, the second terminal includes the short message application, and the second terminal can start the first application based on the short message application and the push short message. Since the short message application is a resident process in the second terminal, the first application can be ensured to be started in time and log in the application server.
[0013] With reference to the first aspect, in a possible implementation, the push message or the push short message includes a business identifier corresponding to a first message, and the business identifier is used to instruct the first application to log in the application server after being started; and before the first message is sent to the second terminal, the method further includes:
[0014] The application server receives a second request from the second terminal, and the second request includes the business identifier.
[0015] The application server obtains a message corresponding to the service identifier, and obtains a first message;
[0016] The service identifier is a call identifier when the first message is a call request; the service identifier is a text notification identifier when the first message is a text notification; and the service identifier is a system notification identifier when the first message is a system notification.
[0017] In the embodiments of the present application, the second terminal can request the application server for a message corresponding to the service identifier in the push message or the push message, such as a call request corresponding to a call identifier, a text notification corresponding to a text notification identifier, and a system notification corresponding to a system notification identifier.
[0018] With reference to the first aspect, in a possible implementation, the application server is a server corresponding to the first application; and the first response message includes indication information used to indicate that the first application has been started, and the indication information is sent by the second terminal to the first push server after the first application is started.
[0019] In the embodiments of the present application, the first response message is used to enable the application server to send the push message or not to send the push message in time, so that the first application can be successfully started while the problem of high cost caused by sending the message is avoided.
[0020] With reference to the first aspect, in a possible implementation, the first push server and the second push server are the same server.
[0021] In the second aspect, the embodiments of the present application provide a message pushing method, which includes: a second terminal receiving a push message from a first push server, the push message being used to start a first application; in response to the second terminal not starting the first application, receiving a push message from a second push server; the second terminal starting the first application based on the push message; the second terminal logging in an application server corresponding to the first application after the first application is started; the second terminal receiving a first message from the application server, the first message being sent by a first terminal to the application server; and the second terminal displaying the first message.
[0022] In the embodiments of the present application, after receiving the push message, the second terminal can not successfully start the first application due to the fact that the push service application is not online or other reasons. Then, the second terminal receives the push message from the push message, and the second terminal can start the first application based on the push message. Then, the second terminal can log in the application server corresponding to the first application to obtain the first message after the first application is started. In the method, the second terminal can log in the application server as soon as possible through the push message and the push message, so that the second terminal can receive the first message from the application server in time. In addition, the cost of the push message is lower than that of the push message, and sending the push message first can avoid the problem of high cost caused by directly sending the push message.
[0023] In a possible implementation, the application server corresponding to the first application sends a push message to the second terminal through the first push server, and then sends a push message to the second terminal through the second push server to start the first application when it is determined that the second terminal does not start the first application.
[0024] In combination with the second aspect, in a possible implementation, the push message is not displayed in the application interface of the message application.
[0025] In the embodiments of the present application, the push message can be a message invisible to the user, and the second terminal will not display the push message in the inbox of the message application. The method can avoid the problem that the push message causes the number of messages to be too large and affects the user experience.
[0026] In combination with the second aspect, in a possible implementation, the push message includes an application identifier of the first application; starting the first application based on the push message includes:
[0027] The second terminal parses the push message through the message application to obtain the application identifier;
[0028] The second terminal starts the first application based on the message application.
[0029] In the embodiments of the present application, the second terminal includes the message application, and the second terminal can start the first application based on the message application and the push message. Since the message application is a resident process in the second terminal, the first application can be ensured to be started in time and logged in the application server, so that the first message can be received in time.
[0030] In combination with the second aspect, in a possible implementation, the push message includes a service identifier; and the second terminal logs in the application server after the first application is started, including:
[0031] The message application of the second terminal sends the service identifier to the first application after obtaining the service identifier by parsing the push message;
[0032] The first application of the second terminal logs in the application server upon receiving the service identifier.
[0033] With reference to the second aspect, in a possible implementation, before the second terminal receives the first message from the application server, the method further includes:
[0034] The second terminal sends a first request to the application server, the first request including the service identifier, and the first request being used to request a message corresponding to the service identifier to be the first message.
[0035] The service identifier is a call identifier when the first message is a call request; the service identifier is a text notification identifier when the first message is a text notification; and the service identifier is a system notification identifier when the first message is a system notification.
[0036] With reference to the second aspect, in a possible implementation, the first message is a call request, and the call request includes a user identifier of the first user; and the second terminal displays the first message, including:
[0037] The second terminal displays a call interface corresponding to the first application, and the call interface includes the user identifier of the first user.
[0038] In the embodiment of the application, the second terminal can log in the application server as soon as possible through the push message and the push message, so that the second terminal can receive the call request from the application server in time, and the second terminal can display the call interface in time, thereby improving the user experience.
[0039] With reference to the second aspect, in a possible implementation, the second terminal displays the first message, including:
[0040] The second terminal determines a prompt window corresponding to the first message through the first application; and the prompt window is used to indicate that the message from the first terminal is received.
[0041] The second terminal displays the prompt window.
[0042] The second terminal displays an application interface of the first application in response to a user operation on the prompt window, and the application interface includes the first message.
[0043] In the embodiment of the application, the second terminal can display a display interface (such as the prompt window) corresponding to the first message, and the method can display different application interfaces based on different first messages, thereby improving the user experience.
[0044] In a third aspect, an embodiment of the application provides a message push method, and the method includes:
[0045] The push server sends a push message to the second terminal upon receiving a first push request from the application server, and the push message is used to instruct the second terminal to log in the application server.
[0046] The push server sends, through the operator server, a push message to the second terminal, the push message being used to instruct the second terminal to log in the application server, when receiving the second push request from the application server.
[0047] With reference to the third aspect, in a possible implementation, the second push request carries a mobile phone number of the second terminal, and before that, the method further includes:
[0048] The push server determines the operator server based on the mobile phone number of the second terminal;
[0049] The push server sends a third push request to the operator server, the third push request carrying the mobile phone number of the second terminal, and the third push request being used to request the second terminal to send a push short message.
[0050] With reference to the third aspect, in a possible implementation, the first push request and the push message include an application identifier of the first application; and the application server corresponds to the first application.
[0051] The second terminal includes the first application and a push service application, the push service application being used to parse the push message to obtain the application identifier; and the application identifier is used to instruct the push service application to start the first application, and the first application is used to log in the application server after being started.
[0052] With reference to the third aspect, in a possible implementation, the second push request and the push short message include the application identifier.
[0053] The second terminal further includes a short message application, the short message application being used to parse the push short message to obtain the application identifier; and the application identifier is used to instruct the short message application to start the first application, and the first application is used to log in the application server after being started.
[0054] With reference to the third aspect, in a possible implementation, the first push request, the push message, the second push request and the push short message include a business identifier corresponding to the first message, and the business identifier is used to instruct the first application to log in the application server after being started.
[0055] The fourth aspect provides a server. The server can include a memory and a processor. The memory can be used to store a computer program. The processor can be used to invoke the computer program, so that the server executes the first aspect or any possible implementation of the first aspect.
[0056] The fifth aspect provides an electronic device. The electronic device can include a memory and a processor. The memory can be used to store a computer program. The processor can be used to invoke the computer program, so that the electronic device executes the second aspect or any possible implementation of the second aspect.
[0057] In a sixth aspect, the present application provides a computer program product comprising instructions which, when the computer program product runs on the electronic device, enable the electronic device to perform the method according to the first aspect or any possible implementation manner of the first aspect.
[0058] In a seventh aspect, the present application provides a computer program product comprising instructions which, when the computer program product runs on the electronic device, enable the electronic device to perform the method according to the second aspect or any possible implementation manner of the second aspect.
[0059] In an eighth aspect, the present application provides a computer readable storage medium comprising instructions which, when the instructions run on the electronic device, enable the electronic device to perform the method according to the first aspect or any possible implementation manner of the first aspect.
[0060] In a ninth aspect, the present application provides a computer readable storage medium comprising instructions which, when the instructions run on the electronic device, enable the electronic device to perform the method according to the second aspect or any possible implementation manner of the second aspect.
[0061] In a tenth aspect, the present application provides a message pushing system, which comprises the server according to the fourth aspect and the electronic device according to the fifth aspect.
[0062] It can be understood that the server according to the fourth aspect, the electronic device according to the fifth aspect, the computer program product according to the sixth aspect and the seventh aspect, and the computer readable storage medium according to the eighth aspect and the ninth aspect are all used to execute the method according to the embodiments of the present application. Therefore, the beneficial effects achieved by the above can refer to the beneficial effects in the corresponding method, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0063] Figure 1 FIG. 1 is a schematic diagram of an architecture of a message pushing system according to an embodiment of the present application;
[0064] Figure 2 FIG. 2 is a schematic diagram of another architecture of a message pushing system according to an embodiment of the present application;
[0065] Figure 3A FIG. 3 is a schematic diagram of a hardware structure of an electronic device 100 according to an embodiment of the present application;
[0066] Figure 3B FIG. 4 is a schematic diagram of a software structure of an electronic device 100 according to an embodiment of the present application;
[0067] Figure 4 FIG. 5 is a schematic diagram of an application scenario of message pushing according to an embodiment of the present application;
[0068] Figure 5 is a schematic diagram of a message pushing method provided by an embodiment of the present application. DETAILED DESCRIPTION
[0069] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " represents the meaning of or, for example, A / B can represent A or B; the "and / or" in the text only describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which means that there are three cases of A alone, A and B together, and B alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0070] Hereinafter, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first" and "second" can explicitly or implicitly include one or more features. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" is two or more than two.
[0071] In the following embodiments of the present application, the term "user interface (UI)" is a medium interface for interaction and information exchange between an application or an operating system and a user, which realizes the conversion between the internal form of information and the form that the user can accept. The user interface is source code written in a specific computer language such as Java, extensible markup language (XML), etc. The interface source code is parsed, rendered, and finally presented as content that can be recognized by the user on the electronic device. The commonly used form of user interface is graphic user interface (GUI), which refers to a user interface related to computer operation displayed in a graphical manner. It can be a visual interface element such as text, icon, button, menu, tab, text box, dialog box, status bar, navigation bar, Widget, etc. displayed in the display screen of the electronic device.
[0072] At present, many service applications of terminal devices are realized through push service to receive messages in time. Among them, the service end (i.e. message pushing server) providing the push service can be the push service provided by the original equipment manufacturer (OEM) manufacturer, such as Huawei; the client side providing the push service can be simply referred to as the push service process or the push service application. In the embodiments of the present application, the terminal device can also be referred to as the end side or the user side, and the message pushing server can be referred to as the cloud side or the service end.
[0073] In an implementation, when the service application of the terminal device is offline, the application server corresponding to the service application can push a message to the push service application of the terminal device through the message push server, and then the push service application forwards the message to the service application. In the embodiments of the present application, the application server can also be referred to as a service server or a service cloud, and the service application can also be referred to as a service process.
[0074] The service application online means that the service application logs in the application server corresponding to the service application, that is, the device running the service application maintains a communication connection with the application server. If the account currently logged in the service application is a first account, the service application online can also be referred to as the first account online or the first account logged in the application server.
[0075] The service application offline (also referred to as offline) means that the service application does not log in the application server corresponding to the service application, that is, the device running the service application does not maintain a communication connection with the application server. The reasons for the service application offline can include that the service application has stopped running, the device running the service application is in a network disconnected state, the account is not logged in when the service application runs, and the like. If the account currently logged in the service application is a first account, the service application offline can also be referred to as the first account offline or the first account not logged in the application server.
[0076] In the embodiments of the present application, the service application online can also be referred to as the device running the service application online or the account logged in the service application online, and the service application offline can also be referred to as the device running the service application offline or the account logged in the service application offline.
[0077] In another implementation, when the service application of the terminal device is offline, the application server pushes a first message to the push service application on the terminal side through the message push server, and the first message is used to instruct the push service application to start the service application, so that the service application logs in the application server and communicates with the application server. In this method, the application server does not directly forward the communication content to the terminal device through the message push server, but only makes the offline service application log in the application server through the message push server, so that the application server communicates with the terminal device. This method can ensure the security of the communication content.
[0078] Figure 1 An example is shown to illustrate the process of message push. In the example, the first terminal and the second terminal both install a communication application, and the communication applications of the first terminal and the second terminal can communicate through the application server when the communication applications are online. Figure 1 The application server in the example is the application server corresponding to the communication application, and the message push server is the server corresponding to the push service application.
[0079] For example, the first terminal can initiate a communication request for the second terminal to the application server through the communication application; the application server sends a request for pushing the message to the message pushing server after receiving the communication request, if it is determined that the communication application of the second terminal is not online; the message pushing server sends the push message to the push service application of the second terminal; when the push service application is resident, the push service application can send the push message to the communication application of the second terminal in time.
[0080] In the method, if the push service application is resident on the second terminal, the power consumption and performance of the second terminal are affected; if the push service application is managed or killed, the push message cannot be sent in time, and the timely arrival rate of the push service cannot be guaranteed. In addition, since the second terminal and the message pushing server use a general network, the network quality cannot be guaranteed, and the push message may be delayed.
[0081] The embodiment of the application provides a message pushing method, which can first send a push message for a first application to a terminal device; if the push service application on the terminal device fails to successfully start the first application to enable the first application to receive the push message, a push SMS can be sent to the terminal device, since the SMS application is in a resident state, the timely arrival of the push message can be guaranteed, and the service delay of the service application can be avoided; since the push SMS is transmitted through an operator network, the cost is high, and if the push service application fails to successfully start the first application to enable the first application to receive the push message, the cost can be reduced.
[0082] In order to more clearly and specifically introduce the message pushing method provided by the embodiment of the application, the message pushing system provided by the embodiment of the application is introduced first.
[0083] Please refer to Figure 2 , Figure 2 is an architecture diagram of a message pushing system provided by the embodiment of the application. As shown in Figure 2 , the system comprises a first terminal 101, an application server 102, a message pushing server 103, a second terminal 104, an SMS center server 201 and an operator SMS server 202. Wherein:
[0084] The application server 102 can be a server corresponding to the first application, and is configured to provide an application service corresponding to the first application. For example, the application server 102 can be a developer server or an operator server of the first application.
[0085] The first application can be a communication application providing a network communication service. The application service provided by the first application can include text communication, voice over internet protocol (VoIP) call (such as VoIP video call or VoIP voice call).
[0086] The first terminal 101 and the second terminal 104 can be installed with the first application. When the first applications of the first terminal 101 and the second terminal 104 are online, the first terminal 101 and the second terminal 104 can communicate through the application server 102.
[0087] The message push server 103 is a server corresponding to a push service application, and is configured to provide a message push service. For example, when the application server 102 determines that the first application of the second terminal 104 is offline, the application server 102 can send a first push request of a push message to the message push server 103. The message push server 103 sends a first push message to the second terminal 104 in response to the request. If the push service application of the second terminal 104 is in a running state, the push service application can start the first application based on the first push message, so that the first application logs in the application server 102.
[0088] The operator SMS server 202 is a server corresponding to an SMS application, and is configured to provide an SMS service.
[0089] The SMS center server 201 is configured to provide an SMS push service. For example, when the application server 102 determines that the first application of the second terminal 104 is offline, the application server 102 can send a second push request of a push SMS to the SMS center server 201. The SMS center server 201 sends a second push message to the operator SMS server 202 in response to the request. The operator SMS server 202 sends a push SMS to the second terminal 104 in response to the second push message. The SMS application of the second terminal 104 can parse the push SMS, and then the second terminal can start the first application based on the parsing result, so that the first application logs in the application server 102.
[0090] In some embodiments of the present application, the message push server 103 and the SMS center server 201 can be the same server or a server cluster (referred to as a target push server) composed of multiple servers.
[0091] The first terminal 101 and the second terminal 104 can be electronic devices 100. The electronic devices 100 can be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, and the like. Exemplary embodiments of the electronic devices 100 include, but are not limited to, mobile phones with The electronic device 100 can be a portable electronic device running a Linux or other operating system. The electronic device 100 can also be other portable electronic devices, such as a laptop, etc. It should also be understood that in some other embodiments, the electronic device 100 can not be a portable electronic device, but can be a desktop computer, etc.
[0092] In the embodiments of the present application, the application server 102, the message push server 103, the short message center server 201 and the operator short message server 202 can be implemented by independent servers or a server cluster composed of multiple servers.
[0093] It should be understood that, Figure 2 The message push system architecture in the embodiments of the present application is only an exemplary implementation, and the message push system architecture in the embodiments of the present application includes but is not limited to the above architecture.
[0094] Figure 3A A hardware structure schematic diagram of the electronic device 100 is shown.
[0095] It should be noted that, Figure 2 The first terminal 101 and the second terminal 104 shown can adopt the hardware structure of the electronic device 100. Figure 3A The hardware structure of the electronic device 100.
[0096] The embodiments will be described below with the electronic device 100 as an example. It should be understood that the electronic device 100 can have more or less components than those shown in the figure, can combine two or more components, or can have a different component configuration. The various components shown in the figure can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.
[0097] The electronic device 100 can include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headset interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 can include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0098] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different arrangement of components. The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0099] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units can be independent devices, or can be integrated in one or more processors.
[0100] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to instruction operation codes and timing signals, and complete the control of fetching instructions and executing instructions.
[0101] The processor 110 can also include a memory that stores instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The cache memory can hold instructions or data that the processor 110 has recently used or is likely to use again. If the processor 110 needs to use the instructions or data again, it can be retrieved directly from the cache memory. This avoids repeated accesses to the main memory, reducing the latency of the processor 110 and thus improving the efficiency of the system.
[0102] In some embodiments, the processor 110 can include one or more interfaces. The interfaces can include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0103] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 can include multiple sets of I2C buses. The processor 110 can be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example, the processor 110 can be coupled to the touch sensor 180K through an I2C interface, so that the processor 110 and the touch sensor 180K communicate through the I2C bus interface, realizing the touch function of the electronic device 100.
[0104] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple sets of I2S buses. The processor 110 can be coupled to the audio module 170 through the I2S bus, realizing communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can deliver audio signals to the wireless communication module 160 through the I2S interface, realizing the function of answering the phone through the Bluetooth headset.
[0105] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 can be coupled with the wireless communication module 160 through a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 through the PCM interface, enabling the function of answering a phone call through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0106] The UART interface is a universal serial bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is usually used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface, enabling Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 through the UART interface, enabling the function of playing music through a Bluetooth headset.
[0107] The MIPI interface can be used to connect the processor 110 and peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes the camera serial interface (CSI), the display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate through the CSI interface, enabling the camera function of the electronic device 100. The processor 110 and the display screen 194 communicate through the DSI interface, enabling the display function of the electronic device 100.
[0108] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 and the camera 193, the display screen 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0109] The SIM interface can be used to communicate with the SIM card interface 195, enabling the function of transmitting data to the SIM card or reading data in the SIM card.
[0110] The USB interface 130 is an interface conforming to the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the electronic device 100, and can also be used to transmit data between the electronic device 100 and a peripheral device. It can also be used to connect a headset to play audio through the headset. The interface can also be used to connect other electronic devices, such as AR devices, etc.
[0111] It can be understood that the interface connection relationship between the modules shown in the embodiments of the present application is only illustrative and does not constitute a structural limitation of the electronic device 100. In some other embodiments of the present application, the electronic device 100 can also use different interface connection methods or a combination of multiple interface connection methods.
[0112] The charging management module 140 is configured to receive charging input from a charger. The charger can be a wireless charger or a wired charger.
[0113] The power management module 141 is configured to connect the battery 142 and the charging management module 140 to the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, and the wireless communication module 160, etc.
[0114] The wireless communication function of the electronic device 100 can be realized through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor, etc.
[0115] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example, the antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0116] The mobile communication module 150 can provide a solution for wireless communication including 2G / 3G / 4G / 5G, etc. applied to the electronic device 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transfer the same to the modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor, and radiate the same as electromagnetic waves through the antenna 1. In some embodiments, at least part of the functional modules of the mobile communication module 150 can be disposed in the processor 110. In some embodiments, at least part of the functional modules of the mobile communication module 150 can be disposed in the same device as at least part of the modules of the processor 110.
[0117] The modem processor can include a modulator and a demodulator. The modulator is configured to modulate a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. The low-frequency baseband signal processed by the baseband processor is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the microphone 170B, etc.), or displays an image or a video through the display screen 194. In some embodiments, the modem processor can be a separate device. In other embodiments, the modem processor can be independent of the processor 110, and disposed in the same device as the mobile communication module 150 or other functional modules.
[0118] The wireless communication module 160 can provide a solution for wireless communication including wireless local area networks (WLAN) (e.g., wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, etc. applied to the electronic device 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives an electromagnetic wave via the antenna 2, frequency-modulates and filters the electromagnetic wave signal, and transmits the processed signal to the processor 110. The wireless communication module 160 can also receive a signal to be transmitted from the processor 110, frequency-modulate it, amplify it, and radiate it as an electromagnetic wave via the antenna 2.
[0119] In some embodiments, the antenna 1 and the mobile communication module 150 of the electronic device 100 are coupled, and the antenna 2 and the wireless communication module 160 are coupled, so that the electronic device 100 can communicate with a network and other devices through wireless communication technology. The wireless communication technology can include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology, etc. The GNSS can include a global positioning system (GPS), a global navigation satellite system (GLONASS), a beidu navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and / or a satellite based augmentation systems (SBAS).
[0120] The electronic device 100 implements a display function through a GPU, a display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, which is connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 can include one or more GPUs, which execute program instructions to generate or change display information.
[0121] The display screen 194 is configured to display images, videos, and the like. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flex light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diodes (QLED), or the like. In some embodiments, the electronic device 100 can include one or N display screens 194, where N is a positive integer greater than 1.
[0122] The electronic device 100 can implement the photographing function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor.
[0123] The ISP is configured to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, the light is transmitted to the camera photosensitive element through the lens, the light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing to convert it into an image visible to the naked eye. The ISP can also optimize the noise, brightness, and the like of the image. The ISP can also optimize the exposure, color temperature, and the like of the shooting scene. In some embodiments, the ISP can be disposed in the camera 193.
[0124] The camera 193 is configured to capture still images or videos. An object generates an optical image through a lens and projects it onto a photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, the electronic device 100 can include one or N cameras 193, where N is a positive integer greater than 1.
[0125] The digital signal processor is used to process digital signals, in addition to being able to process digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
[0126] The video codec is used to compress or decompress digital video. The electronic device 100 can support one or more video codecs. In this way, the electronic device 100 can play or record videos in multiple encoding formats, such as: moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.
[0127] The NPU is a neural-network (NN) calculation processor, which can quickly process input information by drawing on the structure of a biological neural network, such as drawing on the transmission mode between human brain neurons, and can also constantly self-learn. Through the NPU, the electronic device 100 can realize intelligent cognition applications such as image recognition, face recognition, voice recognition, text understanding, etc.
[0128] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to realize data storage functions. For example, music, video, etc. Files are saved in the external memory card.
[0129] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various function applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 can include a program storage area and a data storage area. Among them, the program storage area can store an operating system, at least one application required by a function (such as a face recognition function, a fingerprint recognition function, a mobile payment function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as face information template data, fingerprint information template, etc.). In addition, the internal memory 121 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0130] The electronic device 100 can realize audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor, etc. For example, music playing, recording, etc.
[0131] The audio module 170 is configured to convert digital audio information into an analog audio signal output, and to convert an analog audio input into a digital audio signal. The audio module 170 can also be configured to encode and decode audio signals. In some embodiments, the audio module 170 can be disposed in the processor 110, or some of the functions of the audio module 170 can be disposed in the processor 110.
[0132] The speaker 170A, also referred to as a "loudspeaker", is configured to convert an audio electrical signal into a sound signal. The electronic device 100 can listen to music or listen to a hands-free call through the speaker 170A.
[0133] The receiver 170B, also referred to as a "earpiece", is configured to convert an audio electrical signal into a sound signal. When the electronic device 100 receives a call or a voice message, the user can listen to the voice by holding the receiver 170B close to the ear.
[0134] The microphone 170C, also referred to as a "microphone", "sound transducer", is configured to convert a sound signal into an electrical signal. When making a call or sending a voice message, the user can make a sound by holding the microphone 170C close to the mouth, and input the sound signal into the microphone 170C. The electronic device 100 can be provided with at least one microphone 170C. In other embodiments, the electronic device 100 can be provided with two microphones 170C, in addition to collecting sound signals, noise reduction functions can also be realized. In other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C, in addition to collecting sound signals, noise reduction, and can also identify the source of the sound, realize directional recording function, etc.
[0135] The earphone interface 170D is configured to connect a wired earphone. The earphone interface 170D can be a USB interface 130, or a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0136] The keys 190 include a power key, a volume key, etc. The keys 190 can be mechanical keys. They can also be touch keys. The electronic device 100 can receive key inputs, and generate key signal inputs related to user settings and function control of the electronic device 100.
[0137] The motor 191 can generate a vibration prompt. The motor 191 can be used for incoming call vibration prompt, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, playing audio, etc.) can correspond to different vibration feedback effects. The motor 191 can also correspond to different vibration feedback effects for touch operations acting on different regions of the display screen 194. Different application scenarios (such as time reminders, received messages, alarms, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.
[0138] The indicator 192 can be an indicator light, which can be used to indicate a charging state, a power change, and can also be used to indicate a message, a missed call, a notification, etc.
[0139] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or pulled out of the SIM card interface 195 to realize contact and separation with the electronic device 100. The electronic device 100 can support one or N SIM card interfaces, and N is a positive integer greater than 1. The SIM card interface 195 can support a Nano SIM card, a Micro SIM card, a SIM card, etc. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external storage cards. The electronic device 100 interacts with a network through a SIM card to realize functions such as calling and data communication.
[0140] In the embodiments of the present application, the electronic device 100 can execute the message pushing method by the processor 110, and display the message obtained by the message pushing method and the related interface by the display screen 194.
[0141] Figure 3B FIG. 1 is a software structure block diagram of the electronic device 100 provided in the embodiments of the present application.
[0142] The layered architecture divides the software into several layers, and each layer has a clear role and division of labor. Layers communicate with each other through software interfaces. In some embodiments, the system is divided into four layers, from top to bottom, which are an application program layer, an application program framework layer, a runtime and a system library, and a kernel layer.
[0143] The application program layer can include a series of application program packages.
[0144] As Figure 3BAs shown, the application package can include communication class applications, push service applications, short message applications, and can also include gallery, calendar, WLAN, music, video, and other applications (may also be referred to as applications). Among them, the communication class application can be a voice over internet protocol (VoIP) application such as "QChat" for implementing VoIP call; or can be a chat software for implementing network communication.
[0145] In some embodiments of the present application, the push service application described above can not be located in the application layer, but in the application framework layer.
[0146] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some pre-defined functions.
[0147] As shown, the application framework layer can include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like. Figure 3B
[0148] The window manager is used to manage window programs. The window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, and intercept the screen, etc.
[0149] The content provider is used to store and obtain data, and make the data accessible to the applications. The data can include videos, images, audios, dialed and received calls, browsing history and bookmarks, phonebook, and the like.
[0150] The view system includes visual controls, such as a control for displaying text, a control for displaying pictures, and the like. The view system can be used to build an application. A display interface can be composed of one or more views. For example, a display interface including a short message notification icon can include a view for displaying text and a view for displaying pictures.
[0151] The phone manager is used to provide the communication function of the electronic device 100. For example, the management of call state (including call connection, call hang-up, and the like).
[0152] The resource manager provides various resources for the applications, such as localized strings, icons, pictures, layout files, video files, and the like.
[0153] The notification manager enables an application to display notification information in a status bar, which can be used to convey a message of an informing type, which can automatically disappear after a short stay without user interaction. For example, the notification manager is used to inform of a download completion, a message reminder, etc. The notification manager can also be a notification appearing in the form of a figure or a scroll bar text in the top status bar of the system, such as a notification of an application running in the background, and can also be a notification appearing in the form of a dialogue interface on the screen. For example, a text information is prompted in the status bar, a prompt sound is emitted, the electronic device vibrates, an indicator light flashes, etc.
[0154] The runtime includes a core library and a virtual machine. The runtime is responsible for the scheduling and management of the system.
[0155] The core library includes two parts: one part is a function function required to be called by a programming language (for example, a java language), and the other part is a core library of the system.
[0156] The application layer and the application framework layer run in the virtual machine. The virtual machine executes the programming files (for example, java files) of the application layer and the application framework layer into binary files. The virtual machine is used to perform the management of the object life cycle, the management of the stack, the management of the thread, the management of the security and the exception, and the garbage collection, etc.
[0157] The system library can include multiple function modules. For example: a surface manager, media libraries, a three-dimensional graphics processing library (for example: OpenGL ES), a two-dimensional graphics engine (for example: SGL), etc.
[0158] The surface manager is used to manage a display subsystem, and provides a fusion of two-dimensional (2-Dimensional, 2D) and three-dimensional (3-Dimensional, 3D) layers for multiple applications.
[0159] The media library supports multiple commonly used audio, video format playback and recording, and static image files, etc. The media library can support multiple audio and video coding formats, for example: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0160] The three-dimensional graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing, etc.
[0161] The 2D graphics engine is a drawing engine for 2D drawing.
[0162] The kernel layer is a layer between hardware and software. The kernel layer at least includes a display driver, a camera driver, an audio driver, a sensor driver, and a virtual card driver.
[0163] The following describes the workflow of the software and hardware of the electronic device 100 in connection with a capture photographing scenario.
[0164] When the touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, a timestamp of the touch operation, and the like). The raw input event is stored in the kernel layer. The application framework layer obtains the raw input event from the kernel layer, and identifies the control corresponding to the input event. Taking an example in which the touch operation is a touch single-click operation, and the control corresponding to the single-click operation is the control of the camera application icon, the camera application calls an interface of the application framework layer, starts the camera application, and then starts the camera driver by calling the kernel layer, to capture a still image or a video through the camera 193.
[0165] The following describes the message pushing method provided by the embodiments of the present application based on the schematic diagram of the message pushing system shown in Figure 2 the schematic diagram of the hardware and software structure of the electronic device shown in Figure 3A and Figure 3B The following describes the message pushing method provided by the embodiments of the present application based on the schematic diagram of the message pushing system shown in
[0166] First, a possible application scenario of the embodiments of the present application is introduced.
[0167] Figure 4 An example of a call scenario provided by the embodiments of the present application is shown. The scenario can include a first terminal, an application server, a message pushing server, a second terminal, an SMS center server, and an operator SMS server. In the embodiments of the present application, the message pushing server can also be referred to as a first pushing server, and the SMS center server can also be referred to as a second pushing server.
[0168] The user of the first terminal is a first user, and the first user logs in a first application on the first terminal through a first mobile phone number or an application account of the first user. The user of the second terminal is a second user, and the second user logs in the first application on the second terminal through a second mobile phone number or an application account of the second user.
[0169] In the embodiments of this application, when the first user wants to call the second user through the first application, the first user can perform a user operation of calling the second mobile phone number on the first terminal. Correspondingly, the first terminal can generate a call request in response to the user operation. Then, the first terminal performs S11, that is, sends the call request to the application server corresponding to the first application. Then, when the first application of the second terminal is determined to be offline, the application server performs S12, that is, sends a request of pushing a message to the message pushing server corresponding to the push service application. The message pushing server performs S13 in response to the request, that is, sends the push message to the second terminal. If the push service application of the second terminal is in a running state, the push service application can perform S14, that is, parses the push message, and then starts the first application based on the parsing result. For example, the parsing result can include the application identifier of the first application, so that the second terminal performs S25, that is, the first application logs in the application server to obtain the call request.
[0170] Due to the above S13 and S14, the second terminal may not perform S25 within a preset time due to network delay or the push service application being killed, controlled, and the like by the second terminal. Then, the application server corresponding to the first application can perform S21, that is, sends a request of pushing a short message to the short message center server. The short message center server performs S22 in response to the request, that is, sends a request of pushing a short message to the operator short message server corresponding to the short message application. The operator short message server performs S23 in response to the request, that is, sends the push short message to the short message application of the second terminal. The short message application of the second terminal can perform S24, that is, parses the push short message, and starts the first application based on the parsing result. For example, the parsing result can include the application identifier of the first application, so that the second terminal performs S25, that is, the first application logs in the application server to obtain the call request.
[0171] The following describes in detail a message pushing method provided by the embodiments of this application. Figure 5 The method can include the following steps or all the steps:
[0172] S501: The first terminal runs the first application.
[0173] In some embodiments, the first user can click the application icon of the first application. Correspondingly, the first terminal runs the first application in response to the user operation.
[0174] The account (referred to as the first account) logged in by the first application on the first terminal can be bound to the first mobile phone number, or the first account is the first mobile phone number. For example, the first application is a smooth connection, and the first user can register an account by using the first mobile phone number when logging in to the smooth connection for the first time. The registered account is the first account. Then, the first mobile phone number is used to log in to the first application. The first account is the unique user identifier of the first user logging in to the first application, and the first account is bound to the first mobile phone number. Understandably, the first user can unbind the first account from the first mobile phone number when changing the mobile phone number, and bind the changed mobile phone number to the first account.
[0175] S502: The first terminal receives a user operation of calling the second user through the first application, and the second user corresponds to the second mobile phone number and the second account.
[0176] In some embodiments, the first terminal can display user information of the second user, such as a mobile phone number corresponding to the second user (i.e., the second mobile phone number described above) or an account corresponding to the second user (referred to as the second account, etc.) on the user interface of the first application. Then, the first terminal can receive a user operation of calling the second user through the first application. For example, the first terminal can display a user interface of the first application, such as a contact interface, which includes the second mobile phone number and a call control corresponding to the second mobile phone number. The user can touch or click the call control corresponding to the second mobile phone number, and accordingly, the first terminal receives a user operation of calling the second mobile phone number through the first application.
[0177] The second account can be a user identifier generated by the first application when the second user registers the first application through the second mobile phone number. The second account is the unique user identifier of the second user logging in to the first application. The second account is bound to the second mobile phone number.
[0178] Optionally, the first terminal can obtain the second account from the application server. For example, when the first terminal first receives a user operation of calling the second mobile phone number through the first application, the first terminal obtains the account corresponding to the second mobile phone number from the application server in response to the user operation, and obtains the second account. Then, the second account is stored. For another example, when the first terminal receives a user operation indicating that the first user stores the first mobile phone number, the first terminal obtains the account corresponding to the second mobile phone number from the application server in response to the user operation, and obtains the second account. Then, the second account is stored.
[0179] S503: The first terminal sends a call request to the application server, and the call request includes the first mobile phone number, the second account, and the second mobile phone number.
[0180] The call request is used to request to establish a communication connection with the second account or the second mobile phone number. In the embodiments of the present application, the call request can also be referred to as call signaling (inviteCommand).
[0181] In some embodiments, the application server receives a user operation of calling the second mobile phone number through the first application, and in response to the user operation, sends a call request to the application server, the call request including the second account, the first mobile phone number and the second mobile phone number.
[0182] It should be noted that the call request described above can include at least one of the second account or the second mobile phone number, and the second account and the second mobile phone number are associated. For example, when the call request described above only includes the second account, the application server can determine the second mobile phone number based on the second account; and for example, when the call request described above only includes the second mobile phone number, the application server can determine the second account based on the second mobile phone number.
[0183] S504: The application server obtains the device identifier corresponding to the second account in response to the call request.
[0184] In some embodiments, after receiving the call request, the application server can parse the call request to obtain the second account; and then, obtain the device identifier of the device bound to the second account to obtain the device identifier corresponding to the second account. For example, the application server can obtain the login information of the second account, obtain the device identifier of the device when the second account logs in for the first time or the last time, and obtain the device identifier corresponding to the second account.
[0185] Optionally, the device identifier can be a unique device identifier (UDID).
[0186] In some embodiments of the present application, the call request described above can not include the second account; then, the application server can determine the second account based on the second mobile phone number; and then, obtain the device identifier corresponding to the second account.
[0187] S505: The application server sends a first push request to the message push server when determining that the second account is offline, the first push request including a call identifier, an application identifier corresponding to the first application and a device identifier.
[0188] The first push request is used to request to send a push message to the device corresponding to the device identifier (i.e. the second terminal), and the call identifier is an identifier corresponding to a call notification, and the call notification can be a call request.
[0189] The call identifier is used to indicate that the type of the requested push message is a call notification, i.e., the first push request is used to request the message push server to notify the second terminal that there is a call from the application server.
[0190] It should be noted that the call identifier is one of service identifiers, and the service identifier is used to indicate the type of the requested push message. The service identifier can also be referred to as an identifier of a message type. The message type can include a call notification, a text notification, and a system notification. In the embodiments of the present application, for the convenience of description, the identifier corresponding to the call notification is referred to as the call identifier, the identifier corresponding to the text notification is referred to as a text notification identifier, and the identifier corresponding to the system notification is referred to as a system notification identifier.
[0191] Optionally, the service identifier can correspond to different processing rules of the terminal device for the push message. For example, the processing rule corresponding to the call identifier is that the push service application sends the call identifier to the application corresponding to the application identifier, and the application logs in the application server upon receiving the call identifier. For another example, the processing rule corresponding to the text notification identifier is that the push service application sends the text notification identifier to the application corresponding to the application identifier, and the application logs in the application server upon receiving the text notification identifier. For another example, the processing rule corresponding to the system notification identifier is that the push service application displays the message content in the push message carrying the system notification identifier. For example, the message content in the system notification push message can include an application activity message or a function update of the first application.
[0192] In some embodiments, after the application server obtains the device identifier corresponding to the second account in response to the call request, the application server can determine whether the second account is online. If the second account is online, the application server can directly send the call request to the second terminal. If the second account is offline (i.e., offline), the application server can send the first push request to the message push server, and the first push request includes the call identifier, the application identifier corresponding to the first application, and the device identifier.
[0193] The online account can mean that the terminal device bound to the account maintains a communication state with the application server, such as maintaining a long connection. The offline account can mean that the terminal device bound to the account does not maintain a communication state with the application server, such as a long connection in a disconnected state. In the embodiments of the present application, the second account offline can also be referred to as the second terminal not logging in the application server.
[0194] For example, the second terminal runs the first application, and after the first application logs in the application server through the second account, the second terminal can establish a long connection with the application server and send a heartbeat to the application server at a regular time (e.g., 5 minutes). The application server considers the second account online when it receives the heartbeat from the second terminal at a regular time. When the server detects that no heartbeat is received from the second terminal for a plurality of continuous heartbeat periods, the application server can determine that the second account is offline, and then disconnect the long connection with the second terminal.
[0195] S506: The message push server sends a first push message to the second terminal based on the device identifier, and the first push message includes the call identifier and the application identifier.
[0196] In some embodiments, after receiving the first push request, the message push server obtains the call identifier, the application identifier, and the device identifier from the first push request, and then sends a first push message to the terminal device corresponding to the device identifier (i.e., the second terminal), and the first push message includes the call identifier and the application identifier.
[0197] In one implementation, if the second terminal successfully receives the first push message and the push service application of the second terminal is online, the push service application can parse the first push message to obtain the call identifier and the application identifier, and then the push service application can pull up (or start) the application corresponding to the application identifier (i.e., the first application), and send the call identifier to the first application. When the first application receives the call identifier, it logs in the application server and establishes a communication connection with the application server. The response message can also be referred to as a reply message.
[0198] Optionally, the first push request in S505 and the first push message in S506 can not include the call identifier. When the second terminal receives the first push message including the application identifier, the second terminal can parse the first push message through the push service application to obtain the application identifier, and then the push service application starts the first application. After the first application runs, it automatically logs in the application server and establishes a communication connection with the application server.
[0199] S507: The second terminal sends a first response message to the message push server in response to the first push message after starting the first application, and the first response message is used to indicate that the first application has been started.
[0200] In some embodiments, if the push service application of the second terminal successfully pulls up the first application, the second terminal can send a first response message to the message push server, and the first response message includes the request identifier of the first push request and a request result indicating success.
[0201] In some embodiments of the present application, if the push service application of the second terminal fails to successfully pull up the first application, the second terminal can send a second response message to the message push server, the second response message comprising the request identification of the first push request and a request result indicating failure. Optionally, the second response message can further comprise a failure cause, for example, the application is uninstalled.
[0202] S508: The message push server can send a first response message to the application server.
[0203] In some embodiments, the message push server can send the first response message to the application server after receiving the first response message from the second terminal.
[0204] In some embodiments of the present application, if the push service application of the second terminal fails to successfully pull up the first application, the second terminal can send a second response message to the message push server, the second response message comprising the request identification of the first push request and a request result indicating failure. Optionally, the second response message can further comprise a failure cause, for example, the application is uninstalled. Further, the message push server can send a response message indicating call failure to the first terminal.
[0205] S509: The application server sends a second push request to the short message center server within a preset time after sending the first push request, the second push request comprising the second mobile phone number, the call identification and the application identification.
[0206] For example, the preset time is a time period t, and the message push server does not receive the first response message within the time period t after T time when the message push server sends the first push request. Then, the application server sends the second push request to the short message center server.
[0207] The second push request is used to request sending a push short message to the device corresponding to the second mobile phone number (i.e. the second terminal), and the call identification is used to indicate that the application corresponding to the application identification (i.e. the first application) in the second terminal logs in the application server.
[0208] S510: The short message center server sends a second push message to the operator short message server, the second push message comprising the second mobile phone number, the call identification and the application identification.
[0209] The second push message is used to request sending a push short message to the device corresponding to the second mobile phone number (i.e. the second terminal), and the call identification is used to indicate that the application corresponding to the application identification (i.e. the first application) in the second terminal logs in the application server.
[0210] In some embodiments, the short message center server can send the second push message to the operator short message server after receiving the second push request.
[0211] In an implementation, after receiving the second push request, the short message center server parses the second push request to obtain the second mobile phone number; based on the second mobile phone number, the short message center server determines an operator to which the second mobile phone number belongs from a plurality of operators providing short message services, thereby determining the operator short message server; and then, the short message center server sends a second push message to the operator short message server, where the second push message includes the second mobile phone number, the call identifier, and the application identifier. In the embodiment of the application, the short message center server establishes a communication connection with the plurality of operators providing short message services and a communication connection with the application servers corresponding to the plurality of applications, thereby providing the application servers with a service of pushing short messages, and the method can improve the efficiency of short message pushing.
[0212] S511: The operator short message server sends a push short message to the second terminal based on the second mobile phone number, where the push short message includes the application identifier and the call identifier.
[0213] In some embodiments, after receiving the second push message, the short message center server parses the second push message to obtain the second mobile phone number, the call identifier, and the application identifier; and then, the short message center server sends a push short message to a device corresponding to the second mobile phone number (the second terminal), where the push short message includes the application identifier and the call identifier.
[0214] The device corresponding to the second mobile phone number is a device with a subscriber identification module (SIM) corresponding to a user of the second mobile phone number.
[0215] S512: The second terminal runs an application corresponding to the application identifier, that is, the first application.
[0216] In some embodiments, when receiving the push short message from the operator short message server, the second terminal parses the push short message by using a short message application to obtain the application identifier and the call identifier; the short message application determines, based on the application identifier, that a processing rule of the push short message is to send the call identifier to the application corresponding to the application identifier (that is, the first application); and then, when receiving the call identifier, the first application logs in the application server.
[0217] S513: When parsing the call identifier, the second terminal sends a connection request, where the connection request is used to request to establish a communication connection.
[0218] In some embodiments, after running the first application, the first application requests to establish a connection with the application server corresponding to the first application based on the call identifier; and then, the second terminal sends a connection request to the application server, and correspondingly, the application server establishes a communication connection with the second terminal in response to the connection request.
[0219] For example, the second terminal can establish a long connection with the application server and can send heartbeats to the application server periodically (e.g., every 5 minutes).
[0220] In some other embodiments of this application, the push SMS does not include a call identifier; after the SMS application launches the application corresponding to the application identifier (i.e., starts the first application), the first application requests to establish a communication connection with the application server, that is, the first application automatically establishes a communication connection with the application server after it runs.
[0221] S514: The application server sends the above call request to the second terminal through the established communication connection.
[0222] In some embodiments, after the second terminal establishes a communication connection with the application server, the second terminal can send a request message to the application server based on the call identifier. The request message is used to request a call request corresponding to the call identifier. Then, in response to the request message, the application server can send a call request from the first terminal to the second terminal.
[0223] S515: The second terminal responds to the call request and displays a call interface, which includes the first mobile phone number.
[0224] In some embodiments, after receiving a call request from the application server, the second terminal may display a call interface indicating that the first user has requested to establish a communication connection. This call interface includes the first user's identifier, such as a first mobile phone number or username. Furthermore, the second terminal may, in response to a user's action indicating agreement to establish a communication connection, establish a call connection through the application server to enable communication with the first terminal; or, in response to a user's action indicating refusal to establish a communication connection, not establish a call connection with the first terminal.
[0225] In some other embodiments of this application, the push SMS message does not include a call identifier; then, when the second terminal receives a push SMS message from the operator's SMS server, it parses the push SMS message through the SMS application to obtain the application identifier; the SMS application launches the application corresponding to the application identifier (i.e., starts the first application).
[0226] The message push method provided in this application embodiment can also be applied to other scenarios, such as sending text notifications.
[0227] In applications that send text notifications, and Figure 5 The difference lies in the fact that the first terminal sends a text notification to the application server instead of a call request. This text notification may include the text content entered by the first user on the first terminal. Figure 5The first push request, the first push message, the second push message, the second push request and the push SMS in the first push request do not include the call identifier, but include a text notification identifier. Then, the second terminal establishes a communication connection with the application server based on the text notification identifier, and the application server sends the text notification to the second terminal through the established communication connection. The second terminal displays the text notification through the first application.
[0228] In one implementation, after receiving the text notification from the application server, the second terminal can display a prompt box on the current interface, the prompt box being used to prompt the first application to receive the text message from the second user. Then, the second terminal displays the application interface of the first application in response to a user operation acting on the prompt box, the application interface being a chat interface with the second user, the chat interface including an identifier (such as a name or a second mobile phone number) of the second user, a chat window, an input box and a sending control, wherein the chat window is used to display the chat record of the first user and the second user; the input box is used to input text; and the sending control is used to send the text information in the input box.
[0229] For example, the prompt box can include an application icon of the first application and a text "message received from the second mobile phone number". Then, the second terminal displays the chat interface when receiving a user operation (such as clicking or touching the prompt box) acting on the prompt box.
[0230] For another example, the prompt box can include "whether to display the message from the second mobile phone number" and a first control, the first control being used to display the text notification. Then, the second terminal can display the chat interface in response to a user operation acting on the first control.
[0231] In another implementation, after receiving the text notification from the application server, the second terminal can display a prompt box on the current interface, the prompt box being used to display the text notification.
[0232] Optionally, the prompt box can further include a second control, the second control being used to send a response message to the application server. For example, the text notification is a game invitation notification, and the prompt box can include a text "whether to receive the game invitation from the first user" and a second control, the second control being used to indicate to receive the invitation. The second terminal can send a response message to the application server in response to a user operation on the second control, the response message being used to indicate that the second user receives the game invitation from the first user.
[0233] The message push method provided by the embodiments of the present application can also be applied to the scene of sending a system notification.
[0234] In the embodiments of the present application, when the first user (such as an operating staff of the first application) wants to send a system notification corresponding to the first application to the second user, the first user can send the system notification content to the application server corresponding to the first application through the first terminal. Correspondingly, the first terminal can generate a system notification in response to the user operation, and send the system notification to the application server corresponding to the first application. Further, the application server can send a request for pushing a message to the message pushing server corresponding to the pushing service application when determining that the first application of the second terminal is offline. The message pushing server can send the pushing message to the second terminal in response to the request. If the pushing service application of the second terminal is in a running state, the pushing service application can parse the pushing message, and then start the first application based on the parsing result. For example, the parsing result can include the application identifier of the first application, so that the second terminal logs in the application server through the first application to obtain the call request.
[0235] Suppose the second terminal does not start the first application within a preset time. Then, the application server corresponding to the first application can send a request for pushing a short message to the short message center server. The short message center server sends a request for pushing a short message to the operator short message server corresponding to the short message application in response to the request. The operator short message server sends the pushing short message to the short message application of the second terminal in response to the request. The short message application of the second terminal can parse the pushing short message and start the first application based on the parsing result. For example, the parsing result can include the application identifier of the first application, so that the second terminal logs in the application server to obtain the system notification. The method performed by the first terminal, the application server, the message pushing server, the second terminal, the short message center server and the operator short message server can refer to the related content in the above Figure 5
[0236] In some other embodiments of the present application, the application server can also send the system notification to the message pushing server and the short message center server, so that the system notification is carried in the above pushing message and pushing short message. Then, the second terminal can parse the system notification from the pushing message or the pushing short message, and does not need to request the system notification from the application server.
[0237] The embodiments of the present application also provide an electronic device, which includes one or more processors and one or more memories. The one or more memories are coupled with the one or more processors, and are used to store computer program codes. The computer program codes include computer instructions. When the one or more processors execute the computer instructions, the electronic device performs the method described in the above embodiments.
[0238] The embodiment of the present application further provides a computer program product comprising instructions, which, when executed on an electronic device, cause the electronic device to perform the method described in the above embodiment.
[0239] The embodiment of the present application further provides a computer readable storage medium comprising instructions, which, when executed on an electronic device, cause the electronic device to perform the method described in the above embodiment.
[0240] It can be understood that the embodiments of the present application can be combined in any manner to achieve different technical effects.
[0241] In the above embodiment, all or part of the embodiment can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiment can be implemented in the form of a computer program product. The computer program product comprises one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media (such as DVD), or semiconductor media (such as solid state disk) and the like.
[0242] Those of ordinary skill in the art can understand that all or part of the processes in the above embodiment can be implemented by a computer program to instruct the relevant hardware, and the program can be stored in a computer readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The storage medium mentioned above includes ROM or random access memory RAM, magnetic disk or optical disk and various media that can store program codes.
[0243] In summary, the above only describes the embodiments of the technical scheme of the present application, and is not used to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present application shall be included in the protection scope of the present application.
Claims
1. A message pushing method, characterized by, The method comprises: The application server receives a first request from a first terminal, the first request being used for requesting to send a first message to a second terminal; The application server sends a first push request to a first push server when it is determined that the second terminal is not logged in the application server, the first push request being used for requesting to send a push message to the second terminal, the push message being used for instructing the second terminal to log in the application server; The application server sends a second push request to a second push server when it does not receive a first response message from the first push server within a preset time, the second push request being used for requesting to send a push short message to the second terminal, the push short message being used for instructing the second terminal to log in the application server; The application server sends the first message to the second terminal after the second terminal logs in the application server.
2. The method of claim 1, wherein, The second push request carries a mobile phone number of the second terminal, the mobile phone number of the second terminal being used for the second push server to determine a short message service operator; the push short message is sent to the second terminal through a server of the determined operator.
3. The method according to claim 1 or 2, characterized in that, The first push request and the push message comprise an application identifier of a first application; The second terminal comprises the first application and a push service application, the push service application being used for parsing the push message to obtain the application identifier; the application identifier is used for instructing the first application to be started based on the push service application, and the first application to be logged in the application server after being started.
4. The method of claim 3, wherein, The second push request and the push short message comprise the application identifier; The second terminal comprises a short message application, the short message application being used for parsing the push short message to obtain the application identifier; The application identifier is used for instructing the first application to be started based on the short message application, and the first application to be logged in the application server after being started.
5. The method of claim 3, wherein, The push message or the push short message comprises a service identifier corresponding to the first message, the service identifier being used for instructing the first application to be logged in the application server after being started; Before the first message is sent to the second terminal, the method further comprises: The application server receives a second request from the second terminal, the second request comprising the service identifier; The application server obtains a message corresponding to the service identifier to obtain the first message; When the first message is a call request, the service identifier is a call identifier; when the first message is a text notification, the service identifier is a text notification identifier; and when the first message is a system notification, the service identifier is a system notification identifier.
6. The method according to claim 1 or 2, characterized in that, The application server is a server corresponding to the first application; the first response message comprises indication information used for indicating that the first application has been started, the indication information being sent by the second terminal to the first push server after the first application is started.
7. The method according to claim 1 or 2, characterized in that, The first push server and the second push server are the same server.
8. A message pushing method, characterized by, The method comprises: A second terminal receives a push message from a first push server, the push message being used for starting a first application; In response to the second terminal not starting the first application, receiving a push message from a second push server; The second terminal starts the first application based on the push message; The second terminal logs in to an application server corresponding to the first application after the first application is started; The second terminal receives a first message from the application server, the first message being sent by the first terminal to the application server; The second terminal displays the first message.
9. The method of claim 8, wherein, The push message is not displayed in an application interface of a message application.
10. The method according to claim 8 or 9, characterized in that, The push message includes an application identifier of the first application; and starting the first application based on the push message includes: The second terminal parses the push message through the message application to obtain the application identifier; The second terminal starts the first application based on the message application.
11. The method of claim 9, wherein, The push message includes a service identifier; and logging in to the application server by the second terminal after the first application is started includes: The message application of the second terminal sends the service identifier to the first application after obtaining the service identifier by parsing the push message; The first application of the second terminal logs in to the application server after receiving the service identifier.
12. The method of claim 11, wherein, Before the second terminal receives the first message from the application server, the method further includes: The second terminal sends a first request to the application server, the first request including the service identifier, the first request being used to request a message corresponding to the service identifier to obtain the first message; When the first message is a call request, the service identifier is a call identifier; when the first message is a text notification, the service identifier is a text notification identifier; and when the first message is a system notification, the service identifier is a system notification identifier.
13. The method of claim 8 or 9, wherein, When the first message is a call request, the call request includes a user identifier of a first user; and displaying the first message by the second terminal includes: The second terminal displays a call interface corresponding to the first application, the call interface including the user identifier of the first user.
14. The method of claim 8 or 9, wherein, Displaying the first message by the second terminal includes: The second terminal determines a prompt window corresponding to the first message through the first application, the prompt window being used to indicate that a message from the first terminal is received; The second terminal displays the prompt window; The second terminal displays an application interface of the first application in response to a user operation on the prompt window, the application interface including the first message.
15. An electronic device, comprising: The electronic device includes one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, when the one or more processors execute the computer instructions, the electronic device performs the method in any one of claims 1-14.
16. A computer program product comprising instructions, characterized in that, When the computer program product runs on the electronic device, the electronic device performs the method in any one of claims 1-14.
17. A computer-readable storage medium comprising instructions, wherein: When the instructions are executed on the electronic device, cause the electronic device to perform the method of any one of claims 1-14.
18. A message pushing system characterized by comprising: The message pushing system comprises an application server and a second terminal, the application server is used for executing the method of any one of claims 1-7, and the second terminal is used for executing the method of any one of claims 8-14.
Citation Information
Patent Citations
Message push processing method, message receiving processing method and device
CN107360214A
Login method, token sending method, and device
CN111466099A