CN117376120A - Channel-configurable message pushing method, system, device and storage medium - Google Patents

Channel-configurable message pushing method, system, device and storage medium Download PDF

Info

Publication number
CN117376120A
CN117376120A CN202311476874.XA CN202311476874A CN117376120A CN 117376120 A CN117376120 A CN 117376120A CN 202311476874 A CN202311476874 A CN 202311476874A CN 117376120 A CN117376120 A CN 117376120A
Authority
CN
China
Prior art keywords
channel
push
enabling
server
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311476874.XA
Other languages
Chinese (zh)
Inventor
潘琴芳
王刚
王远峰
陈天明
丘凌
陶智明
刘振鸿
杨赟鋆
王建国
张蕤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Digital Life Technology Co Ltd
Original Assignee
Tianyi Digital Life Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Digital Life Technology Co Ltd filed Critical Tianyi Digital Life Technology Co Ltd
Priority to CN202311476874.XA priority Critical patent/CN117376120A/en
Publication of CN117376120A publication Critical patent/CN117376120A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Abstract

The invention discloses a message pushing method, a system, a device and a storage medium capable of configuring a channel, which comprises the following steps: a push channel list supported by current mobile phone software is obtained from a server, wherein the push channel list comprises a plurality of push channels and corresponding version information; the software development tool kit library comprises software development tool kits corresponding to a plurality of versions of a plurality of push channels; determining an enabling channel according to the push channel list or the default channel, and acquiring configuration information of the enabling channel from the client; the configuration information of the enabling channel comprises identification information of the enabling channel; initializing and registering the starting channel according to the configuration information of the starting channel; if the enabling channel is successfully registered, a binding relation is established between the enabling channel and the server, so that the client receives pushing information sent by the server from the enabling channel. The embodiment of the invention can be used for selectively configuring the pushing channel, reduces the workload, the pushing cost and the loss rate, and can be widely applied to the technical field of computers.

Description

