Message pushing method, electronic equipment and system
By sending push text messages on the terminal device to start the application, the problem of messages not being received in time due to being detected and killed by push service applications is solved, ensuring timely startup and message reception of applications is received, and reducing cost risks.
Patent Information
- Application Number
- CN202311104716.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2043-08-30
AI Technical Summary
Applications on terminal devices cannot receive messages in a timely manner, which affects the user experience because the process of providing push services may be investigated and controlled.
When the application server receives the push message but fails to successfully start the first application, it sends a push message to the terminal device to start the first application to ensure that the application receives the message in a timely manner.
It realizes that when the application is not successfully launched by pushing SMS, it ensures that the application is started in time and receives messages through pushing SMS, avoiding the message delay problem caused by the detection of push service applications, and reducing the high risk of directly pushing SMS.
Smart Images

Figure CN119544778A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of electronic technology, and in particular to a message push method, electronic device, and system. Background Art
[0002] At present, many applications on terminal devices, especially instant messaging applications, use the message push function, which is generally implemented by a server that provides push services (referred to as a message push server) and a client that provides push services on the terminal device (referred to as a push service application). For example, when the business application of the terminal device has not logged in to the application server corresponding to the business application, the application server can request the message push server to send a push message to the terminal device; after the terminal device receives the push message, the push service application of the terminal device can start the business application in response to the push message; after the business application is started, it can log in to the above-mentioned application server, so that the business application can receive messages from the application server in a timely manner.
[0003] However, due to power consumption and other reasons, the process providing the push service may be detected and controlled by the terminal device, resulting in the application on the terminal device being unable to receive messages in a timely manner, affecting the user experience. Summary of the invention
[0004] The present application provides a message push method, electronic device and system. The method can start a first application by pushing a text message when a push message fails to successfully start the first application, thereby ensuring that the first application receives the message in a timely manner.
[0005] In a first aspect, an embodiment of the present application provides a message push method, the method comprising: an application server receives a first request from a first terminal, the first request being used to request sending a first message to a second terminal; when the application server determines that the second terminal has not logged into the application server, the application server sends a first push request to the first push server, the first push request being used to request sending a push message to the second terminal, the push message being used to instruct the second terminal to log into the application server; when the application server does not receive a first response message from the first push server within a preset time, the application server sends a second push request to the second push server, the second push request being used to request sending a push SMS to the second terminal, the push SMS being used to instruct the second terminal to log into the application server; after the second terminal logs into the application server, the application server sends the first message to the second terminal.
[0006] In the embodiment of the present application, the application server can enable the second terminal to log in to the application server by pushing a text message when the push message fails to enable the second terminal to log in to the application server. The method can ensure that the second terminal logs in to the application server in time by pushing messages and pushing text messages, thereby ensuring that the second terminal can receive messages from the application server in time. In addition, since the cost of pushing messages is lower than the cost of pushing text messages, sending the push message first can avoid the high cost problem caused by directly pushing text messages.
[0007] In combination with the first aspect, in a possible implementation, the second push request carries the 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 the operator of the SMS service; the push SMS is sent to the second terminal via the server of the determined operator.
[0008] In combination with the first aspect, in a possible implementation, the first push request and 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; the application identifier is used to indicate that the first application is started based on the push service application, and the first application logs in to the application server after it is started.
[0009] In the embodiment of the present application, the second terminal includes a push service application. The second terminal can start the first application based on the push service application and the push message. Since the cost of pushing messages is lower than the cost of pushing SMS messages, the high cost problem caused by SMS messages can be avoided.
[0010] In combination with the first aspect, in a possible implementation manner, the second push request and the push SMS message include an application identifier;
[0011] The second terminal includes a text message application, which is used to parse the push text message to obtain an application identifier; the application identifier is used to indicate starting the first application based on the text message application, and the first application logs into the application server after starting.
[0012] In an embodiment of the present application, the second terminal includes a text message application. The second terminal can start the first application based on the text message application and the push text message. Since the text message application is a resident process in the second terminal, it can ensure that the first application is started in time and logs into the application server.
[0013] In combination with the first aspect, in a possible implementation, the push message or push SMS includes a service identifier corresponding to the first message, and the service identifier is used to indicate that the first application is logged in to the application server after being started; before sending the first message to the second terminal, the method further includes:
[0014] The application server receives a second request from the second terminal, where the second request includes a service identifier;
[0015] The application server obtains a message corresponding to the service identifier to obtain a first message;
[0016] 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; when the first message is a system notification, the service identifier is a system notification identifier.
[0017] In an embodiment of the present application, the second terminal can request the application server for a message corresponding to the service identifier based on the service identifier in the push message or push SMS. For example, the message corresponding to the call identifier can be a call request, the message corresponding to the text notification identifier can be a text notification, and the message corresponding to the system notification identifier can be a system notification.
[0018] In combination with the first aspect, in a possible implementation, the application server is a server corresponding to the first application; the first response message includes indication information for indicating that the first application has been started, and the indication information is sent by the second terminal to the first push server after starting the first application.
[0019] In the embodiment of the present application, the first response message is used by the application server to send a push SMS in a timely manner or not to send a push SMS, which can ensure that the first application is successfully started while avoiding the high cost of sending SMS.
[0020] In combination with the first aspect, in a possible implementation manner, the first push server and the second push server are the same server.
[0021] In the second aspect, an embodiment of the present application provides a message push method, which includes: a second terminal receives a push message from a first push server, and the push message is used to start a first application; in response to the second terminal not starting the first application, a push text message is received from the second push server; the second terminal starts the first application based on the push text message; the second terminal logs in to the application server corresponding to the first application after the first application is started; the second terminal receives a first message from the application server, and the first message is sent by the first terminal to the application server; the second terminal displays the first message.
[0022] In the embodiment of the present application, after receiving the push message, the second terminal may fail to successfully start the first application due to reasons such as the push service application is not online; afterwards, the second terminal receives the push message, and the second terminal can start the first application based on the push message, and then, after the first application is started, the second terminal can log in to the application server corresponding to the first application to obtain the first message. In this method, the second terminal can log in to the application server as soon as possible through the push message and the push message, thereby ensuring that the second terminal receives the first message from the application server in time. In addition, since the cost of push messages is lower than that of push messages, sending push messages first can avoid the high cost problem caused by directly pushing text messages.
[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; further, when it is determined that the second terminal has not started the first application, a push SMS is sent to the second terminal through the second push server to start the first application.
[0024] In conjunction with the second aspect, in a possible implementation, the push SMS is not displayed on the application interface of the SMS application.
[0025] In the embodiment of the present application, the push message can be a message that is invisible to the user, and the second terminal will not display the push message in the inbox of the message application. This method can avoid the push message causing too many messages to affect the user experience.
[0026] In conjunction with the second aspect, in a possible implementation, the push message includes an application identifier of the first application; and starting the first application based on the push message includes:
[0027] The second terminal analyzes the push SMS through the SMS application and obtains the application identifier;
[0028] The second terminal starts the first application based on the SMS application.
[0029] In an embodiment of the present application, the second terminal includes a text message application, and the second terminal can start the first application based on the text message application and the push text message. Since the text message application is a resident process in the second terminal, it can ensure that the first application is started in time and logs in to the application server, so that the above-mentioned first message can be received in time.
[0030] In conjunction with the second aspect, in a possible implementation, the push text message includes a service identifier; and the second terminal logs in to the application server after the first application is started, including:
[0031] After parsing the push message to obtain the service identifier, the SMS application of the second terminal sends the service identifier to the first application;
[0032] When receiving the service identifier, the first application of the second terminal logs in to the application server.
[0033] In conjunction with the second aspect, in a possible implementation manner, 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, where the first request includes a service identifier, and the first request is used to request a message corresponding to the service identifier to obtain a first message;
[0035] 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; when the first message is a system notification, the service identifier is a system notification identifier.
[0036] In conjunction with the second aspect, in a possible implementation manner, 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, where the call interface includes a user identifier of the first user.
[0038] In the embodiment of the present application, the second terminal can log in to the application server as soon as possible through push messages and push text messages, thereby ensuring that the second terminal receives the call request from the application server in a timely manner, so that the second terminal can display the call interface in a timely manner, improving the user experience.
[0039] In conjunction with the second aspect, in a possible implementation manner, 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; the prompt window is used to indicate that a message from the first terminal is received;
[0041] The second terminal displays a prompt window;
[0042] The second terminal displays an application interface of the first application in response to a user operation on the prompt window, where the application interface includes the first message.
[0043] In the embodiment of the present application, the second terminal can display a display interface corresponding to the first message (such as the above-mentioned prompt window). The method can display different application interfaces based on different first messages, which can improve the user experience.
[0044] In a third aspect, an embodiment of the present application provides a message push method, the method comprising:
[0045] When receiving the first push request from the application server, the push server sends a push message to the second terminal, where the push message is used to instruct the second terminal to log in to the application server;
[0046] When receiving the second push request from the application server, the push server sends a push message to the second terminal through the operator server, where the push message is used to instruct the second terminal to log in to the application server.
[0047] In conjunction with the third aspect, in a possible implementation manner, the second push request carries the 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 carries the mobile phone number of the second terminal, and the third push request is used to request the second terminal to send a push SMS.
[0050] In conjunction with the third aspect, in a possible implementation, the first push request and the push message include an application identifier of the first application; the application server corresponds to the first application;
[0051] The second terminal includes a first application and a push service application. The push service application is used to parse the push message to obtain an application identifier; the application identifier is used to instruct the push service application to start the first application. After the first application is started, it logs into the application server.
[0052] In conjunction with the third aspect, in a possible implementation manner, the second push request and the push SMS message include an application identifier;
[0053] The second terminal also includes a text message application, which is used to parse the push text message to obtain an application identifier; the application identifier is used to instruct the text message application to start the first application, and the first application logs in to the application server after starting.
[0054] In combination with the third aspect, in a possible implementation, the first push request, the push message, the second push request and the push SMS include a service identifier corresponding to the first message, and the service identifier is used to indicate that the first application is logged in to the application server after being started.
[0055] In a fourth aspect, the present application provides a server. The server may include a memory and a processor. The memory may be used to store a computer program. The processor may be used to call the computer program so that the server executes the first aspect or any possible implementation of the first aspect.
[0056] In a fifth aspect, the present application provides an electronic device. The electronic device may include a memory and a processor. The memory may be used to store a computer program. The processor may be used to call 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, characterized in that when the above-mentioned computer program product runs on an electronic device, the electronic device executes the first aspect or any possible implementation method of the first aspect.
[0058] In a seventh aspect, the present application provides a computer program product comprising instructions, characterized in that when the above-mentioned computer program product runs on an electronic device, the electronic device executes the second aspect or any possible implementation method of the second aspect.
[0059] In an eighth aspect, the present application provides a computer-readable storage medium, comprising instructions, characterized in that when the above instructions are executed on an electronic device, the electronic device executes the first aspect or any possible implementation method of the first aspect.
[0060] In a ninth aspect, the present application provides a computer-readable storage medium, comprising instructions, characterized in that when the above instructions are executed on an electronic device, the electronic device executes the second aspect or any possible implementation method of the second aspect.
[0061] In the tenth aspect, an embodiment of the present application provides a message push system, which includes an application server and a terminal device, the application server is the server described in the fourth aspect, and the terminal device is the electronic device described in the fifth aspect.
[0062] It is understandable that the server provided in the fourth aspect, the electronic device provided in the fifth aspect, the computer program products provided in the sixth and seventh aspects, and the computer-readable storage medium provided in the eighth and ninth aspects are all used to execute the method provided in the embodiment of the present application. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 This is an architecture diagram of a message push system provided by an embodiment of the present application;
[0064] Figure 2 This is an architecture diagram of another message push system provided in an embodiment of the present application;
[0065] Figure 3A is a schematic diagram of the hardware structure of an electronic device 100 provided in an embodiment of the present application;
[0066] Figure 3B is a software structure block diagram of an electronic device 100 provided in an embodiment of the present application;
[0067] Figure 4 This is a schematic diagram of an application scenario of message push provided by an embodiment of the present application;
[0068] Figure 5 It is a schematic diagram of a message push method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0069] The technical solutions in the embodiments of the present application will be described clearly and in detail below in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0070] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0071] The term "user interface (UI)" in the following embodiments of the present application refers to a medium interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface is a source code written in a specific computer language such as Java and extensible markup language (XML). The interface source code is parsed and rendered on an electronic device, and finally presented as content that can be recognized by the user. The commonly used form of user interface is a graphical 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, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. displayed on the display screen of an electronic device.
[0072] At present, many business applications of terminal devices receive messages in a timely manner through push services. Among them, the server that provides push services (i.e., message push servers) can be original equipment manufacturers (OEMs), such as the push services provided by Huawei; the client that provides push services on the end side can be referred to as push service processes or push service applications. In the embodiments of the present application, the terminal device can also be referred to as the end side or user side, and the message push server can be referred to as the cloud side or service side.
[0073] In one implementation, when the business application of the terminal device is not online, the application server corresponding to the business application can push the 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 above business application. In the embodiment of the present application, the application server can also be called a business server or a business cloud; the business application can also be called a business process.
[0074] Among them, the business application online means that the business application logs into the application server corresponding to the business application, that is, the device running the business application maintains a communication connection with the application server. If the account currently logged into the business application is the first account, the business application online can also be called the first account online or the first account logs into the application server.
[0075] The business application is not online (also called offline) means that the business application has not logged into the application server corresponding to the business application, that is, the device running the business application does not maintain a communication connection with the application server. The reasons why the business application is not online may include that the business application has stopped running, the device running the business application is disconnected from the network, and the account is not logged in when the business application is running. If the account currently logged in to the business application is the first account, the business application is offline can also be called the first account is not online or the first account has not logged into the application server.
[0076] In the embodiment of the present application, the business application online can also be referred to as the device running the business application being online or the account logging into the business application being online; the business application offline can also be referred to as the device running the business application being offline or the account logging into the business application being offline.
[0077] In another implementation, when the service application of the terminal device is offline, the application server pushes the 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 above service application, so that the service application logs in to 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 enables the offline service application to log in to the application server through the message push server, so that the application server and the terminal device communicate. This method can ensure the security of the communication content.
[0078] Figure 1 The process of message push is exemplified. The first terminal and the second terminal are both installed with communication applications, and when the communication applications of the first terminal and the second terminal are both online, they can communicate through the application server; Figure 1 The application server in is the application server corresponding to the communication application, and the message push server is the server corresponding to the push service application.
[0079] Exemplarily, the first terminal can initiate a communication request to the second terminal to the application server through a communication application; after receiving the communication request, if the application server determines that the communication application of the second terminal is not online, it sends a request for pushing a message to the message push server; the message push server sends a 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 a timely manner.
[0080] In this method, if the push service application is resident on the second terminal, it will affect the power consumption and performance of the second terminal; if the push service application is controlled or killed, the push message cannot be delivered in time, and the timely arrival rate of the push service cannot be guaranteed. In addition, since the second terminal and the message push server use a common network, the network quality cannot be guaranteed, and push message delays may occur.
[0081] An embodiment of the present application provides a message push 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 so that the first application receives the push message, a push SMS can be sent to the terminal device. Since the SMS application is in a resident state, the push message can be guaranteed to arrive in time and business delays of the business application can be avoided; since the push SMS is transmitted through the operator network, the cost is relatively high. If the push service application fails to successfully start the first application so that the first application receives the push message, the cost can be reduced.
[0082] In order to introduce the message push method provided by the embodiment of the present application more clearly and in detail, the message push system provided by the embodiment of the present application is first introduced below.
[0083] See also Figure 2 , Figure 2 : is an architecture diagram of a message push system provided by an embodiment of the present application. Figure 2 As shown, the system includes a first terminal 101, an application server 102, a message push server 103, a second terminal 104, a short message center server 201, and an operator short message server 202. Among them:
[0084] The application server 102 may be a server corresponding to the first application, and is used to provide application services corresponding to the first application. For example, the application server 102 may be a server of a developer of the first application or a server of an operator.
[0085] Among them, the first application can be a communication application that provides network communication services, and the application services provided by the first application can include text communication, voice over internet protocol (VoIP) calls (such as VoIP video calls or VoIP voice calls).
[0086] The first terminal 101 and the second terminal 104 may both be installed with a first application. When the first applications of the first terminal 101 and the second terminal 104 are both online, they may communicate through the application server 102 .
[0087] The message push server 103 is a server corresponding to the push service application, and is used to provide message push services. For example, when the application server 102 determines that the first application of the second terminal 104 is offline, it can send a first push request for a push message to the message push server 103; the message push server 103 responds to the request and sends a first push message to the second terminal 104; 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 to the application server 102.
[0088] The operator SMS server 202 is a server corresponding to the SMS application and is used to provide SMS services.
[0089] The SMS center server 201 is used to provide SMS push services. For example, when the application server 102 determines that the first application of the second terminal 104 is offline, it can send a second push request for pushing SMS to the SMS center server 201; the SMS center server 201 responds to the request and sends a second push message to the operator SMS server 202; the operator SMS server 202 responds to the second push message and sends a push SMS to the second terminal 104; 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 to the application server 102.
[0090] In some embodiments of the present application, the message push server 103 and the SMS center server 201 may be the same server or a server cluster composed of multiple servers (referred to as a target push server).
[0091] The first terminal 101 and the second terminal 104 may be an electronic device 100, and the electronic device 100 may 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, etc. Exemplary embodiments of the electronic device 100 include but are not limited to a computer equipped with The electronic device 100 may be a portable electronic device running Linux or other operating systems. The electronic device 100 may also be other portable electronic devices, such as a laptop computer. It should also be understood that in some other embodiments, the electronic device 100 may not be a portable electronic device, but a desktop computer, etc.
[0092] Among them, the application server 102, the message push server 103, the SMS center server 201 and the operator SMS server 202 in the embodiment of the present application can be implemented by an independent server or a server cluster composed of multiple servers.
[0093] Understandably, Figure 2 The message push system architecture in the embodiment of the present application is only an exemplary implementation method. The message push system architecture in the embodiment of the present application includes but is not limited to the above architecture.
[0094] Figure 3A A schematic diagram of the hardware structure 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 both use Figure 3A The hardware structure of the electronic device 100 is shown in FIG.
[0096] The embodiment is described in detail below by taking the electronic device 100 as an example. It should be understood that the electronic device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations. The various components shown in the figure may 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 may 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, an earphone interface 170D, a sensor module 180, a button 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 may include a pressure sensor 180A, a gyroscope sensor 180B, an air 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 is to be understood that the structure illustrated in the embodiment 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 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0099] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (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 may be independent devices or integrated into one or more processors.
[0100] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0101] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0102] In some embodiments, the processor 110 may include one or more interfaces. The interface may 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, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may 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 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby 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 I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a 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 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via 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 data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally 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 to implement the Bluetooth function. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.
[0107] The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the shooting function of the electronic device 100. The processor 110 and the display screen 194 communicate via the DSI interface to implement 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 with the camera 193, the display 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 to implement the function of transmitting data to the SIM card or reading data in the SIM card.
[0110] The USB interface 130 is an interface that complies with the USB standard specification, and specifically 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 transfer data between the electronic device 100 and a peripheral device. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as AR devices, etc.
[0111] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0112] The charging management module 140 is used to receive charging input from a charger, where the charger can be a wireless charger or a wired charger.
[0113] The power management module 141 is used to connect the battery 142, the charging management module 140 and 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 screen 194, the camera 193, and the wireless communication module 160.
[0114] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0115] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused 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 solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 may 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 from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0117] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the 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. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0118] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0119] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may 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. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0120] The electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0121] The display screen 194 is used to display images, videos, etc. 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 or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0122] The electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
[0123] ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and 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 ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, etc. of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, ISP can be set in camera 193.
[0124] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the 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 optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted 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 other format. In some embodiments, the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0125] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the electronic device 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0126] Video codecs are used to compress or decompress digital videos. The electronic device 100 may support one or more video codecs. Thus, the electronic device 100 may play or record videos in a variety of coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0127] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of electronic device 100 can be realized, 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 implement a data storage function, such as storing music, video and other files 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 functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, applications required for at least one function (such as face recognition function, fingerprint recognition function, mobile payment function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as face information template data, fingerprint information template, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0130] The electronic device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0131] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.
[0132] The speaker 170A, also called a "speaker", is used 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 called a "earpiece", is used to convert audio electrical signals into sound signals. When the electronic device 100 receives a call or voice message, the voice can be received by placing the receiver 170B close to the human ear.
[0134] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to microphone 170C to input the sound signal into 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, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify the sound source, realize directional recording function, etc.
[0135] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0136] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The electronic device 100 may receive key input and generate key signal input related to user settings and function control of the electronic device 100.
[0137] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0138] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.
[0139] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to and separated from the electronic device 100 by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. 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 memory cards. The electronic device 100 interacts with the network through the SIM card to implement functions such as calls and data communications.
[0140] In the embodiment of the present application, the electronic device 100 can execute the message push method through the processor 110, and the display screen 194 displays the message and related interface obtained by the message push method.
[0141] Figure 3B It is a software structure block diagram of the electronic device 100 provided in an embodiment of the present application.
[0142] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the system is divided into four layers, from top to bottom: application layer, application framework layer, runtime and system library, and kernel layer.
[0143] The application layer can include a series of application packages.
[0144] like Figure 3BAs shown, the application package may include communication applications, push service applications, SMS applications, and may also include gallery, calendar, WLAN, music, video and other applications (also referred to as applications). Among them, the communication application may be a VoIP application that implements voice over internet protocol (VoIP) calls, such as Changlian; or a chat software that implements network communication.
[0145] In some other embodiments of the present application, the push service application may 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 predefined functions.
[0147] like Figure 3B As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0148] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0149] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0150] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
[0151] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.).
[0152] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0153] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications from applications running in the background, or a notification that appears on the screen in the form of a dialogue interface. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.
[0154] The runtime includes the core library and the virtual machine. The runtime is responsible for the scheduling and management of the system.
[0155] The core library consists of two parts: one part is the function that the programming language (for example, Java language) needs to call, and the other part is the core library of the system.
[0156] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the programming files of the application layer and the application framework layer (for example, java files) as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0157] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0158] The surface manager is used to manage the display subsystem and provides the fusion of two-dimensional (2D) and three-dimensional (3D) layers for multiple applications.
[0159] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0160] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0161] A 2D graphics engine is a drawing engine for 2D drawings.
[0162] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, sensor driver, and virtual card driver.
[0163] The following is an illustrative description of the workflow of the software and hardware of the electronic device 100 in conjunction with capturing a photo scene.
[0164] When the touch sensor 180K receives a touch operation, the corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, and other information). 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. For example, if 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 the interface of the application framework layer to start the camera application, and then starts the camera driver by calling the kernel layer to capture static images or videos through the camera 193.
[0165] The following is based on Figure 2 The schematic diagram of the message push system shown in FIG. Figure 3A and Figure 3B The hardware and software structure diagram of the electronic device is shown, and the message push method provided in the embodiment of the present application is described in detail below.
[0166] First, a possible application scenario of an embodiment of the present application is introduced.
[0167] Figure 4 An example of a call scenario provided by an embodiment of the present application is shown. The scenario may include a first terminal, an application server, a message push server, a second terminal, a short message center server, and an operator short message server. In the embodiment of the present application, the message push server may also be referred to as a first push server, and the short message center server may also be referred to as a second push server.
[0168] Among them, the user of the first terminal is the first user, and the first user logs in to the first application on the first terminal through the first mobile phone number or his application account; the user of the second terminal is the second user, and the second user logs in to the first application on the second terminal through the second mobile phone number or his application account.
[0169] In an embodiment of the present application, when a first user wants to call a second user through a first application, the first user can perform a user operation of calling the second mobile phone number on the first terminal. Accordingly, the first terminal can generate a call request in response to the user operation; then, the first terminal executes S11, that is, sends the call request to the application server corresponding to the first application; then, when the application server determines that the first application of the second terminal is offline, it executes S12, that is, sends a request for a push message to the message push server corresponding to the push service application; the message push server responds to the request by executing S13 and sending a 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 execute S14 to parse the push message, and then, based on the parsing result, start the first application. For example, the parsing result may include the application identifier of the first application, so that the second terminal executes S25, that is, the first application logs in to the application server to obtain the call request.
[0170] Since the above S13 and S14 may not execute S25 within the preset time of the second terminal due to network delay or the push service application being checked and controlled by the second terminal, etc. Then, the application server corresponding to the first application can execute S21, that is, send a request for SMS push to the SMS center server; the SMS center server responds to the request and executes S22, that is, sends a SMS push request to the operator SMS server corresponding to the SMS application; the operator SMS server responds to the request and executes S23, that is, sends a push SMS to the SMS application of the second terminal; the SMS application of the second terminal can execute S24, that is, parse the push SMS, and start the first application based on the parsing result. For example, the parsing result may include the application identifier of the first application, so that the second terminal executes S25, that is, the first application logs in to the application server to obtain the call request.
[0171] The following Figure 5 , a message push method process provided by an embodiment of the present application is described in detail. The method may include some or all of the following steps:
[0172] S501: The first terminal runs a first application.
[0173] In some embodiments, the first user may click on the application icon of the first application, and accordingly, the first terminal runs the first application in response to the user operation.
[0174] Among them, the mobile phone number bound to the account logged in by the first application on the first terminal (referred to as the first account) can be the first mobile phone number, or the first account is the first mobile phone number. For example, the first application is Changlian, and the first user can register an account through the first mobile phone number when logging in to Changlian for the first time. The registered account is the first account; then, log in to the first application through the first mobile phone number. Among them, the first account is the unique user identifier of the first user logging in to the first application, and the first account and the first mobile phone number are in a binding relationship. It is understandable that when the first user changes the mobile phone number, the binding relationship between the first account and the first mobile phone number can be released, and the changed mobile phone number can be bound to the first account.
[0175] S502: The first terminal receives a user operation of calling a second user through the first application, where the second user corresponds to a second mobile phone number and a second account.
[0176] In some embodiments, the first terminal may display the user information of the second user on the user interface of the first application, such as the mobile phone number corresponding to the second user (i.e., the second mobile phone number mentioned above) or the account corresponding to the second user (referred to as the second account, etc.); further, the first terminal may receive a user operation of calling the second user through the first application. Exemplarily, the first terminal may display the 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 may 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] Among them, the second account can be the 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 into the first application; the second account and the second mobile phone number are bound.
[0178] Optionally, the first terminal may obtain the second account from an application server. For example, when the first terminal receives a user operation for calling the second mobile phone number through the first application for the first time, in response to the user operation, the first terminal obtains the account corresponding to the second mobile phone number from the application server to obtain the second account; and then stores the second account. For another example, when the first terminal receives a user operation instructing the first user to store the first mobile phone number, in response to the user operation, the first terminal obtains the account corresponding to the second mobile phone number from the application server to obtain the second account; and then stores the second account.
[0179] S503: The first terminal sends a call request to the application server, where 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 embodiment of the present application, the call request may also be referred to as a call signaling (inviteCommand).
[0181] In some embodiments, the application server receives a user operation of calling a second mobile phone number through a first application, and in response to the user operation, sends a call request to the application server, where the call request includes the second account, the first mobile phone number, and the second mobile phone number.
[0182] It should be noted that the above call request may 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 above call request only includes the second account, the application server may determine the second mobile phone number based on the second account; for another example, when the above call request only includes the second mobile phone number, the application server may determine the second account based on the second mobile phone number.
[0183] S504: The application server obtains a 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 may parse the call request to obtain the second account; 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 may obtain the login information of the second account, obtain the device identifier of the device when the second account first logs in or last logs in, and obtain the device identifier corresponding to the second account.
[0185] Optionally, the device identifier may be a unique device identifier (UDID).
[0186] In some other embodiments of the present application, the above-mentioned call request may not include the second account; then, the application server may determine the second account based on the second mobile phone number; and then, obtain the device identifier corresponding to the second account.
[0187] S505: When determining that the second account is offline, the application server sends a first push request to the message push server, where the first push request includes a call identifier, an application identifier corresponding to the first application, and a device identifier.
[0188] The first push request is used to request sending a push message to the device corresponding to the device identifier (ie, the second terminal), the call identifier is an identifier corresponding to the call notification, and the call notification may be a call request.
[0189] The call identifier is used to indicate that the type of the requested push message is a call notification, that is, 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 a type of service identifier, which is used to indicate the type of push message requested to be sent. The service identifier can also be called the identifier of the message type, and the message type can include call notification, text notification, and system notification. In the embodiment of the present application, for the convenience of description, the identifier corresponding to the call notification is referred to as the above-mentioned call identifier; the identifier corresponding to the text notification is referred to as the text notification identifier; and the identifier corresponding to the system notification is referred to as the system notification identifier.
[0191] Optionally, the service identifier may correspond to different processing rules for push messages on the terminal device. 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 identifier logs in to the application server when 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 to the application server when 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 may include application activity messages or function updates of the first application.
[0192] In some embodiments, the application server responds to the call request and obtains the device identifier corresponding to the second account, and can determine whether the second account is online; if the second account is online, the application server can directly send a call request to the second terminal; if the second account is not online (i.e., offline), then the application server can send a first push request to the message push server, and the first push request includes a call identifier, an application identifier corresponding to the first application, and a device identifier.
[0193] Among them, the account online can refer to the terminal device bound to the account maintaining a communication state with the application server, such as maintaining a long connection; the account offline can refer to the terminal device bound to the account not maintaining a communication state with the application server, such as the long connection is disconnected. In the embodiment of the present application, the second account offline can also be referred to as the second terminal not logging into the application server.
[0194] Exemplarily, the second terminal runs the first application. After the first application logs in to the application server through the second account, the second terminal can establish a long connection with the application server and can send heartbeats to the application server periodically (for example, 5 minutes); when the application server receives the heartbeat of the second terminal periodically, it considers that the second account is online. When the server detects that no heartbeat is received from the second terminal for multiple consecutive heartbeat cycles, 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, where the first push message includes a call identifier and an application identifier.
[0196] In some embodiments, after receiving the first push request, the message push server obtains the call identifier, application identifier and device identifier from the first push request; 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 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 application identifier; then, the push service application can pull up (or start) the application corresponding to the application identifier (i.e., the first application); send the call identifier to the first application; when the first application receives the call identifier, it logs in to the application server and establishes a communication connection with the application server. Among them, the response message can also be called an answer message.
[0198] Optionally, the first push request in S505 and the first push message in S506 may not include a call identifier; then, when the second terminal receives the first push message including the application identifier, it can parse the first push message through the push service application to obtain the application identifier; then, the push service application starts the first application; after the first application runs, it automatically logs in to the application server and establishes a communication connection with the application server.
[0199] S507: In response to the first push message, the second terminal sends a first response message to the message push server after starting the first application, where 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 launches the first application, the second terminal may send a first response message to the message push server, where the first response message includes a request identifier of the first push request and a request result indicating success.
[0201] In some other embodiments of the present application, if the push service application of the second terminal fails to successfully launch the first application, the second terminal may send a second response message to the message push server, the second response message including the request identifier of the first push request and the request result indicating the failure. Optionally, the second response message may also include the reason for the failure, such as the application being uninstalled.
[0202] S508: The message push server may send a first response message to the application server.
[0203] In some embodiments, after receiving the first response message from the second terminal, the message push server may send the message to the application server.
[0204] In some other embodiments of the present application, if the push service application of the second terminal fails to successfully launch the first application, the second terminal may send a second response message to the message push server, and the second response message includes a request identifier of the first push request and a request result indicating failure. Optionally, the second response message may also include a failure reason, such as the application being uninstalled. Furthermore, the message push server may send a call failure response message to the first terminal.
[0205] S509: If the application server does not receive the first response message within a preset time after sending the first push request, it sends a second push request to the SMS center server, where the second push request includes the second mobile phone number, call identifier and application identifier.
[0206] Exemplarily, the preset time is time period t. After the message push server sends the first push request at time T, if no first response message is received within time period t from time T, the application server sends a second push request to the SMS center server.
[0207] Among them, the second push request is used to request to send a push SMS to the device corresponding to the second mobile phone number (ie, the second terminal), and the call identifier is used to indicate that the application corresponding to the application identifier in the second terminal (ie, the first application) logs in to the application server.
[0208] S510: The SMS center server sends a second push message to the operator's SMS server, where the second push message includes a second mobile phone number, a call identifier, and an application identifier.
[0209] Among them, the second push message is used to request to send a push SMS to the device corresponding to the second mobile phone number (ie, the second terminal), and the call identifier is used to instruct the application corresponding to the application identifier in the second terminal (ie, the first application) to log in to the application server.
[0210] In some embodiments, after receiving the second push request, the SMS center server may send a second push message to the operator's SMS server.
[0211] In one implementation, after receiving the second push request, the SMS center server parses the second push request to obtain the second mobile phone number; based on the second mobile phone number, the operator of the second mobile phone number is determined from multiple operators providing SMS services, thereby determining the above-mentioned operator SMS server; and then, a second push message is sent to the operator SMS server, and the second push message includes the second mobile phone number, a call identifier, and an application identifier. In the embodiment of the present application, the SMS center server establishes communication connections with multiple operators providing SMS services, and communication connections with application servers corresponding to multiple applications, thereby providing SMS push services for each application server. This method can improve the efficiency of SMS push.
[0212] S511: The operator's SMS server sends a push SMS to the second terminal based on the second mobile phone number. The push SMS includes an application identifier and a call identifier.
[0213] In some embodiments, after receiving the above-mentioned second push message, the SMS center server parses the second push message to obtain the second mobile phone number, call ID and application ID; and sends a push SMS to the device (second terminal) corresponding to the second mobile phone number, and the push SMS includes the application ID and call ID.
[0214] The device corresponding to the second mobile phone number is a device having a subscriber identification module (SIM) corresponding to the second mobile phone number.
[0215] S512: The second terminal runs the application corresponding to the application identifier, that is, the first application.
[0216] In some embodiments, when the second terminal receives a push SMS from the operator's SMS server, it parses the push SMS through the SMS application to obtain the application identifier and the call identifier; based on the application identifier, the SMS application determines that the processing rule for the push SMS is to send the call identifier to the application corresponding to the application identifier (i.e., the first application); then, when the first application receives the call identifier, it logs in to the application server.
[0217] S513: When the second terminal resolves the call identifier, it sends a connection request, where the connection request is used to request to establish a communication connection.
[0218] In some embodiments, after the second terminal runs the first application, the first application establishes a connection with the application server corresponding to the first application based on a call identification request; then, the second terminal sends a connection request to the application server, and accordingly, the application server establishes a communication connection with the second terminal in response to the connection request.
[0219] Exemplarily, the second terminal may establish a persistent connection with the application server, and may send a heartbeat to the application server periodically (eg, every 5 minutes).
[0220] In other embodiments of the present application, the push SMS does not include a call identifier; after the SMS application pulls up 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, i.e., the first application automatically establishes a communication connection with the application server after running.
[0221] S514: The application server sends the 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 second terminal based on the call identifier, and the request message is used to request a call request corresponding to the call identifier; then, the application server can send the call request from the first terminal to the second terminal in response to the request message.
[0223] S515: The second terminal displays a call interface in response to the call request, where the call interface 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 in which the first user requests to establish a communication connection, and the call interface includes a user identifier of the first user, such as a first mobile phone number or a user name, etc. Furthermore, the second terminal may establish a call connection through the application server in response to a user operation indicating consent to the communication connection to achieve communication with the first terminal; or may not establish a call connection with the first terminal in response to a user operation indicating rejection of the communication connection.
[0225] In some other embodiments of the present application, the above-mentioned push SMS does not include a call identifier; then, when the second terminal receives the push SMS from the operator's SMS server, it parses the push SMS 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 the embodiment of the present application can also be applied to other scenarios, such as the application scenario of sending text notifications.
[0227] In the application scenario of sending text notifications, Figure 5 The difference may be that: the first terminal sends to the application server not a call request but a text notification, and the text notification may include text content input by the first user in the first terminal; Figure 5The first push request, the first push message, the second push message, the second push request and the push SMS do not include a call identifier, but include a text notification identifier; further, the second terminal establishes a communication connection with the application server based on the text notification identifier, and the application server sends the above-mentioned 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 a text notification from an application server, the second terminal may display a prompt box on the current interface, the prompt box being used to prompt the first application to receive a text message from the second user. Furthermore, in response to a user operation on the prompt box, the second terminal displays an application interface of the first application, the application interface being a chat interface with the second user, the chat interface being able to include an identifier of the second user (such as a name or a second mobile phone number, etc.), a chat window, an input box, and a send control, wherein the chat window is used to display the chat history between the first user and the second user; the input box is used to input text; and the send control is used to send the text information in the input box.
[0229] For example, the prompt box may include an application icon of the first application and the text “receive a message from the second mobile phone number.” Further, when the second terminal receives a user operation acting on the prompt box (such as clicking or touching the prompt box), it displays the above chat interface.
[0230] For another example, the prompt box may include "whether to display messages from the second mobile phone number" and a first control, where the first control is used to display text notifications; further, the second terminal may display the above-mentioned 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 may display a prompt box on the current interface, where the prompt box is used to display the text notification.
[0232] Optionally, the prompt box may further include a second control, and the second control is used to send a response message to the application server. For example, the text notification is a game invitation notification, and the prompt box may include the text "Do you accept the game invitation from the first user" and the second control, and the second control is used to indicate the acceptance of the invitation; the second terminal may send a response message to the application server in response to the user operation on the second control, and the response message is used to indicate that the second user accepts the game invitation from the first user.
[0233] The message push method provided in the embodiment of the present application can also be applied to the scenario of sending system notifications.
[0234] In an embodiment of the present application, when a first user (such as an operation staff of a first application) wants to send a system notification corresponding to the first application to a second user, the first user can send the system notification content to an application server corresponding to the first application through the first terminal. Accordingly, 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, when the application server determines that the first application of the second terminal is offline, it can send a push message request to the message push server corresponding to the push service application; in response to the request, the message push server can send a 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 parse the push message, and then, based on the parsing result, start the first application. For example, the parsing result may include an application identifier of the first application, so that the second terminal can log in to the application server through the first application to obtain the call request.
[0235] Assume that the second terminal has not started the first application within the preset time. Then, the application server corresponding to the first application can send a request for SMS push to the SMS center server; the SMS center server responds to the request and sends a SMS push request to the operator SMS server corresponding to the SMS application; the operator SMS server responds to the request by sending a push SMS to the SMS application of the second terminal; the SMS application of the second terminal can parse the push SMS and start the first application based on the analysis result. For example, the analysis result may include the application identifier of the first application, so that the second terminal can log in to the application server to obtain system notifications. The methods executed by the above-mentioned first terminal, application server, message push server, second terminal, SMS center server, and operator SMS server can refer to the above-mentioned Figure 5 The relevant contents in will not be repeated here.
[0236] In other embodiments of the present application, the application server may also send the system notification to the message push server and the SMS center server so that the above-mentioned push message and push SMS carry the system notification. Then, the second terminal can parse the system notification from the push message or push SMS without requesting the system notification from the application server.
[0237] An embodiment of the present application also provides an electronic device, which includes one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program codes, and the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the method described in the above embodiment.
[0238] The embodiments of the present application also provide a computer program product including instructions. When the computer program product is executed on an electronic device, the electronic device executes the method described in the above embodiments.
[0239] An embodiment of the present application also provides a computer-readable storage medium, including instructions, which, when executed on an electronic device, enable the electronic device to execute the method described in the above embodiment.
[0240] It can be understood that the various embodiments of the present application can be combined arbitrarily to achieve different technical effects.
[0241] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in this application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. 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 a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk Solid State Disk), etc.
[0242] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
[0243] In short, the above is only an embodiment of the technical solution of this application, and is not intended to limit the protection scope of this application. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of this application shall be included in the protection scope of this application.
Claims
1. A message push method, characterized in that: The method comprises: The application server receives a first request from a first terminal, where the first request is used to request sending a first message to a second terminal; When determining that the second terminal is not logged in to the application server, the application server sends a first push request to the first push server, wherein the first push request is used to request to send a push message to the second terminal, and the push message is used to instruct the second terminal to log in to the application server; When the application server does not receive a first response message from the first push server within a preset time, the application server sends a second push request to the second push server, wherein the second push request is used to request to send a push SMS to the second terminal, and the push SMS is used to instruct the second terminal to log in to the application server; After the second terminal logs into the application server, the application server sends the first message to the second terminal.
2. The method according to claim 1, characterized in that The second push request carries the 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 the operator of the SMS service; the push SMS is sent to the second terminal via the 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 include an application identifier of the first application; The second terminal includes the first application and a push service application, the push service application is used to parse the push message to obtain the application identifier; the application identifier is used to indicate to start the first application based on the push service application, and the first application logs in to the application server after starting.
4. The method according to any one of claims 1 to 3, characterized in that: The second push request and the push SMS include the application identifier; The second terminal includes a text message application, and the text message application is used to parse the push text message to obtain the application identifier; The application identifier is used to indicate that the first application is started based on the SMS application, and the first application logs into the application server after being started.
5. The method according to claim 3 or 4, characterized in that: The push message or the push SMS includes a service identifier corresponding to the first message, and the service identifier is used to indicate that the first application is logged in to the application server after being started; Before sending the first message to the second terminal, the method further includes: The application server receives a second request from the second terminal, where the second request includes 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; when the first message is a system notification, the service identifier is a system notification identifier.
6. The method according to any one of claims 1 to 5, characterized in that: The application server is a server corresponding to the first application; the first response message includes indication information for indicating that the first application has been started, and the indication information is sent to the first push server by the second terminal after starting the first application.
7. The method according to any one of claims 1 to 6, characterized in that: The first push server and the second push server are the same server.
8. A message push method, characterized in that: The method comprises: The second terminal receives a push message from the first push server, where the push message is used to start the first application; In response to the second terminal not starting the first application, receiving a push text message from a second push server; The second terminal starts the first application based on the push SMS; The second terminal logs in to the application server corresponding to the first application after the first application is started; The second terminal receives a first message from the application server, where the first message is sent by the first terminal to the application server; The second terminal displays the first message.
9. The method according to claim 8, characterized in that The push SMS is not displayed in the application interface of the SMS application.
10. The method according to claim 8 or 9, characterized in that: The push message includes the application identifier of the first application; and starting the first application based on the push message includes: The second terminal parses the push SMS through a SMS application to obtain the application identifier; The second terminal starts the first application based on the SMS application.
11. The method according to claim 9 or 10, characterized in that: The push message includes a service identifier; the second terminal logs in to the application server after the first application is started, including: After parsing the push message to obtain the service identifier, the SMS application of the second terminal sends the service identifier to the first application; When receiving the service identifier, the first application of the second terminal logs in to the application server.
12. The method according to any one of claims 8 to 11, characterized in that: 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, where the first request includes the service identifier, and the first request is 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; when the first message is a system notification, the service identifier is a system notification identifier.
13. The method according to any one of claims 8 to 12, characterized in that: The first message is a call request, and the call request includes a user identifier of the first user; the second terminal displays the first message, including: The second terminal displays a call interface corresponding to the first application, where the call interface includes a user identifier of the first user.
14. The method according to any one of claims 8 to 13, characterized in that: The second terminal displays the first message, including: The second terminal determines, through the first application, a prompt window corresponding to the first message; the prompt window is used to indicate that a message from the first terminal has been 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, where the application interface includes the first message.
15. An electronic device, characterized in that: 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, and the one or more memories are used to store computer program code, and the computer program code includes computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the method as described in any one of claims 1-14.
16. A computer program product comprising instructions, characterized in that When the computer program product is executed on an electronic device, the electronic device is enabled to execute the method according to any one of claims 1 to 14.
17. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on an electronic device, the electronic device is caused to execute the method as claimed in any one of claims 1 to 14.
18. A message push system, characterized in that: The message push system comprises an application server and a second terminal, the application server is used to execute the method according to any one of claims 1 to 7, and the second terminal is used to execute the method according to any one of claims 8 to 14.
Citation Information
Patent Citations
Message push processing method, message receiving processing method and device
CN107360214A
Login method, token sending method, and device
CN111466099A
Method and device for processing push message
CN114553814A
Message pushing method, electronic equipment and system
CN115730129A
Application program login method, application program login device and mobile terminal
WO2020093214A1