CN113850633B - Information pushing method and device - Google Patents

Information pushing method and device Download PDF

Info

Publication number
CN113850633B
CN113850633B CN202111435754.6A CN202111435754A CN113850633B CN 113850633 B CN113850633 B CN 113850633B CN 202111435754 A CN202111435754 A CN 202111435754A CN 113850633 B CN113850633 B CN 113850633B
Authority
CN
China
Prior art keywords
application
information
identifier
server
information identifier
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.)
Active
Application number
CN202111435754.6A
Other languages
Chinese (zh)
Other versions
CN113850633A (en
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111435754.6A priority Critical patent/CN113850633B/en
Publication of CN113850633A publication Critical patent/CN113850633A/en
Application granted granted Critical
Publication of CN113850633B publication Critical patent/CN113850633B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement

Abstract

The embodiment of the application provides an information pushing method and device, which are applied to an information pushing system, wherein the information pushing system comprises a terminal device, a first application and a second application are loaded in the terminal device, when the terminal device receives an information service opening request at the first application and the first application determines that an information service domain name is an information service domain name of the second application, the terminal device can obtain a first connection identifier, and the first connection identifier is related to the information identifier of the first application and the information service domain name of the second application, so that the connection identifiers obtained by the terminal device are different for different other applications needing information pushing, the possibility that a plurality of applications accurately obtain user portraits can be reduced, the privacy of the user can be protected, and when the terminal device obtains the content corresponding to the information identifier of the second application according to the first connection identifier, the terminal device can push the content corresponding to the information identifier of the second application in the first application.

Description

Information pushing method and device
Technical Field
The present application relates to the field of terminal technologies, and in particular, to an information push method and apparatus.
Background
With the development of internet technology, users can install different types of applications on terminal devices, and generally, when a user opens an application, the user can see pushed information in the application.
In a possible implementation, when displaying information pushed by an application on a terminal device, the terminal device needs to provide an information identifier to the application, so that the application can send the pushed information to the terminal device through the information identifier, and then the terminal device displays the pushed information.
However, when the terminal device displays information pushed by a plurality of applications, the information identifiers provided by the terminal device to the plurality of applications are the same, and thus, when the plurality of applications perform joint operation to display respective information, the plurality of applications may generate a user image based on the same information identifier, thereby revealing user privacy.
Disclosure of Invention
The embodiment of the application provides an information pushing method and device, relates to the technical field of terminals, and is applied to an information pushing system, wherein the information pushing system comprises a terminal device, a first application and a second application are loaded in the terminal device, when the terminal device receives an information service opening request at the first application and the first application determines that an information service domain name is an information service domain name of the second application, the terminal device can obtain a first connection identifier, and the first connection identifier is related to the information identifier of the first application and the information service domain name of the second application, so that the connection identifiers obtained by the terminal device are different for different other applications needing information pushing, thereby reducing the possibility that a plurality of applications accurately obtain user portraits and protecting user privacy, and therefore, the terminal device can obtain the user portraits image according to the first connection identifier, when the content corresponding to the information identifier of the second application is acquired, the terminal device may push the content corresponding to the information identifier of the second application in the first application.
In a first aspect, an embodiment of the present application provides an information pushing method, which is applied to an information pushing system, where the information pushing system includes a terminal device, and a first application and a second application are loaded in the terminal device, and the method includes: the method comprises the steps that when a terminal device receives an information service opening request and a first application determines that an information service domain name is an information service domain name of a second application, a first connection identifier is obtained; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information; the terminal equipment acquires the content corresponding to the information identifier of the second application according to the first connection identifier; and the terminal equipment pushes the content corresponding to the information identifier of the second application in the first application. Therefore, connection identifiers acquired by the terminal equipment are different for different other applications needing information pushing, so that the possibility that a plurality of applications accurately obtain the portrait of the user can be reduced, and the privacy of the user is protected.
In a possible implementation manner, the information pushing system further includes a first server, a second server, and a third server, where the first server is used to serve the first application, and the second server is used to serve the second application; the terminal equipment acquires the content corresponding to the information identifier of the second application according to the first connection identifier, and the method comprises the following steps: the terminal device sends a first connection identifier to a second application based on the first application, and the terminal device sends the first connection identifier and an information identifier of the second application to a second server based on the second application, so that the second server obtains the information identifier corresponding to the first connection identifier from a third server according to the first connection identifier, and sends the information identifier corresponding to the first connection identifier and content corresponding to the information identifier of the second application to the first server; wherein the information identifier of the second application is used for pushing information by the second application; the information identifier of the second application is different from the information identifier of the first application; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, the terminal equipment obtains the content corresponding to the information identifier of the second application from the first server based on the first application. In this way, when the terminal device obtains the content corresponding to the information identifier of the second application based on the first application, the terminal device may push the content corresponding to the information identifier of the second application in the first application, so that the user may see the pushed content corresponding to the information identifier of the second application in the first application.
In a possible implementation manner, when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the obtaining, by the terminal device, the first connection identifier includes: the method comprises the steps that when a first application receives an information service opening request and the first application determines that an information service domain name is an information service domain name of a second application, a terminal device sends an information identifier of the first application to a first server; the terminal equipment acquires a service key from a first server; and the terminal equipment calculates to obtain the first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application. Therefore, the terminal equipment can obtain different connection identifiers aiming at different information service domain names, so that different applications can push content in the first application based on the corresponding connection identifiers, the possibility that different applications accurately obtain user portraits based on the first application is reduced, and the user privacy is protected.
In a possible implementation manner, the calculating, by the terminal device, the first connection identifier according to the service key, the information identifier of the first application, and the information service domain name of the second application includes: the terminal equipment inputs a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm based on the first application to obtain a first key; the terminal equipment inputs a first key and a splicing result of an information identifier of the first application and an information service domain name of a second application based on an Advanced Encryption Standard (AES) encryption algorithm of the first application to obtain a calculation result; and the terminal equipment performs splicing operation on the calculation result and the information service domain name of the second application based on the first application to obtain a first connection identifier. In this way, the terminal device may obtain the first connection identifier based on the hash operation message authentication code HMAC algorithm and the AES encryption algorithm, so that the terminal device may send the first connection identifier to the second application based on the first application.
In a possible implementation manner, when a first application receives an information service opening request and the first application determines that an information service domain name is an information service domain name of a second application, a terminal device sends an information identifier of the first application to a first server, including: when the terminal equipment receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the terminal equipment acquires the information identifier of the first application according to the first storage position; the terminal device sends an information identifier of the first application to the first server based on the first application. In this way, when the first server obtains the information identifier of the first application, on one hand, the first server may store the information identifier of the first application so that the first server may use the information identifier of the first application at any time, and on the other hand, the first server may send the service key to the first application so that the terminal device may obtain the first connection identifier based on the first application when the first application receives the service key.
In a possible implementation manner, the acquiring, by the terminal device, the information identifier of the first application according to the first storage location includes: when the first storage position does not store the information identifier of the first application, the terminal equipment generates the information identifier of the first application based on the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is less than a first value, the terminal device acquires the information identifier of the first application from the first storage position based on the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is greater than or equal to a first value, the terminal device updates the information identifier of the first application in the first storage position based on the first application; the terminal device acquires an information identifier of the first application from the first storage location based on the first application. In this way, the terminal device can make it possible for the terminal device to acquire the information identifier of the first application based on the first application, according to the information identifier of the first application in the first storage location.
In one possible implementation manner, the generating, by the terminal device, the information identifier of the first application based on the first application includes: the terminal equipment inputs the name and the second value of the first application based on the first application secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number; the terminal equipment inputs a hash value in a UUIDSTringSigBits function based on the first application to obtain a third value and a fourth value; and the terminal equipment inputs the third value and the fourth value into a java.util.UUID function based on the first application to obtain the information identifier of the first application. In this way, since the information identifier of the first application is related to the name of the first application, different applications can generate different information identifiers, so that when different applications in the terminal device push information, the possibility that the privacy of the user in the terminal device is tracked by different applications is reduced.
In one possible implementation manner, the method further includes: the terminal equipment acquires a second connection identifier when the first application receives an information pushing request of a third application; the second connection identifier is related to the information identifier of the first application and the third application; the second connection identifier is different from the first connection identifier; the terminal equipment acquires the content corresponding to the information identifier of the third application according to the second connection identifier; and the terminal equipment pushes the content corresponding to the information identifier of the third application in the first application. Therefore, connection identifiers acquired by the terminal equipment are different for different other applications needing information pushing, so that the possibility that a plurality of applications accurately obtain the portrait of the user can be reduced, and the privacy of the user is protected.
In a second aspect, an embodiment of the present application provides an information pushing method, which is applied to an information pushing system, where the information pushing system includes a terminal device, a first server, a second server, and a third server, a first application and a second application are loaded in the terminal device, the first server is used to serve the first application, and the second server is used to serve the second application, and the method includes: when a first application receives an information service opening request and the first application determines that an information service domain name is an information service domain name of a second application, the first application acquires a first connection identifier; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information; the first application acquires the content corresponding to the information identifier of the second application according to the first connection identifier; the first application pushes the content corresponding to the information identifier of the second application. Therefore, connection identifiers acquired by the first application are different for different other applications needing information pushing, so that the possibility that a user portrait is accurately obtained through the first application can be reduced, and the privacy of the user is protected.
In a possible implementation manner, the acquiring, by the first application, the content corresponding to the information identifier of the second application according to the first connection identifier includes: the first application sends a first connection identifier to the second application; the second application sends the first connection identifier and the information identifier of the second application to the second server; the information identifier of the second application is used for pushing information by the second application, and the information identifier of the second application is different from the information identifier of the first application; the second server sends the first connection identifier to the third server; the third server obtains an information identifier corresponding to the first connection identifier according to the first connection identifier; the third server sends an information identifier corresponding to the first connection identifier to the second server; the second server sends the information identifier corresponding to the first connection identifier and the content corresponding to the information identifier of the second application to the first server; under the condition that the first server receives a starting request of a first application and the first server judges that an information identifier corresponding to a first connection identifier is matched with an information identifier of the first application, the first server sends content corresponding to an information identifier of a second application to the first application; the first application obtains the content corresponding to the information identifier of the second application. In this way, when the first application obtains the content corresponding to the information identifier of the second application, the first application can push the content corresponding to the information identifier of the second application, so that the user can see the pushed content corresponding to the information identifier of the second application in the first application.
In a possible implementation manner, the obtaining, by the third server, the information identifier corresponding to the first connection identifier according to the first connection identifier includes: the third server intercepts the first connection identifier to obtain an information service domain name of the second application; the third server acquires the service key from the first server; the third server inputs the service key and the information service domain name of the second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key; the third server inputs the first key and the identifier of the second application after the information service domain name of the second application is cut off by the first connection identifier in the advanced encryption standard AES decryption algorithm to obtain a splicing result of the information identifier corresponding to the first connection identifier and the information service domain name of the second application; and when the information service domain name of the second application in the splicing result is matched with the information service domain name of the second application obtained after the interception operation is carried out on the first connection identifier, the third server obtains the information identifier corresponding to the first connection identifier from the splicing result. In this way, since the third server is a trusted server, when the third server obtains the information identifier corresponding to the first connection identifier, the third server does not transmit the information identifier corresponding to the first connection identifier to another server, but transmits the information identifier corresponding to the first connection identifier to the second server, thereby reducing the possibility of constructing a user representation between the servers.
In a possible implementation manner, when the first server receives a start request of a first application and the first server determines that an information identifier corresponding to the first connection identifier matches an information identifier of the first application, the sending, by the first server, content corresponding to an information identifier of a second application to the first application includes: the first server acquires the information identifier of the first application according to the second storage position; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, the first server sends the content corresponding to the information identifier of the second application to the first application. In this way, the first server can reduce the possibility of pushing the content irrelevant to the content corresponding to the information identifier of the second application in the first application by judging the flow, so that the content can be accurately recommended in the first application.
In a possible implementation manner, the obtaining, by the first server, the information identifier of the first application according to the second storage location includes: when the first server judges that the storage duration of the information identifier of the first application in the second storage position is smaller than a fifth value, the first server acquires the information identifier of the first application from the second storage position; or when the first server judges that the storage time of the information identifier of the first application in the second storage position is greater than or equal to a fifth value, the first server updates the information identifier of the first application in the second storage position based on the first application; the first server obtains the information identifier of the first application from the second storage location. In this way, the first server may obtain the information identifier of the first application according to the information identifier of the first application in the second storage location, so that in a case where the information identifier corresponding to the first connection identifier matches the information identifier of the first application, the first server may send the content corresponding to the information identifier of the second application to the first application, so that the first application may push the content corresponding to the information identifier of the second application.
In a possible implementation manner, when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the obtaining, by the first application, the first connection identifier includes: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the first application sends an information identifier of the first application to the first server; the first application acquires a service key from a first server; and the first application calculates to obtain a first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application. Therefore, the first connection identifier is related to the information service domain name of the second application, and therefore the first application can obtain different connection identifiers according to different information service domain names, so that different applications can push content in the first application based on the corresponding connection identifiers, the possibility that different applications accurately obtain user portraits is reduced, and user privacy is protected.
In a possible implementation manner, the calculating, by the first application, the first connection identifier according to the service key, the information identifier of the first application, and the information service domain name of the second application includes: the first application inputs a service key and an information service domain name of the second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key; the first application inputs a first key and a splicing result of an information identifier of the first application and an information service domain name of a second application in an Advanced Encryption Standard (AES) encryption algorithm to obtain a calculation result; and the first application carries out splicing operation on the calculation result and the information service domain name of the second application to obtain a first connection identifier. In this way, the first application may derive the first connection identifier based on the hash message authentication code HMAC algorithm and the AES encryption algorithm, such that the first application may send the first connection identifier to the second application.
In a possible implementation manner, when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the sending, by the first application, the information identifier of the first application to the first server includes: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the first application acquires an information identifier of the first application according to the first storage position; the first application sends an information identifier of the first application to the first server. In this way, when the first server obtains the information identifier of the first application, on one hand, the first server may store the information identifier of the first application so that the first server may use the information identifier of the first application at any time, and on the other hand, the first server may send the service key to the first application so that the first application may obtain the first connection identifier based on the service key.
In one possible implementation manner, the obtaining, by the first application, the information identifier of the first application according to the first storage location includes: when the first storage position does not store the information identifier of the first application, the first application generates the information identifier of the first application; or when the first storage location comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage location is less than a first value, the first application acquires the information identifier of the first application from the first storage location; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is greater than or equal to a first value, the first application updates the information identifier of the first application in the first storage position; the first application retrieves an information identifier of the first application from a first storage location. In this way, the first application may obtain the information identifier of the first application based on the information identifier of the first application in the first storage location.
In one possible implementation, the first application generating an information identifier of the first application includes: the first application inputs the name and the second value of the first application in a secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number; the first application inputs a hash value in a UUIDStringSigBits function to obtain a third value and a fourth value; and the first application inputs the third value and the fourth value into a java.util.UUID function to obtain the information identifier of the first application. In this way, since the information identifier of the first application is related to the name of the first application, different applications can generate different information identifiers, so that when different applications in the terminal device push information, the possibility that the privacy of the user in the terminal device is tracked by different applications is reduced.
In one possible implementation manner, the method further includes: when the first application receives an information pushing request of a third application, the first application acquires a second connection identifier; the second connection identifier is related to the information identifier of the first application and the third application; the second connection identifier is different from the first connection identifier; the first application acquires the content corresponding to the information identifier of the third application according to the second connection identifier; the first application pushes the content corresponding to the information identifier of the third application. Therefore, connection identifiers acquired by the first application are different for different other applications needing information pushing, so that the possibility that a plurality of applications accurately obtain the user portrait can be reduced, and the privacy of the user is protected.
In a third aspect, an embodiment of the present application provides an information pushing apparatus, which is applied to an information pushing system, where the information pushing system includes a terminal device, and the terminal device is loaded with a first application and a second application, and the apparatus includes a first processing unit.
Illustratively, the first processing unit is configured to obtain the first connection identifier when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information; the first processing unit is further used for acquiring content corresponding to the information identifier of the second application according to the first connection identifier; the first processing unit is further used for pushing the content corresponding to the information identifier of the second application in the first application.
In a possible implementation manner, the information pushing system further includes a first server, a second server, and a third server, where the first server is used to serve the first application, and the second server is used to serve the second application; the first processing unit is specifically configured to: sending the first connection identifier and the information identifier of the second application to a second server based on the second application, wherein the information identifier corresponding to the first connection identifier is obtained by the second server from a third server according to the first connection identifier, so that the second server sends the information identifier corresponding to the first connection identifier and the content corresponding to the information identifier of the second application to the first server; wherein the information identifier of the second application is used for pushing information by the second application; the information identifier of the second application is different from the information identifier of the first application; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, obtaining the content corresponding to the information identifier of the second application from the first server based on the first application.
In a possible implementation manner, the first processing unit is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, sending an information identifier of the first application to the first server; acquiring a service key from a first server; and calculating to obtain the first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application.
In a possible implementation manner, the first processing unit is specifically configured to: inputting a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm based on a first application to obtain a first key; inputting a first key and a splicing result of an information identifier of the first application and an information service domain name of a second application based on the advanced encryption standard AES encryption algorithm of the first application to obtain a calculation result; and performing splicing operation on the calculation result and the information service domain name of the second application based on the first application to obtain a first connection identifier.
In a possible implementation manner, the first processing unit is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, acquiring an information identifier of the first application according to the first storage position; an information identifier of the first application is sent to the first server based on the first application.
In a possible implementation manner, the first processing unit is specifically configured to: when the first storage location does not store the information identifier of the first application, generating the information identifier of the first application based on the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is less than a first value, acquiring the information identifier of the first application from the first storage position based on the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is greater than or equal to a first value, updating the information identifier of the first application in the first storage position based on the first application; an information identifier of a first application is retrieved from a first storage location based on the first application.
In a possible implementation manner, the first processing unit is specifically configured to: inputting the name and the second value of the first application based on the first application secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number; inputting a hash value in a UUIDStringSigBits function based on the first application to obtain a third value and a fourth value; and inputting the third value and the fourth value into a java.util.UUID function based on the first application to obtain the information identifier of the first application.
In one possible implementation manner, the first processing unit is further configured to: when the first application receives an information pushing request of a third application, acquiring a second connection identifier; the second connection identifier is related to the information identifier of the first application and the third application; the second connection identifier is different from the first connection identifier; acquiring content corresponding to the information identifier of the third application according to the second connection identifier; and pushing the content corresponding to the information identifier of the third application in the first application.
In a fourth aspect, an embodiment of the present application provides an information pushing apparatus, which is applied to an information pushing system, where the information pushing system includes a terminal device, a first server, a second server, and a third server, the terminal device is loaded with a first application and a second application, the first server is used to serve the first application, and the second server is used to serve the second application, and the apparatus includes a second processing unit.
Illustratively, the second processing unit is configured to obtain the first connection identifier when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information; the second processing unit is further used for acquiring content corresponding to the information identifier of the second application according to the first connection identifier; and the second processing unit is further used for pushing the content corresponding to the information identifier of the second application.
In a possible implementation manner, the second processing unit is specifically configured to: sending the first connection identifier and the information identifier of the second application to the second server; the information identifier of the second application is used for pushing information by the second application, and the information identifier of the second application is different from the information identifier of the first application; sending the first connection identifier to a third server; obtaining an information identifier corresponding to the first connection identifier according to the first connection identifier; sending an information identifier corresponding to the first connection identifier to a second server; sending an information identifier corresponding to the first connection identifier and content corresponding to the information identifier of the second application to the first server; under the condition that the first server receives a starting request of a first application and the first server judges that an information identifier corresponding to a first connection identifier is matched with an information identifier of the first application, sending content corresponding to an information identifier of a second application to the first application; and obtaining the content corresponding to the information identifier of the second application.
In a possible implementation manner, the second processing unit is specifically configured to: intercepting the first connection identifier to obtain an information service domain name of the second application; acquiring a service key from a first server; inputting a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key; inputting a first key and an identifier of a first connection identifier after intercepting the information service domain name of the second application in an Advanced Encryption Standard (AES) decryption algorithm to obtain a splicing result of the information identifier corresponding to the first connection identifier and the information service domain name of the second application; and when the information service domain name of the second application in the splicing result is matched with the information service domain name of the second application obtained after the interception operation is carried out on the first connection identifier, obtaining the information identifier corresponding to the first connection identifier from the splicing result.
In a possible implementation manner, the second processing unit is specifically configured to: acquiring an information identifier of the first application according to the second storage position; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, sending content corresponding to the information identifier of the second application to the first application.
In a possible implementation manner, the second processing unit is specifically configured to: when the first server judges that the storage duration of the information identifier of the first application in the second storage position is smaller than a fifth value, the information identifier of the first application is obtained from the second storage position; or when the first server judges that the storage time of the information identifier of the first application in the second storage position is greater than or equal to a fifth value, updating the information identifier of the first application in the second storage position based on the first application; an information identifier of the first application is retrieved from the second storage location.
In a possible implementation manner, the second processing unit is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, sending an information identifier of the first application to the first server; acquiring a service key from a first server; and calculating to obtain the first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application.
In a possible implementation manner, the second processing unit is specifically configured to: inputting a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key; inputting a first key and a splicing result of an information identifier of a first application and an information service domain name of a second application in an Advanced Encryption Standard (AES) encryption algorithm to obtain a calculation result; and performing splicing operation on the calculation result and the information service domain name of the second application to obtain a first connection identifier.
In a possible implementation manner, the second processing unit is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, acquiring an information identifier of the first application according to the first storage position; an information identifier of the first application is sent to the first server.
In a possible implementation manner, the second processing unit is specifically configured to: when the first storage position does not store the information identifier of the first application, generating the information identifier of the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is less than a first value, acquiring the information identifier of the first application from the first storage position; or when the first storage position comprises the information identifier of the first application and the storage time of the first information identifier of the first application in the first storage position is greater than or equal to a first value, the information identifier of the first application in the first storage position is updated; an information identifier of a first application is retrieved from a first storage location.
In a possible implementation manner, the second processing unit is specifically configured to: inputting the name and the second value of the first application in a secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number; inputting a hash value in a UUIDSTringSigBits function to obtain a third value and a fourth value; and inputting the third value and the fourth value into a java.util.uuid function to obtain the information identifier of the first application.
In a possible implementation manner, the second processing unit is further configured to: when the first application receives an information pushing request of a third application, acquiring a second connection identifier; the second connection identifier is related to the information identifier of the first application and the third application; the second connection identifier is different from the first connection identifier; acquiring content corresponding to the information identifier of the third application according to the second connection identifier; and pushing the content corresponding to the information identifier of the third application.
In a fifth aspect, an embodiment of the present application provides an information pushing apparatus, including a processor and a memory, where the memory is used to store code instructions, and the processor is used to execute the code instructions to perform the method described in the first aspect or any one of the possible implementations of the first aspect, and to perform the method described in the second aspect or any one of the possible implementations of the second aspect.
In a sixth aspect, embodiments of the present application provide a computer-readable storage medium, in which a computer program or instructions are stored, which, when run on a computer, cause the computer to perform the method described in the first aspect or any one of the possible implementations of the first aspect, and cause the computer to perform the method described in the second aspect or any one of the possible implementations of the second aspect.
In a seventh aspect, the present application provides a computer program product including a computer program, which when run on a computer causes the computer to execute the method described in the first aspect or any one of the possible implementations of the first aspect, and causes the computer to execute the method described in the second aspect or any one of the possible implementations of the second aspect.
In an eighth aspect, an embodiment of the present application provides an information pushing system, where the system includes: the apparatus described in the third aspect and in various possible implementations of the third aspect, and the apparatus described in the fourth aspect and in various possible implementations of the fourth aspect.
In a ninth aspect, the present application provides a chip or a chip system, where the chip or the chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected by a line, and the at least one processor is configured to execute a computer program or instructions to perform the method described in the first aspect or any one of the possible implementations of the first aspect, and to perform the method described in the second aspect or any one of the possible implementations of the second aspect; the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
In one possible implementation, the chip or chip system described above in this application further comprises at least one memory having instructions stored therein. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or may be a storage unit of the chip (e.g., a read-only memory, a random access memory, etc.).
It should be understood that the second aspect to the ninth aspect of the present application correspond to the technical solutions of the first aspect of the present application, and the beneficial effects achieved by the aspects and the corresponding possible implementations are similar and will not be described again.
Drawings
Fig. 1 is a schematic diagram of an interface for setting an open anonymous device identifier (OAID) according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram of a hardware structure of a terminal device according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of a software structure of a terminal device according to an embodiment of the present application;
fig. 4 is a schematic flowchart of an information pushing method according to an embodiment of the present application;
fig. 5 is a schematic diagram illustrating a first server obtaining an information identifier of a first application according to an embodiment of the present application;
fig. 6a is a schematic flowchart of an information pushing method according to an embodiment of the present application;
fig. 6b is a schematic flowchart of an information pushing method according to an embodiment of the present application;
fig. 7 is a schematic diagram of an information pushing method according to an embodiment of the present application;
fig. 8 is a schematic diagram of an information pushing method according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of an information pushing apparatus according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of an information pushing apparatus according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a chip according to an embodiment of the present application.
Detailed Description
In the embodiments of the present application, terms such as "first" and "second" are used to distinguish the same or similar items having substantially the same function and action. For example, the first chip and the second chip are only used for distinguishing different chips, and the sequence order thereof is not limited. Those skilled in the art will appreciate that the terms "first," "second," etc. do not denote any order or quantity, nor do the terms "first," "second," etc. denote any order or importance.
It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
In the embodiments of the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
With the development of internet technology, users can install different types of applications on terminal devices, and generally, when a user opens an application, the user can see pushed information in the application.
In a possible implementation, when the terminal device displays the pushed information in the application, the terminal device needs to provide the same information identifier to the application, so that the application can send the pushed information to the terminal device through the information identifier, and then the terminal device displays the pushed information;
for example, taking an example that a terminal device displays an advertisement in an application, an identifier provided by the terminal device to the application is an OAID, where the terminal device may obtain a Serial Number (SN) and a 64-bit random number, and then the terminal device may calculate and generate a random value in a Universal Unique Identifier (UUID) format according to the SN and the 64-bit random number, where the random value is the OAID, and the OAID may also be referred to as an advertisement identifier.
Since the OAID in the terminal device does not support the periodic resetting, this may cause the terminal device to be continuously tracked, which may further cause the disclosure of the user privacy; if the user manually resets the OAID or closes the OAID in the terminal equipment, the operation is complicated, and the use experience of the user on the terminal equipment is reduced.
Fig. 1 is a schematic interface diagram for setting an OAID according to an embodiment of the present disclosure.
When the terminal device receives an operation of setting the privacy of the terminal device by a user, the terminal device may enter an interface shown as a in fig. 1, and in the interface shown as a in fig. 1, the interface may include a setting tab bar 101 and setting items, for example, the setting items may include one or more of the following: WLAN, bluetooth, mobile network, sound and vibration, application, battery, privacy 102, or other types of settings; wherein WLAN and bluetooth are in an off state.
When a user triggers the privacy 102 through clicking or touching and other operations on the interface shown in a in fig. 1, the terminal device receives the operation of setting the privacy 102 by the user, and the terminal device enters the interface shown in b in fig. 1; the interface shown in b in fig. 1 may include a privacy tab bar 103 and privacy items, for example, the privacy items may include one or more of the following: rights management, advertising and privacy 104, or other types of privacy items.
When the user triggers the advertisement and privacy 104 by clicking or touching the interface shown in b in fig. 1, the terminal device receives the operation of setting the advertisement and privacy 104 by the user, and the terminal device enters the interface shown in c in fig. 1, and in the interface shown in c in fig. 1, the interface may include the advertisement and privacy tag column 105 and the advertisement and privacy items, for example, the advertisement and privacy items may include one or more of the following: restricting ad tracking 106, resetting ad identifiers, more information, and other types of advertising and privacy items; the state of the advertisement tracking 106 is limited to be an open state, so that personalized advertisements provided by all advertisers cannot be displayed on the terminal device, and the personalized advertisements are related to the contents of personal living habits and the like of the user.
When the user wants to display personalized advertisements provided by all advertisers on the terminal device, the user can trigger the restricted advertisement tracking 106 by clicking or touching or the like in the interface shown in c in fig. 1, the terminal device receives the operation of the user triggering the restricted advertisement tracking 106, the terminal device enters the interface shown in d in fig. 1, and the restricted advertisement tracking 106 is in a closed state unlike the interface shown in c in fig. 1.
When the user triggers the further information 108 by clicking or touching the interface shown in d in fig. 1, the terminal device may enter the interface shown in e in fig. 1, and the advertisement identifier is displayed in the interface, wherein the user may also reset the advertisement identifier by resetting the advertisement identifier 107 in the interface shown in e in fig. 1, and the advertisement identifier before being reset is different from the advertisement identifier after being reset, so that the terminal device may be prevented from being continuously tracked.
However, when the terminal device displays information pushed by a plurality of applications, the information identifiers provided by the terminal device to the plurality of applications are the same, and thus, when the plurality of applications perform joint operation to display respective information, the plurality of applications may generate a user image based on the same information identifier, thereby revealing user privacy.
In view of this, embodiments of the present application provide an information pushing method and apparatus, which relate to the field of terminal technologies, and are applied to an information pushing system, where the information pushing system includes a terminal device, where the terminal device is loaded with a first application and a second application, and when the terminal device receives an information service opening request at the first application and the first application determines that an information service domain name is an information service domain name of the second application, the terminal device may obtain a first connection identifier, and since the first connection identifier is related to the information identifier of the first application and the information service domain name of the second application, connection identifiers obtained by the terminal device are different for different other applications that need information pushing, so that the possibility that multiple applications accurately obtain a user portrait can be reduced, thereby protecting user privacy, and thus, according to the first connection identifier, when the content corresponding to the information identifier of the second application is acquired, the terminal device may push the content corresponding to the information identifier of the second application in the first application.
The method of the embodiment of the present application may be applied to an information push system, where the information push system includes a terminal device, for example, fig. 2 is a schematic diagram of a hardware structure of the terminal device provided in the embodiment of the present application, and as shown in fig. 2, the terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a power management module 141, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, a sensor module 180, a key 190, a camera 193, a display screen 194, a user interface 130, a charging management module 140, and the like; among them, the sensor module 180 may include: a pressure sensor 180A, an acceleration sensor 180E, a fingerprint sensor 180H, and a touch sensor 180K, etc.
It should be noted that the illustrated structure of the embodiment of the present application does not constitute a specific limitation to the terminal device 100; it will be appreciated that terminal device 100 may include more or fewer components than illustrated, or combine certain components, or split certain components, or a different arrangement of components; where the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processor (GPU), an Image Signal Processor (ISP), a controller, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc.; the different processing units may be separate devices or may be integrated into one or more processors.
A memory may also be provided in processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 may be a cache memory that may hold instructions or data that have just been used or recycled by the processor 110.
In some embodiments, the processor 110 may include one or more interfaces, which may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit built-in audio (I2S) interface, a Pulse Code Modulation (PCM) interface, and/or a Universal Serial Bus (USB) interface, among others.
The user interface 130 is used for transmitting data between the terminal device 100 and a peripheral device, and may also be used for connecting an earphone and playing audio through the earphone; the user interface 130 may also be used to connect other devices, such as Augmented Reality (AR) devices and the like.
The power management module 141 receives the input of the charging management module 140, and the power management module 141 supplies power to the processor 110, the internal memory 121, the display 194, the camera 193, the wireless communication module 160, and the like.
The wireless communication function of the terminal device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, and the like; wherein the antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. The antennas in terminal device 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example, the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network.
The mobile communication module 150 may provide a solution including wireless communication of 2G/3G/4G/5G, etc. applied to the terminal device 100; the wireless communication module 160 may provide a solution for wireless communication applied to the terminal device 100, including Wireless Local Area Networks (WLANs) (e.g., wireless fidelity (Wi-Fi) networks), bluetooth (bluetooth, BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), and the like.
In some embodiments, the antenna 1 of the terminal 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 terminal 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), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and/or IR technology, etc.
The terminal device 100 realizes a display function through the display screen 194, the display screen 194 is used to display images, videos, and the like, and the display screen 194 includes a display panel. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
The terminal device 100 may implement a shooting function by a camera 193 or the like, and the camera 193 is used to capture a still image or video.
The external memory interface 120 may be used to connect an external memory card to extend the memory capability of the terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function.
The internal memory 121 may be used to store computer-executable program code, which includes instructions. The internal memory 121 may include a program storage area and a data storage area. The storage program area may store an operating system, an application program (such as a sound playing function, an image playing function, etc.) required by at least one function, and the like.
The pressure sensor 180A is used for sensing a pressure signal, and converting the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194.
The acceleration sensor 180E may detect the magnitude of acceleration of the terminal device 100 in various directions (generally, three axes); the fingerprint sensor 180H is used to collect a fingerprint. The terminal device 100 can utilize the collected fingerprint characteristics to realize fingerprint unlocking, access to an application lock, fingerprint photographing, fingerprint incoming call answering and the like.
The touch sensor 180K is also called a "touch device". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is used to detect a touch operation applied thereto or nearby.
In the embodiment of the application, when the user opens the application through the touch screen, the terminal device can display the information pushed by the application through the display screen, and then when the user clicks the information through the touch screen, the terminal device can display the specific content of the information through the display screen, so that the user can conveniently check the information.
Exemplarily, fig. 3 is a schematic diagram of a software structure of a terminal device 100 provided in an embodiment of the present application, and as shown in fig. 3, a layered architecture divides a software system of the terminal device 100 into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface.
In some embodiments, the Android system may be divided into five layers, an application layer (applications), an application framework layer (application framework), an Android runtime (Android runtime), and a system library and kernel layer (kernel).
In a possible manner, the application layer may include a series of application packages, and the application layer runs the application by calling an Application Programming Interface (API) provided by the application framework layer. For example, as shown in FIG. 3, the application package may include a first application, a second application, a calendar, a map, a phone, music, settings, a mailbox, a video, or social applications.
The first application is an application for realizing information push, the second application is an application corresponding to the information pushed in the first application, the third application is an application corresponding to the information pushed in the first application, the second application and the third application are different, specific contents of the first application, the second application and the third application can be set according to an actual application scene, and the embodiment of the application is not limited; the third application is not shown in fig. 3.
In a possible approach, the application framework layer provides APIs and programming frameworks for applications at the application layer. For example, as shown in fig. 3, the application framework layer may include a window manager, a content provider, a resource manager, a view system, an input system, a notification manager, etc., and the application framework layer may also include some predefined functions, etc.
The window manager is used for managing window programs, and can acquire the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like.
The content provider is used to store and retrieve data and make it accessible to applications, for example, data may include browsing history and bookmarks, calls made and received, videos, images, audio or phone books, and the like.
Among other things, the resource manager provides various resources, such as localized strings, icons, pictures, layout files, video files, etc., to the application.
The notification manager enables the application program to display notification information in the status bar, can be used for conveying notification type messages, can automatically disappear after short-time stopping, and does not need user interaction. For example, a notification manager is used to inform download completion, message alerts, and the like. The notification manager may also be a notification that appears in the form of a chart or scroll bar text in the top status bar of the system, e.g., a notification of a background running application, or a notification that appears on the screen in the form of a dialog window, e.g., prompting a text message in the status bar, sounding a prompt tone, vibrating the terminal device 100, flashing an indicator light, etc.
In this embodiment of the application program framework layer, the application program framework layer further includes an information identifier generation module, and the first application, the second application, or the third application can generate different information identifiers through the information identifier generation module, so that the first application, the second application, or the third application can push information through their respective information identifiers.
The Android runtime is used for scheduling and managing an Android system in a possible mode and can comprise a core library and a virtual machine. Wherein, the core library comprises two parts: one part is a function to be called by java language, and the other part is a kernel library of android; the virtual machine is used for executing the functions of object safety and exception management, life cycle management, stack management, thread management, garbage collection and the like.
It should be noted that the application layer and the application framework layer run in the virtual machine, and the virtual machine executes java files of the application layer and the application framework layer as binary files.
In a possible manner, the system library may include a plurality of function modules. For example: surface managers (surface managers), Media Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., OpenGL ES), two-dimensional graphics engines, and the like.
The surface manager is used for managing the display subsystem and providing fusion of two-dimensional and three-dimensional layers for a plurality of application programs; the three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like; the two-dimensional graphic engine is a drawing engine for two-dimensional drawing; the media library supports various commonly used video format playback and recording, audio and still image files, etc., and the media library may support various audio and video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, etc.
In a possible manner, the kernel layer is a layer between hardware and software, and the kernel layer at least includes a display driver, an audio driver, a camera driver, a sensor driver, a motor driver, or the like, which is not limited in this embodiment of the present application.
With reference to the foregoing, exemplarily, fig. 4 is a flowchart of an information pushing method provided in an embodiment of the present application, as shown in fig. 4, the flowchart includes a first application, a first server, a second application, a second server, and a third server, where the first server is used for serving the first application, and the second server is used for serving the second application, as shown in fig. 4, the method may include the following steps:
s401: when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the first application sends the information identifier of the first application to the first server.
In the embodiment of the application, the first server is used for serving the first application, and the information identifier of the first application is used for pushing information of the first application; the specific content of the information identifier of the first application may be set according to an actual application scenario, and the embodiment of the present application is not limited.
The first application receiving the information service opening request can be understood as that when the user opens the first application and sees the recommended information in the first application, the user clicks the information, so that the first application can receive the information service opening request.
In this embodiment of the application, the sending, by the first application, the information identifier of the first application to the first server includes: the first application acquires an information identifier of the first application, and the first application sends the information identifier of the first application to the first server; the obtaining, by the first application, the information identifier of the first application may include the following possible implementation manners:
in a first possible implementation, the first application generates the information identifier of the first application when the first storage location of the first application does not include the information identifier of the first application.
In a second possible implementation manner, when the first storage location of the first application includes the information identifier of the first application, and the storage duration of the first information identifier of the first application in the first storage location is less than a first value, the first application acquires the information identifier of the first application from the first storage location.
In a third possible implementation manner, when the first storage location of the first application includes the information identifier of the first application, and the storage duration of the first information identifier of the first application in the first storage location is greater than or equal to the first value, the first application updates the information identifier of the first application in the first storage location.
The first value may be 10 days or other values, and the specific content of the first value may be set according to an actual application scenario, which is not limited in the embodiment of the present application.
The first application generates an information identifier of the first application, and possible implementation manners are as follows: the first application inputs the name and the second value of the first application in a secure hash algorithm (SHA 256 ), the second value is a random number of 64 bits, the first application can obtain a hash value, the first application inputs the hash value into a uuidstringsigbits function, so that a third value and a fourth value can be obtained, and further, the first application inputs the third value and the fourth value at a service call advertisement ID generation interface, so that an information identifier of the first application can be obtained.
The third value is a first 64-bit value in the UUID value, the third value may be represented as mossigbits, the fourth value is a last 64-bit value in the UUID value, and the fourth value may be represented as leasesigbits.
It is understood that, when the first application generates the information identifier of the first application, the first application may store the information identifier of the first application and a generation time of the information identifier of the first application in a first storage location, on one hand, when the first application needs the information identifier of the first application, the first application may read the information identifier of the first application from the first storage location, and on the other hand, the first application may determine whether to regenerate the information identifier of the first application according to the generation time of the information identifier of the first application.
It will be appreciated that the first server may include an information identifier storage module such that when the first server receives the information identifier for the first application, the first server may store the information identifier for the first application in the second storage location via the information identifier storage module.
It should be noted that, the implementation manner of the first application updating the information identifier of the first application in the first storage location may refer to the implementation manner of the first application generating the information identifier of the first application, and is not described herein again.
With reference to the content of S401, for example, fig. 5 is a schematic diagram of acquiring an information identifier of a first application by a first server according to an embodiment of the present application, as shown in fig. 5, the first application may acquire the information identifier of the first application according to a first storage location, for example, when the first application determines that the first storage location includes the information identifier of the first application and a storage duration of the information identifier of the first application in the first storage location is greater than or equal to a first value, the first application may update the information identifier of the first application in the first storage location and acquire the information identifier of the first application from the first storage location, so that the first application may send the information identifier of the first application to the first server; when the first application judges that the first storage location comprises the information identifier of the first application and the storage duration of the information identifier of the first application in the first storage location is less than a first value, the first application can acquire the information identifier of the first application from the first storage location and send the information identifier of the first application to the first server; when the first application determines that the first storage location does not include the information identifier of the first application, the first application may generate the information identifier of the first application and send the information identifier of the first application to the first server.
It should be noted that, for the implementation manner in which the first application updates the information identifier of the first application in the first storage location, reference may be made to the implementation manner described above, where the first application may generate the information identifier of the first application, and details are not described here again.
For specific implementation of the content described in fig. 5, the above content adaptation description may be referred to, and is not repeated herein.
S402: the first application obtains a traffic key from the first server.
In this embodiment of the application, the service key is used to ensure security of a service running in the first application, for example, the service key may ensure security of information pushed by the first application by other applications, where the service key is preset by the first server, and thus, the first application may obtain the preset service key from the first server.
S403: the first application determines a first connection identifier according to the service key, the information identifier of the first application, and the information service domain name of the second application.
In this embodiment of the present application, a first connection identifier is used by another application to push information in a first application, where the first application determines, according to a service key, an information identifier of the first application, and an information service domain name of a second application, that an implementation manner of the first connection identifier is: the first application inputs a service key and an information service domain name of the second application in a hash-based message authentication code (HMAC) algorithm to obtain a first key, and further, the first application inputs the first key and a splicing result of an information identifier of the first application and the information service domain name of the second application in an Advanced Encryption Standard (AES) encryption algorithm to obtain a calculation result, and the first application performs splicing operation on the calculation result and the information service domain name of the second application to obtain a first connection identifier.
Wherein the first KEY may be represented by KEY1, and the first application getting the first KEY may be represented by: KEY1= HMAC (service KEY, information service domain name of the second application), and the first connection identifier derived by the first application from the first KEY may be expressed as: first connection identifier = information service domain name | AES encryption algorithm of second application (KEY 1, information identifier of first application | information service domain name of second application); where "|" represents a stitching operation.
It can be understood that, when the first application determines the first connection identifier, the first application may call the connection identifier generation interface, and then, the first application may obtain the first connection identifier after performing the above operation by calling the connection identifier generation interface.
S404: the first application sends a request to the second application indicating to launch the second application.
It should be noted that, since the first application and the second application are installed in the terminal device, the first application may send a request for instructing to start the second application through the system of the terminal device, and further, the system of the terminal device may send a request for instructing to start the second application to the second application, so that the second application is in a start state.
S405: the first application sends a first connection identifier to the second application.
It will be appreciated that the first application may send the first connection identifier to the second application through the system of the terminal device.
S406: the second application sends the first connection identifier and an information identifier of the second application to the second server.
In this embodiment of the application, the second server is configured to serve the second application, and an implementation manner in which the second application obtains the information identifier of the second application may refer to content of the information identifier of the first application obtained by the first application, which is not described herein again.
S407: the second server sends the first connection identifier to the third server.
S408: the third server obtains the service key from the first server.
S409: and the third server determines an information identifier corresponding to the first connection identifier according to the first connection identifier and the service key.
In this embodiment of the present application, the third server may be a server of a terminal device operator, and the third server determines, according to the first connection identifier and the service key, an information identifier corresponding to the first connection identifier, where a possible implementation manner is: the third server intercepts the first connection identifier to obtain an information service domain name of the second application; the third server inputs the information service domain name and the service key of the second application in the HMAC algorithm to obtain a first key, the third server inputs the first key in the AES decryption algorithm and the identifier obtained by intercepting the information service domain name of the second application by the first connection identifier to obtain a splicing result of the information identifier corresponding to the first connection identifier and the information service domain name of the second application, and therefore when the information service domain name of the second application in the splicing result is matched with the information service domain name of the second application obtained by intercepting the first connection identifier, the third server obtains the information identifier corresponding to the first connection identifier from the splicing result.
The first KEY may be represented by KEY1, KEY1= HMAC (service KEY, information service domain name of the second application), and the information identifier corresponding to the first connection identifier | the information service domain name of the second application = AES decryption algorithm (KEY 1, identifier obtained by truncating the information service domain name of the second application by the first connection identifier), "|" represents the concatenation operation.
It is understood that the third server includes a three-party operation connection identifier recognition module, so that the third server can recognize the information identifier corresponding to the first connection identifier through the three-party operation connection identifier recognition module.
S410: and the third server sends the information identifier corresponding to the first connection identifier to the second server.
S411: and the second server sends the information identifier corresponding to the first connection identifier and the content corresponding to the information identifier of the second application to the first server.
S412: and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier of the first application is matched with the information identifier corresponding to the first connection identifier, the first server sends the content corresponding to the information identifier of the second application to the first application.
In this embodiment of the application, when the first server receives a start request of the first application and the first server determines that the information identifier of the first application matches the information identifier corresponding to the first connection identifier, the first server sends, to the first application, content corresponding to the information identifier of the second application, where a possible implementation manner is: the first server acquires the information identifier of the first application according to the second storage position; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier of the first application is matched with the information identifier corresponding to the first connection identifier, the first server sends the content corresponding to the information identifier of the second application to the first application.
It can be understood that, since the first server includes the information identifier storage module, the first server may store the information identifier of the first application in the second storage location through the information identifier storage module, so that the first server obtains the information identifier of the first application according to the second storage location, and possible implementations are as follows: when the first server judges that the storage duration of the information identifier of the first application in the second storage position is smaller than a fifth value, the first server acquires the information identifier of the first application from the second storage position; or when the first server judges that the storage time of the information identifier of the first application in the second storage position is greater than or equal to a fifth value, the first server updates the information identifier of the first application in the second storage position based on the first application; the first server obtains the information identifier of the first application from the second storage location.
It should be noted that, the first server updates the information identifier of the first application in the second storage location based on the first application, and it is understood that the first server sends information indicating to send the information identifier of the first application to the first application, the first server obtains the information identifier of the first application from the first application, and stores the obtained information identifier of the first application in the second storage location through the information identifier storage module, so that the first server can update the information identifier of the first application in the second storage location; the information identifier of the first application, which is sent by the first application to the first server, may be newly generated by the first application.
S413: the first application pushes the content corresponding to the information identifier of the second application.
With reference to the contents of S401 to S413, for example, fig. 6a is a schematic flowchart of an information pushing method according to an embodiment of the present application, and as shown in fig. 6a, the contents of fig. 6a may be described as follows:
since the first connection identifier is related to the information identifier of the first application and the information service domain name of the second application, in the process of generating the first connection identifier by the first application, the content may be described as: the first server sets a service key in advance, and the first application can acquire the service key from the first server, so that the first application can calculate the first connection identifier according to the service key, the information identifier of the first application, and the information service domain name of the second application.
Further, the first application may send the first connection identifier to the second application, the second application sends the first connection identifier and the information identifier of the second application to the second server, and the second server sends the first connection identifier to the third server, so that the process of the third server identifying the information identifier corresponding to the first connection identifier may be described as: the third server can identify the information identifier corresponding to the first connection identifier through the three-party operation information identifier identification module, and then the third server sends the information identifier corresponding to the first connection identifier to the second server.
With reference to the content shown in fig. 6a, for example, fig. 6b is a flowchart of an information pushing method according to an embodiment of the present application, as shown in fig. 6b, the second server may send, to the first server, an information identifier corresponding to the first connection identifier and content corresponding to an information identifier of the second application, so that when the first server determines that the information identifier of the first application matches the information identifier corresponding to the first connection identifier, the first server may send, to the first application, content corresponding to the information identifier of the second application, so that the first application may push the content corresponding to the information identifier of the second application.
When the first server determines that the information identifier of the first application matches the information identifier corresponding to the first connection identifier, the first server may send, to the first application, content corresponding to the information identifier of the second application, and a possible implementation manner is as follows:
when the first server judges that the storage duration of the information identifier of the first application in the second storage position is larger than or equal to a fifth value, the first server updates the information identifier of the first application in the second storage position based on the first application, the first server acquires the information identifier of the first application from the second storage position, and when the information identifier of the first application is matched with the information identifier corresponding to the first connection identifier, the first server sends the content corresponding to the information identifier of the second application to the first application, so that the first application can push the content corresponding to the information identifier of the second application.
When the first server judges that the storage duration of the information identifier of the first application in the second storage position is smaller than a fifth value, the first server acquires the information identifier of the first application from the second storage position, and when the information identifier of the first application is matched with the information identifier corresponding to the first connection identifier, the first server sends the content corresponding to the information identifier of the second application to the first application, so that the first application can push the content corresponding to the information identifier of the second application.
It can be understood that when the first application resets the information identifier, the first application can use the reset information identifier to perform information pushing at the next time, and the risk of being continuously tracked can be reduced.
The specific implementation of the contents shown in fig. 6a and fig. 6b may refer to the foregoing adaptive description, and will not be described again here.
With reference to the contents shown in fig. 4, fig. 5, fig. 6a, and fig. 6b, for example, fig. 7 is a schematic diagram of an information pushing method provided in the embodiment of the present application, and the contents shown in fig. 7 may refer to the foregoing adaptive description, and are not repeated herein.
It is understood that the above is exemplified by pushing content in the second application in the first application, wherein the first application sends the second application a first connection identifier, the first connection identifier is determined by the first application based on the information identifier of the first application, the service key and the information service domain name of the second application, and therefore, when the first application pushes information of the third application, the second connection identifier sent by the first application to the third application is different from the first connection identifier, and the second connection identifier is related to the information identifier of the first application, the service key and the information service domain name of the third application.
Based on the embodiment shown in fig. 7, exemplarily, fig. 8 is a schematic diagram of an information pushing method provided in the embodiment of the present application, as shown in fig. 8, a fourth server is configured to serve a third application, and when a first application receives an information pushing request of the third application, the first application may determine a second connection identifier according to a service key, an information identifier of the first application, and an information service domain name of the third application, where a possible implementation manner is:
the first application inputs a service key and an information service domain name of a third application in an HMAC algorithm to obtain a second key, and then the first application inputs the second key and a splicing result of an information identifier of the first application and the information service domain name of the third application in an AES encryption algorithm to obtain a sixth value, and then the first application performs splicing operation on the sixth value and the information service domain name of the third application to obtain a second connection identifier; the information identifier of the third application is obtained by the third application through the information identifier generation module, and the implementation manner of obtaining the information identifier of the third application by the third application may refer to the implementation manner of obtaining the information identifier of the first application by the first application, which is not described herein again.
Further, the first application may send a second connection identifier to the third application, the third application may send the second connection identifier and the information identifier of the third application to the fourth server, and the fourth server may send the second connection identifier to the third server, so that the third server may recognize the information identifier corresponding to the second connection identifier and send the information identifier corresponding to the second connection identifier to the fourth server through the three-party operation information identifier recognition module, further, the fourth server may send the information identifier corresponding to the second connection identifier and the content corresponding to the information identifier of the third application to the first server, and when the first server determines that the storage duration of the information identifier of the first application in the second storage location is greater than or equal to a seventh value, the first server updates the information identifier of the first application in the second storage location based on the first application, the first server acquires the information identifier of the first application from the second storage position, and when the information identifier of the first application is matched with the information identifier corresponding to the second connection identifier, the first server sends the content corresponding to the information identifier of the third application to the first application, so that the first application can push the content corresponding to the information identifier of the third application; or when the first server judges that the storage duration of the information identifier of the first application in the second storage location is less than the seventh value, the first server acquires the information identifier of the first application from the second storage location, and when the information identifier of the first application is matched with the information identifier corresponding to the second connection identifier, the first server sends the content corresponding to the information identifier of the third application to the first application, so that the first application can push the content corresponding to the information identifier of the third application.
The third server may refer to the content adaptation description of the third server identifying the information identifier corresponding to the first connection identifier, which is not described herein again.
The processes among the first application, the first server, the second application, the second server, and the third server may refer to the foregoing adaptive description, and are not described herein again.
In combination with the above, it should be noted that the above-described information may include advertisements, videos, or pictures, etc., so that the first application may push the advertisements, videos, or pictures of the second application or the third application; it can be understood that the specific content of the information may be set according to an actual application scenario, and the embodiment of the present application is not limited.
With the above, it can be understood that the method provided by the embodiment of the present application may generate different information identifiers for different applications, so as to implement services of different applications, and when the information identifier is determined to be expired, the information identifier may be reset, so as to reduce the possibility that the terminal device is continuously tracked, and when information of other applications is pushed on an application, connection identifiers that should be generated are different for different other applications that need to push information, so as to reduce the possibility that a plurality of applications accurately obtain a user portrait, thereby protecting the privacy of the user.
The information push method according to the embodiment of the present application has been described above, and the following describes an apparatus for performing the information push method according to the embodiment of the present application. Those skilled in the art can understand that the method and the apparatus can be combined and referred to each other, and the information pushing apparatus provided in the embodiments of the present application can perform the steps in the information pushing described above.
Fig. 9 is a schematic structural diagram of an information pushing apparatus according to an embodiment of the present application, and as shown in fig. 9, the apparatus 900 includes: a first processing unit 901, wherein the first processing unit 901 is configured to support the information pushing device to execute the steps of information processing.
Illustratively, the first processing unit 901 is configured to obtain a first connection identifier when the first application receives an information service opening request and the first application determines that the information service domain name is an information service domain name of the second application; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information; the first processing unit 901 is further configured to obtain, according to the first connection identifier, content corresponding to the information identifier of the second application; the first processing unit 901 is further configured to push, in the first application, content corresponding to the information identifier of the second application.
In a possible implementation manner, the information pushing system further includes a first server, a second server, and a third server, where the first server is used to serve the first application, and the second server is used to serve the second application; the first processing unit 901 is specifically configured to: sending a first connection identifier to a second application based on a first application; sending the first connection identifier and the information identifier of the second application to a second server based on the second application, wherein the information identifier corresponding to the first connection identifier is obtained by the second server from a third server according to the first connection identifier, so that the second server sends the information identifier corresponding to the first connection identifier and the content corresponding to the information identifier of the second application to the first server; wherein the information identifier of the second application is used for pushing information by the second application; the information identifier of the second application is different from the information identifier of the first application; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, obtaining the content corresponding to the information identifier of the second application from the first server based on the first application.
In a possible implementation manner, the first processing unit 901 is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, sending an information identifier of the first application to the first server; acquiring a service key from a first server; and calculating to obtain the first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application.
In a possible implementation manner, the first processing unit 901 is specifically configured to: inputting a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm based on a first application to obtain a first key; inputting a first key and a splicing result of an information identifier of the first application and an information service domain name of a second application based on the advanced encryption standard AES encryption algorithm of the first application to obtain a calculation result; and performing splicing operation on the calculation result and the information service domain name of the second application based on the first application to obtain a first connection identifier.
In a possible implementation manner, the first processing unit 901 is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, acquiring an information identifier of the first application according to the first storage position; an information identifier of the first application is sent to the first server based on the first application.
In a possible implementation manner, the first processing unit 901 is specifically configured to: when the first storage location does not store the information identifier of the first application, generating the information identifier of the first application based on the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is less than a first value, acquiring the information identifier of the first application from the first storage position based on the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is greater than or equal to a first value, updating the information identifier of the first application in the first storage position based on the first application; an information identifier of a first application is retrieved from a first storage location based on the first application.
In a possible implementation manner, the first processing unit 901 is specifically configured to: inputting the name and the second value of the first application based on the first application secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number; inputting a hash value in a UUIDStringSigBits function based on the first application to obtain a third value and a fourth value; and inputting the third value and the fourth value into a java.util.UUID function based on the first application to obtain the information identifier of the first application.
In a possible implementation manner, the first processing unit 901 is further configured to: when the first application receives an information pushing request of a third application, acquiring a second connection identifier; the second connection identifier is related to the information identifier of the first application and the third application; the second connection identifier is different from the first connection identifier; sending, by the first application, the second connection identifier to a third application; acquiring content corresponding to the information identifier of the third application according to the second connection identifier; and pushing the content corresponding to the information identifier of the third application in the first application.
In a possible embodiment, the information pushing apparatus may further include: a first memory cell 902. The first processing unit 901 and the first storage unit 902 are connected via a communication bus.
The first storage unit 902 may include one or more memories, which may be devices in one or more devices or circuits for storing programs or data.
The first storage unit 902 can exist independently and is connected with the first processing unit 901 of the information pushing device through a communication bus; the first storage unit 902 may also be integrated with the first processing unit 901.
The information pushing apparatus may be used in an information pushing device, a circuit, a hardware component, or a chip.
Fig. 10 is a schematic structural diagram of an information pushing apparatus according to an embodiment of the present application, and as shown in fig. 10, the apparatus 1000 includes: a second processing unit 1001, wherein the second processing unit 1001 is configured to support the information pushing device to perform the step of information processing.
Illustratively, the second processing unit 1001 is configured to obtain the first connection identifier when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information; the second processing unit 1001 is further configured to obtain, according to the first connection identifier, content corresponding to the information identifier of the second application; the second processing unit 1001 is further configured to push content corresponding to the information identifier of the second application.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: sending the first connection identifier to the second application; sending the first connection identifier and the information identifier of the second application to the second server; the information identifier of the second application is used for pushing information by the second application, and the information identifier of the second application is different from the information identifier of the first application; sending the first connection identifier to a third server; obtaining an information identifier corresponding to the first connection identifier according to the first connection identifier; sending an information identifier corresponding to the first connection identifier to a second server; sending an information identifier corresponding to the first connection identifier and content corresponding to the information identifier of the second application to the first server; under the condition that the first server receives a starting request of a first application and the first server judges that an information identifier corresponding to a first connection identifier is matched with an information identifier of the first application, sending content corresponding to an information identifier of a second application to the first application; and obtaining the content corresponding to the information identifier of the second application.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: intercepting the first connection identifier to obtain an information service domain name of the second application; acquiring a service key from a first server; inputting a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key; inputting a first key and an identifier of a first connection identifier after intercepting the information service domain name of the second application in an Advanced Encryption Standard (AES) decryption algorithm to obtain a splicing result of the information identifier corresponding to the first connection identifier and the information service domain name of the second application; and when the information service domain name of the second application in the splicing result is matched with the information service domain name of the second application obtained after the interception operation is carried out on the first connection identifier, obtaining the information identifier corresponding to the first connection identifier from the splicing result.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: acquiring an information identifier of the first application according to the second storage position; and under the condition that the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, sending content corresponding to the information identifier of the second application to the first application.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: when the first server judges that the storage duration of the information identifier of the first application in the second storage position is smaller than a fifth value, the information identifier of the first application is obtained from the second storage position; or when the first server judges that the storage time of the information identifier of the first application in the second storage position is greater than or equal to a fifth value, updating the information identifier of the first application in the second storage position based on the first application; an information identifier of the first application is retrieved from the second storage location.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, sending an information identifier of the first application to the first server; acquiring a service key from a first server; and calculating to obtain the first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: inputting a service key and an information service domain name of a second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key; inputting a first key and a splicing result of an information identifier of a first application and an information service domain name of a second application in an Advanced Encryption Standard (AES) encryption algorithm to obtain a calculation result; and performing splicing operation on the calculation result and the information service domain name of the second application to obtain a first connection identifier.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, acquiring an information identifier of the first application according to the first storage position; an information identifier of the first application is sent to the first server.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: when the first storage position does not store the information identifier of the first application, generating the information identifier of the first application; or when the first storage position comprises the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage position is less than a first value, acquiring the information identifier of the first application from the first storage position; or when the first storage position comprises the information identifier of the first application and the storage time of the first information identifier of the first application in the first storage position is greater than or equal to a first value, the information identifier of the first application in the first storage position is updated; an information identifier of a first application is retrieved from a first storage location.
In a possible implementation manner, the second processing unit 1001 is specifically configured to: inputting the name and the second value of the first application in a secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number; inputting a hash value in a UUIDSTringSigBits function to obtain a third value and a fourth value; and inputting the third value and the fourth value into a java.util.uuid function to obtain the information identifier of the first application.
In a possible implementation manner, the second processing unit 1001 is further configured to: when the first application receives an information pushing request of a third application, acquiring a second connection identifier; the second connection identifier is related to the information identifier of the first application and the third application; the second connection identifier is different from the first connection identifier; sending the second connection identifier to the third application; acquiring content corresponding to the information identifier of the third application according to the second connection identifier; and pushing the content corresponding to the information identifier of the third application.
In a possible embodiment, the information pushing apparatus may further include: a second memory cell 1002. The second processing unit 1001 and the second storage unit 1002 are connected via a communication bus.
The second storage unit 1002 may include one or more memories, which may be devices in one or more devices or circuits for storing programs or data.
The second storage unit 1002 may exist independently, and is connected to the second processing unit 1001 of the information pushing apparatus through a communication bus; the second storage unit 1002 may also be integrated with the second processing unit 1001.
The information pushing apparatus may be used in an information pushing device, a circuit, a hardware component, or a chip.
Exemplarily, fig. 11 is a schematic structural diagram of a chip provided in an embodiment of the present application. Chip 1100 includes one or more (including two) processors 1110 and a communication interface 1130.
In some embodiments, memory 1140 stores the following elements: an executable module or a data structure, or a subset thereof, or an expanded set thereof.
In the present embodiment, memory 1140 may comprise read only memory and random access memory and provide instructions and data to processor 1110. A portion of memory 1140 may also include non-volatile random access memory (NVRAM).
In the illustrated embodiment, memory 1140, communication interface 1130, and memory 1140 are coupled via bus system 1120. The bus system 1120 may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. For ease of description, the various buses are identified in FIG. 11 as bus system 1120.
The methods described in the embodiments of the present application may be applied to the processor 1110, or may be implemented by the processor 1110. Processor 1110 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 1110. The processor 1110 may be a general-purpose processor (e.g., a microprocessor or a conventional processor), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an FPGA (field-programmable gate array) or other programmable logic device, discrete gate, transistor logic device or discrete hardware component, and the processor 1110 may implement or execute the methods, steps and logic blocks disclosed in the embodiments of the present invention.
The steps of the method combined with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium mature in the field, such as a random access memory, a read only memory, a programmable read only memory, or a charged erasable programmable memory (EEPROM). The storage medium is located in the memory 1140, and the processor 1110 reads the information in the memory 1140, and combines the hardware thereof to complete the steps of the above-mentioned method.
In the above embodiments, the instructions stored by the memory for execution by the processor may be implemented in the form of a computer program product. The computer program product may be written in the memory in advance, or may be downloaded in the form of software and installed in the memory.
The computer program product includes one or more computer instructions. The procedures or functions according to the embodiments of the present application are all or partially generated when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. Computer instructions may be stored in, or transmitted from, a computer-readable storage medium to another computer-readable storage medium, e.g., from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optics, Digital Subscriber Line (DSL), or wireless (e.g., infrared, wireless, microwave, etc.), the computer-readable storage medium may be any available medium that a computer can store or a data storage device including one or more available media integrated servers, data centers, etc., the available media may include, for example, magnetic media (e.g., floppy disks, hard disks, or magnetic tape), optical media (e.g., digital versatile disks, DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), etc.
The embodiment of the application also provides a computer readable storage medium. The methods described in the above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. Computer-readable media may include computer storage media and communication media, and may include any medium that can communicate a computer program from one place to another. A storage medium may be any target medium that can be accessed by a computer.
As one possible design, the computer-readable medium may include a compact disk read-only memory (CD-ROM), RAM, ROM, EEPROM, or other optical disk storage; the computer readable medium may include a disk memory or other disk storage device. Also, any connecting line may also be properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
Combinations of the above should also be included within the scope of computer-readable media. The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (19)