Channel-configurable message pushing method, system, device and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, a system, an apparatus, and a storage medium for pushing a message with a configurable channel.
Background
In mobile development, information is provided for users in a message pushing mode, so that the users can conveniently and quickly open designated pages in time, and customized services can be enjoyed. In the actual research and development process, the message pushing modes are various, such as a pushing platform class, a mobile phone manufacturer class and the like, and manufacturer channels of different mobile phone manufacturers are also different.
Currently, when an app (application, mobile phone software) accesses message push, a business engagement platform side confirms a certain push platform and then a developer accesses the app project according to a development document. Aiming at a series of products under the flag of a certain company, the access message pushing business is tedious and repeated, and larger working time is consumed; in addition, a single push mode is often high in cost for a large number of user apps in business cooperation, and has a certain loss rate in message touch.
Disclosure of Invention
In view of the above, an object of the embodiments of the present invention is to provide a method, a system, a device and a storage medium for pushing messages with configurable channels, which can selectively configure a pushing channel, thereby reducing workload, pushing cost and loss rate.
In one aspect, an embodiment of the present invention provides a method for pushing a message in a configurable channel, which is applied to a software development kit library, and includes:
a push channel list supported by current mobile phone software is obtained from a server, wherein the push channel list comprises a plurality of push channels and corresponding version information; the software development kit library comprises software development kits corresponding to a plurality of versions of a plurality of push channels;
determining an enabling channel according to the push channel list or the default channel, and acquiring configuration information of the enabling channel from a client; the configuration information of the enabling channel comprises identification information of the enabling channel;
initializing and registering the enabling channel according to the configuration information of the enabling channel;
if the enabling channel is successfully registered, a binding relation is established between the enabling channel and the server side, so that the client side receives pushing information sent by the server side from the enabling channel.
Optionally, the determining an enabling channel according to the push channel list or the default channel specifically includes:
if the push channel list is successfully obtained, determining the first push channel in the push channel list as an enabling channel;
Otherwise, the default channel is determined to be the enabled channel.
Optionally, initializing and registering the enabling channel according to the configuration information of the enabling channel specifically includes:
establishing a hook function corresponding to the enabling channel in a corresponding software development kit according to the configuration information of the enabling channel;
and calling a hook function corresponding to the enabling channel from the software development kit corresponding to the enabling channel, and initializing and registering the enabling channel through the hook function.
Optionally, the establishing a binding relationship between the enabling channel and the server specifically includes:
registering the channel-enabled first token to a server;
and receiving a second token fed back by the server side, and sending the second token to the client side so as to establish a binding relation between the enabling channel and the server side.
On the other hand, the embodiment of the invention provides a message pushing method capable of configuring a channel, which is applied to a client and comprises the following steps:
transmitting configuration information of an enabling channel to a software development kit of the enabling channel so that the software development kit of the enabling channel initializes and registers the enabling channel, and establishing a binding relation between the enabling channel and the server;
And receiving push information sent by the server from each enabling channel, and carrying out data conversion and data distribution on the push information.
Optionally, the push information is subjected to data conversion by the following method:
respectively configuring the push information into respective message bodies according to push channels;
and converting the push information in the message body into a preset unified message data structure.
Optionally, the data distributing the push information includes:
determining whether mobile phone software runs in a foreground;
if the mobile phone software runs in the foreground, the converted push information is issued to each functional foreground routing module through the tool class.
In another aspect, an embodiment of the present invention provides a message pushing device capable of configuring a channel, including:
at least one processor;
at least one memory for storing at least one program;
the at least one program, when executed by the at least one processor, causes the at least one processor to implement the method as applied to a software development kit library or client.
In another aspect, embodiments of the present invention provide a computer-readable storage medium in which a processor-executable program is stored, which when executed by a processor is configured to perform the method described as applied to a software development kit library or client.
On the other hand, the embodiment of the invention provides a message pushing system with a configurable channel, which comprises a client, a software development kit library and a server, wherein the software development kit library is connected with the client and the server, and the server is connected with the client through a pushing channel; wherein,
the client is used for executing the method of the client;
the software development kit library is used for executing the method described in the software development kit library;
the server side is used for sending push information to the client side through an enabling channel in the push channel.
The embodiment of the invention has the following beneficial effects: in this embodiment, firstly, a software development kit corresponding to a plurality of push channels is integrated into a software development kit library, a client manages configuration information of the plurality of push channels in a unified manner, then the software development kit library obtains a push channel list supported by current mobile phone software from the client, determines an enabling channel according to the push channel list or a default channel, obtains configuration information of the enabling channel from the client, and then the software development kit library initializes and registers the enabling channel according to the configuration information of the enabling channel, if the enabling channel is successfully registered, a binding relation is established between the enabling channel and a server, and after the binding relation is established, the client receives push information sent by the server from the plurality of enabling channels, thereby reducing the problems of repeated workload and cost and loss rate of a single push mode.
Drawings
FIG. 1 is a block diagram of a channel-configurable message push system according to an embodiment of the present invention;
FIG. 2 is a schematic step flow diagram of a message pushing method applied to a configurable channel of a software development kit library according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a process for initializing and registering an enabled channel according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating a process of binding an enabling channel with a server according to an embodiment of the present invention;
fig. 5 is a schematic step flow diagram of a message pushing method applied to a configurable channel of a client according to an embodiment of the present invention;
FIG. 6 is a flowchart illustrating a data conversion process according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating a data distribution process according to an embodiment of the present invention;
fig. 8 is a schematic flow chart of a step of establishing a push channel according to an embodiment of the present invention;
FIG. 9 is a timing diagram for establishing a push channel according to an embodiment of the present invention;
fig. 10 is a flowchart illustrating a step of receiving channel information according to an embodiment of the present invention;
FIG. 11 is a block diagram of a message pushing system for a configurable channel of a software development kit library according to an embodiment of the present invention;
FIG. 12 is a block diagram of a message pushing system applied to a configurable channel of a client according to an embodiment of the present invention;
fig. 13 is a block diagram of a computer device according to an embodiment of the present invention.
Detailed Description
The invention will now be described in further detail with reference to the drawings and to specific examples. The step numbers in the following embodiments are set for convenience of illustration only, and the order between the steps is not limited in any way, and the execution order of the steps in the embodiments may be adaptively adjusted according to the understanding of those skilled in the art.
It should be noted that although functional block division is performed in a device diagram and a logic sequence is shown in a flowchart, in some cases, the steps shown or described may be performed in a different order than the block division in the device, or in the flowchart. The terms first, second and the like in the description and in the claims and in the above-described figures, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that embodiments of the present application described herein may be capable of operation in sequences other than those illustrated or described herein, for example. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the present application.
Some technical terms in this embodiment are explained below.
The SDK (Software Development Kit ) library, also known as a software development kit library, is a series of pre-written code fragments and function collections that are intended to help developers build applications. The library contains many common functions and methods for the developer to call, thereby simplifying the development process and improving the efficiency.
token means a token, which is a string of characters generated by the server and is used as an identifier of the request made by the client. After the user logs in for the first time, the server generates a token and returns the token to the client, and the client only needs to carry the token to request data before the client is carried, and does not need to carry the user name and the password again. The composition of a simple token; uid (user unique identity), time (timestamp of current time), sign (signature).
Hook, a platform of Windows message handling mechanisms, on which an application can set a child program to monitor a certain message for a specified window, and the monitored window can be created by other processes. When the message arrives, it is processed before the target window processing function. The hook mechanism allows an application to intercept a processing window message or a particular event.
The following briefly describes the implementation environment in this embodiment. Referring to fig. 1, an SDK library obtains a push channel type through a server, obtains configuration information of a push channel from a client, and constructs SDKs of different push channels according to the push channel type and the corresponding configuration information, thereby establishing the SDK library. Initializing and registering a push channel through the SDK library, and binding the push channel and a server side. The server side sends push information to the client side through the bound push channel. The client may uniformly manage configuration information of each push channel, for example, the client may uniformly manage appId, appKey, appSecret.
As shown in fig. 2, an embodiment of the present invention provides a message pushing method of a configurable channel, which is applied to a software development kit library, and includes the following steps:
S110, acquiring a push channel list supported by current mobile phone software from a server, wherein the push channel list comprises a plurality of push channels and corresponding version information; the software development kit library comprises software development kits corresponding to a plurality of versions of a plurality of push channels.
Specifically, the process of obtaining the push channel list is as follows: firstly, a request end builds a network request module, taking an android end as an example, a Retrofit framework is selected in SDK realization, and a channel strategy is obtained from a server end in a Post request mode based on an OKHttp protocol. In the general request, an encryption rule, such as an Hmac encryption rule, is set, so that the security is improved; then, the server builds service and database configuration channel information, adds configuration information such as SDK corresponding version, release identification, manufacturer channel corresponding relation, support manufacturer list and other data in the SDK, and transmits the data to the server to differentially configure channel configuration databases of different versions and release versions; then; and obtaining channel information distributed by the client through channel data query, and generating a push channel list according to the channel information.
S120, determining an enabling channel according to the push channel list or the default channel, and acquiring configuration information of the enabling channel from the client; the channel-enabled configuration information includes channel-enabled identification information.
The default channel is set by a designer of the mobile phone software, and the default channel is determined according to an application of the mobile phone software, for example, a push channel widely used by map software is a push platform A, and the push platform A is set as the default channel. The enable channel represents determining a push channel for sending push messages. It should be noted that the default channel may be one or more.
Specifically, firstly, selecting one of push channels meeting requirements from a push channel list as an enabling channel, or determining the enabling channel according to a default channel; and then, acquiring configuration information of an enabling channel from the client, wherein the configuration information of the enabling channel comprises identification information of the enabling channel, and the identification information of the enabling channel is matched with the SDK of the enabling channel.
S130, initializing and registering the enabling channel according to the configuration information of the enabling channel.
Specifically, after the configuration information of the enabling channels is obtained, the initialization and registration logic of each enabling channel is realized in the three-party SDK in a reflection mode, and the initialization and registration logic of the enabling channels is determined according to the related technology. It should be noted that the enabled channels include, but are not limited to Tpns (Tenpoint Notification Service), jpush, huawei, xiaomi, vivo, oppo, mz, honor. Tpns is a reliable mobile push service pushed by the messenger cloud, and in mobile applications, tpns can provide an instant message push function and support multiple functions of personalized message push, specific user push, timing push and the like. The aurora push (Jpush) is an independent third party cloud push platform and is a third party message push service which is open for common developers. Vendor push means include, but are not limited to huawei, xiaomi, vivo, oppo, mz, honor.
And S140, if the registration of the enabling channel is successful, the enabling channel and the server establish a binding relation so that the client receives the pushing information sent by the server from the enabling channel.
The enabling channel carries channel information in the registration process, if the enabling channel is successfully registered, a binding relation is established between the enabling channel and the server through the channel information, and after the binding relation is established, the server sends push information to the client from the binding enabling channel.
It should be noted that the push channel list obtained in different time periods may include different push channel categories or ranks. If the currently used starting channel cannot send the pushing information or the index does not meet the preset requirement, the pushing channel list can be acquired again, and a new starting channel is determined according to the acquired pushing channel list.
Optionally, determining an enabling channel according to the push channel list or the default channel specifically includes:
S121A, if the push channel list is successfully obtained, determining the first push channel in the push channel list as an enabling channel;
S121B, otherwise, determining the default channel as an enabled channel.
Specifically, each push channel in the push channel list may be arranged according to a comprehensive score, the higher the comprehensive score, the earlier the arrangement order, and factors considered by the comprehensive score include, but are not limited to, cost, push message arrival rate, and the like, and each factor determines a weight according to importance. If the push channel list is successfully obtained, determining the first push channel with the highest comprehensive score in the push channel list as an enabling channel; if the acquisition of the push channel list fails, determining a default channel set according to priori knowledge as an enabling channel; therefore, a pushing channel with better performance is selected as an enabling channel, and satisfaction of message pushing is improved.
As shown in fig. 3, initializing and registering an enabling channel according to configuration information of the enabling channel specifically includes:
s131, establishing a hook function corresponding to the enabling channel in a corresponding software development kit according to the configuration information of the enabling channel;
s132, calling a hook function corresponding to the enabling channel from a software development kit corresponding to the enabling channel, and initializing and registering the enabling channel through the hook function.
Specifically, the procedure for creating the hook function is as follows: firstly, establishing a unified Hook tool class, and acquiring class names in a dependency library through class.forname ("package name"); a getMethod ("method name", "method transfer class",) obtains a certain method in the corresponding class name; the invoke mode calls the reflecting method; then, respectively establishing corresponding HookHelper classes according to supporting manufacturers, and establishing related methods such as enableDebug, enablePullUpOtherApp, enableOtherPush, registerPush needed by a dependent package of a carrier pigeon according to a channel establishing flow; and then, according to the message pushing toolkit and the corresponding open platform provided by the manufacturer, inquiring the initialization of the manufacturer channel, registering and inquiring the corresponding tool class and the method thereof, and establishing the corresponding Hook tool class for each manufacturer according to the class.
After the construction of the hook function corresponding to the starting channel is completed, the starting channel is initialized and registered by calling the hook function.
As shown in fig. 4, the binding relationship between the enabling channel and the server is established, which specifically includes:
s141, registering the first token for enabling the channel to the server;
s142, receiving a second token fed back by the server side, and sending the second token to the client side so as to establish a binding relation between the enabling channel and the server side.
Specifically, after a channel registration success callback is started, the SDK corresponding to the started channel registers a first token started to the channel to the server; after receiving the first token, the server feeds back a second token of the server to the SDK of the enabled channel; and the SDK corresponding to the enabling channel receives the second token and sends the second token to the client, and the enabling channel and the server are completed in a binding relation.
As shown in fig. 5, an embodiment of the present invention provides a message pushing method of a configurable channel, which is applied to a client, and includes:
s210, sending configuration information of the enabling channel to a software development kit of the enabling channel, so that the software development kit of the enabling channel initializes and registers the enabling channel, and establishes a binding relation between the enabling channel and a server.
The client terminal uniformly manages the relevant configuration information of each channel, so that the privacy and the security of the app are enhanced. Configuration information associated with each channel includes, but is not limited to AppKey, appId, appSecret, etc. When the access channel is initialized, corresponding identifiers are added one by one, so that the coupling degree is reduced, and the safety and accuracy are improved.
Specifically, in the main project, relevant configuration information of each push channel is managed in a unified mode, and the configuration information is transmitted into the three-party SDK in Application, so that the effectiveness and privacy of an initialization process are ensured. The configuration information of each push platform in the manufacturer message can increase the identification of the own platform. For processing, the configuration information in Application is the configuration information itself, and the rest of platform identifiers are processed separately in the hook method by the vendors in the SDK.
S220, receiving push information sent by the server from each enabling channel, and performing data conversion and data distribution on the push information.
The channel receiving function is arranged in the main project and is used for realizing a corresponding receiving method according to the requirement aiming at the accessed message channel, such as JPushreceiver of MessageReceiver, jpush of Tpns and the like. The method for receiving the messages in the channels is different from each other, the message bodies acquired by the different channels are inconsistent, the messages are flexibly realized according to the channels supported by the items, and then the messages are converted into a unified data structure, so that various kinds of message distribution are processed in a centralized manner, and the service logic realized by the messages of the channels is ensured to be consistent. For example, ARouter is used as technical support to uniformly process message issuing, and consistency and accuracy of outgoing service after receiving messages of each channel are guaranteed. And the message content is issued to each functional module through a MessageRouterUtil tool class.
As shown in fig. 6, the push information is optionally data converted by the following method:
s221, configuring the push information into respective message bodies according to push channels;
s222, converting the push information in the message body into a preset unified message data structure.
In the receiving callback methods of different channels, the content of a specific message body is obtained, for example, the Messagereceiver of the carrier pigeon obtains XGPushShowedResult objects packaged by the carrier pigeon in the onNotification ShowedResult, and the aurora JPushreceiver obtains Notification message objects packaged by aurora in the onNotification received. When the messages are in butt joint, the push messages are configured in a json mode to the message bodies of the carrier pigeons or aurora respectively, and all objects acquired in the receiver are converted into a unified message data structure.
As shown in fig. 7, optionally, the data distribution of the push information includes:
s223, determining whether the mobile phone software runs in a foreground;
and S224, if the mobile phone software runs on the foreground, transmitting the converted push information to each functional foreground routing module through the tool class.
The foreground of the mobile phone software refers to the interface and function with which the user directly interacts. It is the part that the user can see and operate, including the user interface of the application, the processing of user inputs and outputs, etc. The foreground is typically the primary interface for the user to interact with the application program, and is responsible for receiving user input and providing corresponding output according to the user's needs. Background refers to the portion of an application that is not directly visible to a user. It is mainly responsible for processing background tasks, data storage, business logic, etc. The background of the mobile phone software usually runs on a server or a cloud to provide data and services for the foreground. It can process the user's request, retrieve data from the database, perform calculations and analyses, and return the results to the foreground. The background is also responsible for handling some time consuming tasks such as data synchronization, push notifications, timing tasks, etc. In one social media application, the background may be responsible for handling user registration logins, data storage, message pushing, data analysis, and the like.
Communication and data exchange are carried out between the foreground and the background through an interface. The foreground can send a request to the background, the background receives the request and processes the request, and the result is returned to the foreground. The communication mode can realize data interaction and function call between the foreground and the background, so that the application program can respond to the requirements of the user better.
In app development, the design and development of the foreground and the background are interdependent. The foreground needs to design a reasonable user interface according to the requirements and interactions of the user, so that the user can conveniently operate and use the application. The background needs to provide stable and reliable data and services, and the normal operation of the foreground is ensured. The design and development of the foreground and the background need to cooperate closely to complete a complete application program together. The foreground and the background are two important concepts in app development, the foreground is responsible for user interfaces and interactions, and the background is responsible for data processing and business logic. Together they form a complete application program, enabling user interaction and data exchange with the application.
Specifically, in the unified message data class MessageInfo, a generic jump schema is defined, and the foreground processes the data formandcustom. scheme satisfies the AROUter protocol rules, namely: [ jump protocol name ]:/[ jump service name ]? [ jump service party identifier parameter name ] = [ jump service party identifier parameter value ] = [ jump route information parameter name ] = [ jump route information parameter value ]. As the messages at the two ends of ios and android are pushed into the public module, unified routing content can be adopted to realize the consistent function. Taking an android end as an example, the AROUTER protocol supports two modes of routing and page binding and routing methods. The binding mode of the route and the page only needs to establish a binding relation between the Activity and the route; the implementation mode of the routing method needs to establish a message processing routing base class method, wherein navigation skip logic is realized, and after each service module inherits, parameters carried by the route are obtained in navigation, and the service functions are realized according to the parameters.
In a specific embodiment, referring to fig. 8, firstly, the SDK library queries and distributes push channel data through a server, if the push channel data is successfully returned, a list supporting push channels is obtained, an enabling channel is set as a first push channel of the list, and if the push channel data is not returned, the enabling channel is set as a default channel; and then, acquiring configuration information data of a corresponding push channel from the client, calling a hook method in an SDK library according to the configuration information data to initialize and register the start channel, if the start channel registration callback is successful, binding the server with a push channel interface, and if the binding and the calling of the server with the push channel interface are successful, establishing a message push binding relationship of the client.
In a specific embodiment, referring to fig. 9, the service platform refers to a platform for distributing specific push channel information in the service end, the platform in the message refers to a middle platform for associating an App user and a push channel in the service end, and the three-party information platform refers to the push channel distributed to the App. The specific method for establishing the channel between the App of the client and the client pushing the information is as follows: after the user starts the App, the App is initialized in the SDK library; the SDK sends a channel strategy query request to the message center, initializes according to the strategy fed back, makes strategy decision according to the initialized result, initializes the determined push channel through the three-party SDK, acquires the Token of the three-party SDK, sends the Token carrying the three-party SDK to the message center for registration, acquires the Token of the message center, and returns the Token of the center to the App.
In a specific embodiment, referring to fig. 10, after the message is triggered, determining whether the app is online, if the app is online, controlling the push message to be pushed to the user by the online own channel, the channel message touching the callback, and integrating the channel information into a unified data structure, wherein the message jump logic can be used in the data integration process; if the app is not online, the control push message is pushed to the user by an offline manufacturer channel, whether to click on notification bar information is determined, if the notification bar information is adopted, inter data is obtained, the channel information is integrated into a unified data structure, and message jump logic can be used in the data integration process; after converting the channel information into the unified data format, determining whether the app is in the foreground, and if the app is in the foreground, issuing a functional foreground routing module through the tool class.
The embodiment of the invention has the following beneficial effects: in this embodiment, firstly, a software development kit corresponding to a plurality of push channels is integrated into a software development kit library, a client manages configuration information of the plurality of push channels in a unified manner, then the software development kit library obtains a push channel list supported by current mobile phone software from the client, determines an enabling channel according to the push channel list or a default channel, obtains configuration information of the enabling channel from the client, and then the software development kit library initializes and registers the enabling channel according to the configuration information of the enabling channel, if the enabling channel is successfully registered, a binding relation is established between the enabling channel and a server, and after the binding relation is established, the client receives push information sent by the server from the plurality of enabling channels, thereby reducing the problems of repeated workload and cost and loss rate of a single push mode.
Referring to fig. 11, an embodiment of the present invention provides a channel-configurable message pushing system, which is applied to a software development kit library, and includes:
the mobile phone comprises a first module, a second module and a third module, wherein the first module is used for acquiring a push channel list supported by current mobile phone software from a server, and the push channel list comprises a plurality of push channels and corresponding version information; the software development tool kit library comprises software development tool kits corresponding to a plurality of versions of a plurality of push channels;
the second module is used for determining an enabling channel according to the push channel list or the default channel and acquiring configuration information of the enabling channel from the client; the configuration information of the enabling channel comprises identification information of the enabling channel;
the third module is used for initializing and registering the starting channel according to the configuration information of the starting channel;
and the fourth module is used for establishing a binding relation between the starting channel and the server if the starting channel is successfully registered, so that the client receives the pushing information sent by the server from the starting channel.
Referring to fig. 12, an embodiment of the present invention provides a channel-configurable message pushing system, which is applied to a client and includes:
a fifth module, configured to send configuration information of the enabling channel to a software development kit of the enabling channel, so that the software development kit of the enabling channel initializes and registers the enabling channel, and establishes a binding relationship between the enabling channel and the server;
And the sixth module is used for receiving the push information sent by the server from each enabling channel and carrying out data conversion and data distribution on the push information.
It can be seen that the content in the above method embodiment is applicable to the system embodiment, and the functions specifically implemented by the system embodiment are the same as those of the method embodiment, and the beneficial effects achieved by the method embodiment are the same as those achieved by the method embodiment.
Wherein the memory is operable as a non-transitory computer readable storage medium storing a non-transitory software program and a non-transitory computer executable program. The memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes remote memory provided remotely from the processor, the remote memory being connectable to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
Furthermore, embodiments of the present application disclose a computer program product or a computer program, which is stored in a computer readable storage medium. The computer program may be read from a computer readable storage medium by a processor of a computer device, the processor executing the computer program causing the computer device to perform the method as described above. Similarly, the content in the above method embodiment is applicable to the present storage medium embodiment, and the specific functions of the present storage medium embodiment are the same as those of the above method embodiment, and the achieved beneficial effects are the same as those of the above method embodiment.
The embodiment of the present invention also provides a computer-readable storage medium storing a program executable by a processor, which when executed by the processor is configured to implement the above-described method.
It is to be understood that all or some of the steps, systems, and methods disclosed above may be implemented in software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
In particular, referring to FIG. 13, computer device 1300 may include RF (Radio Frequency) circuitry 1310, memory 1320 including one or more computer readable storage media, input unit 1330, display unit 1340, sensor 1350, audio circuitry 1360, short-range wireless transmission module 1370, processor 1380 including one or more processing cores, and power supply 1390. It will be appreciated by those skilled in the art that the device structure shown in fig. 13 is not limiting of the electronic device and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components.
The RF circuit 1310 may be used for receiving and transmitting signals during a message or a call, and in particular, after receiving downlink information of a base station, the downlink information is processed by one or more processors 1380; in addition, data relating to uplink is transmitted to the base station. Typically, RF circuitry 1310 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, an LNA (Low Noise Amplifier ), a duplexer, and the like. In addition, the RF circuitry 1310 may also communicate with networks and other devices via wireless communications. The wireless communication may use any communication standard or protocol including, but not limited to, GSM (Global System of Mobile communication, global system for mobile communications), GPRS (General Packet Radio Service ), CDMA (Code Division Multiple Access, code division multiple access), WCDMA (Wideband Code Division Multiple Access ), LTE (Long Term Evolution, long term evolution), email, SMS (Short Messaging Service, short message service), and the like.
Memory 1320 may be used to store software programs and modules. Processor 1380 executes various functional applications and data processing by executing software programs and modules stored in memory 1320. The memory 1320 may mainly include a storage program area that may store an operating system, application programs required for at least one function (such as a sound playing function, an image playing function, etc.), and a storage data area; the storage data area may store data created according to the use of the device 1300 (such as audio data, phonebooks, etc.), and the like. In addition, memory 1320 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, memory 1320 may also include a memory controller to provide access to memory 1320 by processor 1380 and input unit 1330. While fig. 13 shows RF circuit 1310, it is to be understood that it is not an essential component of device 1300 and may be omitted entirely as desired without changing the essence of the invention.
The input unit 1330 may be used to receive input numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control. In particular, input unit 1330 may include a touch-sensitive surface 1331 and other input devices 1332. Touch-sensitive surface 1331, also referred to as a touch display screen or touch pad, may collect touch operations thereon or thereabout by a user (e.g., operations of the user on touch-sensitive surface 1331 or thereabout by any suitable object or accessory such as a finger, stylus, etc.) and actuate the corresponding connection device according to a predetermined program. Alternatively, touch-sensitive surface 1331 may include both a touch detection device and a touch controller. The touch detection device detects the touch azimuth of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 1380, and can receive commands from the processor 1380 and execute them. In addition, the touch-sensitive surface 1331 may be implemented in a variety of types, such as resistive, capacitive, infrared, and surface acoustic waves. In addition to touch-sensitive surface 1331, input unit 1330 may also include other input devices 1332. In particular, other input devices 1332 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, mouse, joystick, etc.
The display unit 1340 may be used to display information input by a user or information provided to a user and various graphical user interfaces of the control 1300, which may be composed of graphics, text, icons, video, and any combination thereof. The display unit 1340 may include a display panel 1341, and alternatively, the display panel 1341 may be configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like. Further, the touch-sensitive surface 1331 may be overlaid on the display panel 1341, and upon detection of a touch operation thereon or thereabout by the touch-sensitive surface 1331, the touch-sensitive surface is communicated to the processor 1380 to determine the type of touch event, and the processor 1380 then provides a corresponding visual output on the display panel 1341 in accordance with the type of touch event. Although in FIG. 13 the touch-sensitive surface 1331 and the display panel 1341 are implemented as two separate components for input and output functions, in some embodiments the touch-sensitive surface 1331 may be integrated with the display panel 1341 to implement input and output functions.
The computer device 1300 may also include at least one sensor 1350, such as a light sensor, a motion sensor, and other sensors. In particular, the light sensor may include an ambient light sensor that may adjust the brightness of the display panel 1341 according to the brightness of ambient light, and a proximity sensor that may turn off the display panel 1341 and/or backlight when the device 1300 moves to the ear. As one of the motion sensors, the gravity acceleration sensor can detect the acceleration in all directions (generally three axes), and can detect the gravity and the direction when the mobile phone is stationary, and can be used for applications of recognizing the gesture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer gesture calibration), vibration recognition related functions (such as pedometer and knocking), and the like; other sensors such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc. that may also be configured with the device 1300 are not described in detail herein.
Audio circuitry 1360, speaker 1361, microphone 1362 may provide an audio interface between the user and the device 1300. The audio circuit 1360 may transmit the received electrical signal after audio data conversion to the speaker 1361, where the electrical signal is converted to a sound signal by the speaker 1361 and output; on the other hand, the microphone 1362 converts the collected sound signals into electrical signals, which are received by the audio circuit 1360 and converted into audio data, which are processed by the audio data output processor 1380 and sent to another control device via the RF circuit 1310, or which are output to the memory 1320 for further processing. Audio circuitry 1360 may also include earbud jacks to provide communications of peripheral headphones with device 1300.
The short-range wireless transmission module 1370 may be a WIFI (wireless fidelity ) module, a bluetooth module, an infrared module, or the like. The device 1300 may communicate information with a wireless transmission module provided on the combat device via a short-range wireless transmission module 1370.
Processor 1380 is a control center of device 1300 and connects the various parts of the overall control device using various interfaces and lines to perform various functions of device 1300 and process data by running or executing software programs and/or modules stored in memory 1320, and invoking data stored in memory 1320, thereby overall monitoring the control device. Optionally, processor 1380 may include one or more processing cores; optionally, processor 1380 may integrate an application processor primarily handling operating systems, user interfaces, applications, etc., with a modem processor primarily handling wireless communications. It is to be appreciated that the modem processor described above may not be integrated into processor 1350.
The device 1300 also includes a power supply 1390 (e.g., a battery) that provides power to the various components, preferably logically coupled to the processor 1380 via a power management system, to facilitate managing charge, discharge, and power consumption by the power management system. The power supply 1390 may also include one or more of any of a direct current or alternating current power supply, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
Although not shown, the device 1300 may also include a camera, a bluetooth module, etc., which will not be described in detail herein.
It is to be understood that all or some of the steps, systems, and methods disclosed above may be implemented in software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
Referring to fig. 1, an embodiment of the present invention provides a message pushing system with a configurable channel, which includes a client, a software development kit library and a server, wherein the software development kit library connects the client and the server, and the server connects the client through a pushing channel; wherein,
the client is used for executing the method of the client;
a software development kit library for executing the method of the software development kit library;
the server side is used for sending push information to the client side through the starting channel in the push channel.
Specifically, the client includes, but is not limited to, a mobile phone, a tablet, a wearable device, an onboard device, a desktop computer, a portable computer, and other terminals with input and display functions; software development kit libraries and servers include, but are not limited to, servers with data and logic processing capabilities, with storage capacity, and the like.
It can be seen that the content in the above method embodiment is applicable to the system embodiment, and the functions specifically implemented by the system embodiment are the same as those of the method embodiment, and the beneficial effects achieved by the method embodiment are the same as those achieved by the method embodiment.
It should be understood that in this application, "at least one" means one or more, and "a plurality" means two or more. "and/or" for describing the association relationship of the association object, the representation may have three relationships, for example, "a and/or B" may represent: only a, only B and both a and B are present, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b or c may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods may be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
While the preferred embodiment of the present invention has been described in detail, the invention is not limited to the embodiment, and various equivalent modifications and substitutions can be made by those skilled in the art without departing from the spirit of the invention, and these modifications and substitutions are intended to be included in the scope of the present invention as defined in the appended claims.

Claims (10)

1. The message pushing method of the configurable channel is characterized by being applied to a software development kit library and comprising the following steps of:
a push channel list supported by current mobile phone software is obtained from a server, wherein the push channel list comprises a plurality of push channels and corresponding version information; the software development kit library comprises software development kits corresponding to a plurality of versions of a plurality of push channels;
determining an enabling channel according to the push channel list or the default channel, and acquiring configuration information of the enabling channel from a client; the configuration information of the enabling channel comprises identification information of the enabling channel;
initializing and registering the enabling channel according to the configuration information of the enabling channel;
if the enabling channel is successfully registered, a binding relation is established between the enabling channel and the server side, so that the client side receives pushing information sent by the server side from the enabling channel.
2. The message pushing method according to claim 1, wherein the determining an enabling channel according to the push channel list or a default channel specifically includes:
if the push channel list is successfully obtained, determining the first push channel in the push channel list as an enabling channel; otherwise, the default channel is determined to be the enabled channel.
3. The message pushing method according to claim 1, wherein initializing and registering the enabling channel according to configuration information of the enabling channel specifically includes:
establishing a hook function corresponding to the enabling channel in a corresponding software development kit according to the configuration information of the enabling channel;
and calling a hook function corresponding to the enabling channel from the software development kit corresponding to the enabling channel, and initializing and registering the enabling channel through the hook function.
4. The message pushing method according to claim 3, wherein the establishing a binding relationship between the enabling channel and the server specifically includes:
registering the channel-enabled first token to a server;
and receiving a second token fed back by the server side, and sending the second token to the client side so as to establish a binding relation between the enabling channel and the server side.
5. The message pushing method of the configurable channel is characterized by being applied to a client and comprising the following steps of:
transmitting configuration information of an enabling channel to a software development kit of the enabling channel so that the software development kit of the enabling channel initializes and registers the enabling channel, and establishing a binding relation between the enabling channel and the server;
And receiving push information sent by the server from each enabling channel, and carrying out data conversion and data distribution on the push information.
6. The message pushing method according to claim 5, wherein the push information is data converted by:
respectively configuring the push information into respective message bodies according to push channels;
and converting the push information in the message body into a preset unified message data structure.
7. The message pushing method according to claim 5, wherein the data distributing the push information includes:
determining whether mobile phone software runs in a foreground;
if the mobile phone software runs in the foreground, the converted push information is issued to each functional foreground routing module through the tool class.
8. A channel configurable message pushing apparatus, comprising:
at least one processor;
at least one memory for storing at least one program;
the at least one program, when executed by the at least one processor, causes the at least one processor to implement the method of any of claims 1-7.
9. A computer readable storage medium, in which a processor executable program is stored, characterized in that the processor executable program is for performing the method according to any of claims 1-7 when being executed by a processor.
10. The message pushing system capable of configuring the channel is characterized by comprising a client, a software development kit library and a server, wherein the software development kit library is connected with the client and the server, and the server is connected with the client through a pushing channel; wherein,
the client being adapted to perform the method of any of claims 5-7;
the software development kit library for performing the method of any one of claims 1-4;
the server side is used for sending push information to the client side through an enabling channel in the push channel.
CN202311476874.XA 2023-11-07 2023-11-07 Channel-configurable message pushing method, system, device and storage medium Pending CN117376120A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311476874.XA CN117376120A (en) 2023-11-07 2023-11-07 Channel-configurable message pushing method, system, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311476874.XA CN117376120A (en) 2023-11-07 2023-11-07 Channel-configurable message pushing method, system, device and storage medium