1. An information pushing method is characterized by being applied to an information pushing system, wherein the information pushing system comprises a terminal device, a first application and a second application are installed in the terminal device, and the information pushing system further comprises a first server, and the first server is used for serving the first application; the method comprises the following steps:
the terminal equipment sends an information identifier of the first application to the first server when the first application receives an information service opening request and the first application determines that an information service domain name is an information service domain name of the second application; the terminal equipment acquires a service key from the first server;
the terminal device calculates a first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application, wherein the first connection identifier is related to the information identifier of the first application and the information service domain name of the second application; the information identifier of the first application is used for the first application push information;
the terminal equipment acquires the content corresponding to the information identifier of the second application according to the first connection identifier;
and the terminal equipment pushes the content corresponding to the information identifier of the second application in the first application.
2. The method of claim 1, wherein the information push system further comprises a second server and a third server, the second server being configured to serve the second application; the terminal device obtains the content corresponding to the information identifier of the second application according to the first connection identifier, and the method includes:
the terminal device sends the first connection identifier to the second application based on the first application;
the terminal device sends the first connection identifier and the information identifier of the second application to the second server based on the second application, so that the second server obtains the information identifier corresponding to the first connection identifier from the third server according to the first connection identifier, and the second server sends the information identifier corresponding to the first connection identifier and the content corresponding to the information identifier of the second application to the first server; wherein the information identifier of the second application is used for the second application push information; the information identifier of the second application is different from the information identifier of the first application;
and when the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, the terminal equipment obtains the content corresponding to the information identifier of the second application from the first server based on the first application.
3. The method according to claim 1, wherein the calculating, by the terminal device, the first connection identifier according to the service key, the information identifier of the first application, and the information service domain name of the second application, comprises:
the terminal equipment inputs the service key and the information service domain name of the second application in a Hash operation message authentication code (HMAC) algorithm based on the first application to obtain a first key;
the terminal equipment inputs the first secret key and a splicing result of the information identifier of the first application and the information service domain name of the second application based on the Advanced Encryption Standard (AES) encryption algorithm of the first application to obtain a calculation result;
and the terminal equipment carries out splicing operation on the calculation result and the information service domain name of the second application based on the first application to obtain the first connection identifier.
4. The method according to claim 1 or 3, wherein the terminal device sends the information identifier of the first application to the first server when the first application receives the information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, and the method comprises:
when the terminal equipment receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the terminal equipment acquires the information identifier of the first application according to a first storage position;
the terminal device sends an information identifier of the first application to the first server based on the first application.
5. The method of claim 4, wherein the obtaining, by the terminal device, the information identifier of the first application according to the first storage location comprises:
when the first storage position does not store the information identifier of the first application, the terminal equipment generates the information identifier of the first application based on the first application;
or, when the first storage location includes the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage location is less than a first value, the terminal device obtains the information identifier of the first application from the first storage location based on the first application;
or, when the first storage location includes the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage location is greater than or equal to a first value, the terminal device updates the information identifier of the first application in the first storage location based on the first application;
the terminal device acquires an information identifier of the first application from the first storage location based on the first application.
6. The method of claim 5, wherein the terminal device generating the information identifier of the first application based on the first application comprises:
the terminal equipment inputs the name and the second value of the first application based on the first application secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number;
the terminal equipment inputs the hash value in a UUIDStringSigBits function based on the first application to obtain a third value and a fourth value;
and the terminal equipment inputs the third value and the fourth value into a java.util.UUID function based on the first application to obtain the information identifier of the first application.
7. The method of any of claims 1-3, 5, or 6, further comprising:
the terminal equipment acquires a second connection identifier when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of a third application; the second connection identifier is related to an information identifier of the first application and an information service domain name of the third application; the second connection identifier is different from the first connection identifier;
the terminal equipment acquires the content corresponding to the information identifier of the third application according to the second connection identifier;
and the terminal equipment pushes the content corresponding to the information identifier of the third application in the first application.
8. An information push method is applied to an information push system, the information push system includes a terminal device, a first server, a second server and a third server, a first application and a second application are installed in the terminal device, the first server is used for serving the first application, the second server is used for serving the second application, and the method includes:
when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the first application sends an information identifier of the first application to the first server;
the first application acquires a service key from the first server; the first application calculates a first connection identifier according to the service key, the information identifier of the first application and the information service domain name of the second application; the first connection identifier is related to an information identifier of the first application and an information service domain name of the second application; the information identifier of the first application is used for the first application push information;
the first application acquires the content corresponding to the information identifier of the second application according to the first connection identifier;
and the first application pushes the content corresponding to the information identifier of the second application.
9. The method according to claim 8, wherein the obtaining, by the first application, the content corresponding to the information identifier of the second application according to the first connection identifier comprises:
the first application sending the first connection identifier to the second application;
the second application sends the first connection identifier and an information identifier of the second application to the second server; wherein the information identifier of the second application is used for pushing information by the second application, and the information identifier of the second application is different from the information identifier of the first application;
the second server sending the first connection identifier to the third server;
the third server obtains an information identifier corresponding to the first connection identifier according to the first connection identifier;
the third server sends an information identifier corresponding to the first connection identifier to the second server;
the second server sends an information identifier corresponding to the first connection identifier and content corresponding to the information identifier of the second application to the first server;
when the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, the first server sends content corresponding to the information identifier of the second application to the first application;
and the first application obtains the content corresponding to the information identifier of the second application.
10. The method according to claim 9, wherein the obtaining, by the third server, the information identifier corresponding to the first connection identifier according to the first connection identifier includes:
the third server intercepts the first connection identifier to obtain an information service domain name of the second application;
the third server acquires a service key from the first server;
the third server inputs the service key and the information service domain name of the second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key;
the third server inputs the first key and the identifier obtained after the information service domain name of the second application is cut off by the first connection identifier in an Advanced Encryption Standard (AES) decryption algorithm to obtain a splicing result of the information identifier corresponding to the first connection identifier and the information service domain name of the second application;
and when the information service domain name of the second application in the splicing result is matched with the information service domain name of the second application obtained after the interception operation of the first connection identifier, the third server obtains the information identifier corresponding to the first connection identifier from the splicing result.
11. The method according to claim 9 or 10, wherein, in a case that the first server receives a start request of the first application and the first server determines that the information identifier corresponding to the first connection identifier matches the information identifier of the first application, the sending, by the first server, the content corresponding to the information identifier of the second application to the first application comprises:
the first server acquires the information identifier of the first application according to a second storage position;
and when the first server receives a starting request of the first application and the first server judges that the information identifier corresponding to the first connection identifier is matched with the information identifier of the first application, the first server sends the content corresponding to the information identifier of the second application to the first application.
12. The method of claim 11, wherein the obtaining, by the first server, the information identifier of the first application from the second storage location comprises:
when the first server judges that the storage duration of the information identifier of the first application in the second storage position is smaller than a fifth value, the first server acquires the information identifier of the first application from the second storage position;
or, when the first server judges that the storage time of the information identifier of the first application in the second storage position is greater than or equal to a fifth value, the first server updates the information identifier of the first application in the second storage position based on the first application;
the first server obtains an information identifier of the first application from the second storage location.
13. The method of claim 8, wherein the first application calculates the first connection identifier according to the service key, the information identifier of the first application, and the information service domain name of the second application, and comprises:
the first application inputs the service key and the information service domain name of the second application in a Hash operation message authentication code (HMAC) algorithm to obtain a first key;
the first application inputs the first key and a splicing result of the information identifier of the first application and the information service domain name of the second application in an Advanced Encryption Standard (AES) encryption algorithm to obtain a calculation result;
and the first application carries out splicing operation on the calculation result and the information service domain name of the second application to obtain the first connection identifier.
14. The method according to claim 8 or 13, wherein when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the first application sends the information identifier of the first application to the first server, and the method comprises:
when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the second application, the first application acquires an information identifier of the first application according to a first storage position;
the first application sends an information identifier of the first application to the first server.
15. The method of claim 14, wherein the first application obtaining the information identifier of the first application from the first storage location comprises:
when the first storage location does not store the information identifier of the first application, the first application generates the information identifier of the first application;
or, when the first storage location includes the information identifier of the first application and the storage duration of the first information identifier of the first application in the first storage location is less than a first value, the first application acquires the information identifier of the first application from the first storage location;
or when the first storage position comprises the information identifier of the first application and the storage time of the first information identifier of the first application in the first storage position is greater than or equal to a first value, the first application updates the information identifier of the first application in the first storage position;
the first application obtains an information identifier of the first application from the first storage location.
16. The method of claim 15, wherein the first application generates an information identifier for the first application, comprising:
the first application inputs the name and the second value of the first application through a secure hash algorithm SHA256 to obtain a hash value; wherein the second value is a 64-bit random number;
the first application inputs the hash value in a UUIDStringSigBits function to obtain a third value and a fourth value;
and the first application inputs the third value and the fourth value into a java.util.UUID function to obtain the information identifier of the first application.
17. The method of any of claims 8-10, 12, 13, 15, or 16, further comprising:
when the first application receives an information service opening request and the first application determines that the information service domain name is the information service domain name of the third application, the first application acquires a second connection identifier; the second connection identifier is related to an information identifier of the first application and an information service domain name of the third application; the second connection identifier is different from the first connection identifier;
the first application acquires the content corresponding to the information identifier of the third application according to the second connection identifier;
and the first application pushes the content corresponding to the information identifier of the third application.
18. An information pushing apparatus comprising a processor and a memory, the memory being configured to store code instructions; the processor is configured to execute the code instructions to perform the method of any one of claims 1-17.
19. A computer-readable storage medium having instructions stored thereon that, when executed, cause a computer to perform the method of any of claims 1-17.
CN202111435754.6A 2021-11-30 2021-11-30 Information pushing method and device Active CN113850633B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111435754.6A CN113850633B (en) 2021-11-30 2021-11-30 Information pushing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111435754.6A CN113850633B (en) 2021-11-30 2021-11-30 Information pushing method and device

Publications (2)

Publication Number Publication Date
CN113850633A CN113850633A (en) 2021-12-28
CN113850633B true CN113850633B (en) 2022-04-19

Family

ID=78982259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111435754.6A Active CN113850633B (en) 2021-11-30 2021-11-30 Information pushing method and device

Country Status (1)

Country Link
CN (1) CN113850633B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299363A (en) * 2018-09-26 2019-02-01 北京安云世纪科技有限公司 Content acquisition method, device, computer equipment and the storage medium of pushed information
CN109522141A (en) * 2018-11-27 2019-03-26 苏州我的打工人力资源有限公司 Information-pushing method and device, server, equipment and storage medium
CN109544207A (en) * 2018-10-19 2019-03-29 中国平安人寿保险股份有限公司 A kind of information processing method, storage medium and server

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647455B (en) * 2012-03-23 2015-08-05 华为技术有限公司 The processing method of moving advertising, proxy server and terminal
US20150254706A1 (en) * 2014-03-10 2015-09-10 Matthew T. Dennehy System and method for providing discounts
CN107888703B (en) * 2017-11-29 2019-12-10 Oppo广东移动通信有限公司 Information pushing method and device, server and readable storage medium
CN109688227B (en) * 2019-01-11 2021-02-02 腾讯科技(深圳)有限公司 Information pushing method
JP7145836B2 (en) * 2019-10-15 2022-10-03 ヤフー株式会社 Information processing device, information processing method and information processing program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299363A (en) * 2018-09-26 2019-02-01 北京安云世纪科技有限公司 Content acquisition method, device, computer equipment and the storage medium of pushed information
CN109544207A (en) * 2018-10-19 2019-03-29 中国平安人寿保险股份有限公司 A kind of information processing method, storage medium and server
CN109522141A (en) * 2018-11-27 2019-03-26 苏州我的打工人力资源有限公司 Information-pushing method and device, server, equipment and storage medium

Also Published As

Publication number Publication date
CN113850633A (en) 2021-12-28

Similar Documents

Publication Publication Date Title
CN108595970B (en) Configuration method and device of processing assembly, terminal and storage medium
WO2020192447A1 (en) File access authority authentication method and electronic device
CN113032766B (en) Application authority management method and device
CN105975864A (en) Operation system starting method and device, and terminal
CN111061524A (en) Application data processing method and related device
WO2020259650A1 (en) Request response method and electronic device
CN111656347B (en) Project display method and terminal
CN110462620A (en) Sensitive data is decomposed to be stored in different application environment
CN115048642B (en) Communication method between trusted applications in multi-trusted execution environment and electronic equipment
CN112262548B (en) File processing method and terminal equipment
CN114915618B (en) Upgrade package downloading method and device
CN113468606A (en) Application program access method and electronic equipment
CN113850633B (en) Information pushing method and device
CN110602689A (en) Method and device for safely operating equipment
CN114531676B (en) Key processing method and device and terminal equipment
CN116997891A (en) Behavior monitoring method, behavior monitoring device, terminal equipment and computer readable storage medium
CN110618967B (en) Application program running method, installation package generating method, device, equipment and medium
CN114862398A (en) Distributed safety equipment-based risk control method and related device
CN116049812B (en) Method for accessing hardware resources and electronic equipment
CN116702100B (en) Authority management method and electronic equipment
CN115828227B (en) Method for identifying advertisement popup, electronic equipment and storage medium
CN113205341A (en) Payment risk control method and device
CN115017473B (en) Authorization method and electronic equipment
CN117667115A (en) Application program installation method and electronic device
CN117492636A (en) Data storage method and electronic equipment

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
GR01 Patent grant
GR01 Patent grant