Publications (1)

Publication Number Publication Date
CN117376120A true CN117376120A (en) 2024-01-09

Family

ID=89392777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311476874.XA Pending CN117376120A (en) 2023-11-07 2023-11-07 Channel-configurable message pushing method, system, device and storage medium

Country Status (1)

Country Link
CN (1) CN117376120A (en)

Similar Documents

Publication Publication Date Title
US11449955B2 (en) Information processing method and apparatus
US11798107B2 (en) Scenario-based application recommendation method and apparatus
CN108156508B (en) Barrage information processing method and device, mobile terminal, server and system
EP3010262B1 (en) Method for realizing cellphone without card and cellphone
CN112130866A (en) Application deployment method and related device
CN107025574B (en) Promotion information display method and device
CN107463395B (en) Component calling method and device
CN114124924A (en) Method, equipment and system for determining configuration information
CN110196662B (en) Method, device, terminal and storage medium for displaying synchronization state
CN115065609A (en) B-end SaaS system hybrid deployment method and system
CN106209601B (en) State update message pushing method and device
CN108234275B (en) Method and device for releasing communication information
CN117376120A (en) Channel-configurable message pushing method, system, device and storage medium
CN109002535B (en) Data updating method and device
CN113852450A (en) Message push feedback method and device, electronic equipment and storage medium
CN106681845B (en) Method and device for managing communication messages
CN111274463A (en) Information display method and device based on IM contact person grouping setting and storage medium
CN111367502A (en) Numerical value processing method and device
CN112667868A (en) Data detection method and device
CN115225966B (en) Application starting method, device, terminal equipment and storage medium
CN113821276B (en) Custom service management method and related device
CN112799857B (en) Application access method, device, terminal and storage medium
CN116431664A (en) Business report display method and device, electronic equipment and storage medium
CN116938855A (en) Cross-application data management method and device, electronic equipment and storage medium
CN115373865A (en) Concurrent thread management method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination