Analysis of APP PUSH mechanism

Analysis of APP PUSH mechanism

Push is defined as the act of a message sender delivering information to a recipient. Combined with our daily scenarios, it is the behavior of the company's operations colleagues or business systems sending marketing messages or notification messages to users through SMS, push, WeChat and other channels.

Daily push messages to users can guide them to participate in activities, read information, check bills, etc. It is an important traffic entrance and push is an important means to promote the achievement of business goals.

Build a relatively complete internal company message push management platform to uniformly manage and send message push for each business line and product line within the company; this not only improves the company's operational efficiency, but also ensures user experience.

1. Understand the APP PUSH push mechanism

1.1 Definition and Value of APP PUSH

APP PUSH is defined as a message notification displayed in the notification bar when the mobile terminal is locked or popped up at the top of the operation foreground. After clicking, the corresponding APP can be called up and the specified page can be jumped within the APP.

Push messages are an important means of notifying users and guiding them to participate in activities and purchase products. PUSH messages can also guide users to check messages, stimulate APP to increase daily activity, and are an important source of traffic.

1.2 APP push classification

Based on the functions of the applications, they are mainly divided into three categories. The first category is IM apps, such as WeChat, QQ, etc.; the second category is news and information apps, such as Wall Street Journal, etc.; the rest are temporarily classified as tools, such as Alipay, Meituan, etc.

Each type of APP has different requirements for PUSH. IM APPs pursue real-time and stable reach. Such APPs generally push messages through their own long connections to ensure that users can receive messages in real time when they receive them. In addition, some Android manufacturers will also provide certain protection for the processes of top APPs, add related processes to the whitelist, and ignore them when cleaning processes.

The PUSH push mechanism of news and information apps is basically the same as that of tool apps, with only a difference in frequency control. Since news and information apps have a large amount of news and information, breaking news needs to be pushed to users in a timely manner.

Since tool-type apps currently account for the majority, this article will mainly explain the common push mechanisms of tool-type apps.

1.3 PUSH Process

After the message system is created, the PUSH message enters the sending stage. The server needs to route according to the user terminal information. If it is an IOS system, it will call Apple's own push notification service (APNs). If the user's phone is an Android system, then different manufacturers' SDKs will be called according to different manufacturers.

Different system versions support different message display formats. For example, after iOS 10, when the app is in the foreground, whether to display it in the notification bar; this style can be selected according to product requirements, and the server can transmit the value of the corresponding notification method. If the user's phone is not from one of the five major manufacturers, push notifications can be sent through a long connection that the user has built themselves or by using a third-party service.

If you are not directly connecting to the manufacturer's channel, then the internal server may not need to do too much complex and tedious development work, and can implement message push by connecting to a third-party message push platform, such as Xingge, Getui, etc. Most channels will feedback receipt data to the sender to indicate whether the message has been successfully pushed to the client SDK, and a callback address needs to be provided.

1.4 Description of the underlying channel

1.4.1 Push method

Channel types are generally divided into three categories: manufacturer channels, third-party push service platforms, and long connections.

The manufacturer channel is a push service launched by mobile terminal manufacturers. By accessing the manufacturer's SDK, the internal server can push messages to the server of the mobile phone system, and then send them to the manufacturer's SDK inside the client. The operating system will display them accordingly and call up the corresponding APP after clicking. This can prevent the message from reaching the user after the APP process is killed, so the reach rate is relatively high.

The third-party push platform is a related message service built by the push service company itself. When various APPs use the push service of the same platform, the clients are integrated with the SDK of the same third-party push platform, thus forming a push alliance. When the message process of one of the APPs in the alliance is not killed, other APPs can also use it to notify users, forming mutual awakening and improving the reach rate. After testing in some scenarios, the success rate of mutual awakening is not very high, so it is necessary to carefully combine the evaluation with one's own scenario. In order to increase the reach rate, third-party push platforms will also integrate the SDKs of major manufacturers for push.

A long connection is to establish a link between the mobile phone and the server to push message data. The APP status can also be monitored through a long connection, but it requires more R&D resources to push messages completely through a long connection and ensure stable reach. In addition, it is necessary to try to avoid having the long connection process be killed by the operating system.

1.4.2 Comparison of advantages and disadvantages

The construction of the APP push function needs to be based on the product's own situation and the resource costs that the company can invest, and different goals should be pursued at different stages.

1.5 Send push notifications

1.5.1 Push Account

When pushing, the client's PUSH SDK will generate a corresponding TOKEN based on the user's device number. Within the SDK, if you are using a third-party push service, register with the third-party SDK; if you are a manufacturer, register with the mall SDK; if you use your own long connection, register with your own SDK as the unique ID to identify the user for subsequent pushes.

1.5.2 Message Routing

The message path is mainly explained in the above push process. Here we mainly explain that according to different business scenarios, it may be pushed to users of different versions of the APP. Therefore, when the server performs channel capability routing, it not only needs to be able to distinguish channels, but also needs to be able to perform more refined differentiated push notifications for users' mobile phones.

In addition, the message channel is not necessarily 100% stable. If there is a problem with the downstream channel, the server needs to be able to route the messages caused by the channel problem to the backup channel to ensure stable business delivery.

1.5.3 Full push

Generally speaking, the product's customer ID is used as the basis for internal operations or company-related data. When the user data system is connected to the message system, the customer ID is also often used. Therefore, it is necessary to establish a relationship between the customer ID and the push TOKEN to facilitate operations to push targeted users. However, in some scenarios, it is necessary to push information to users who are not logged in, that is, full push; such as breaking news information, big promotions and other activities, so the operation system needs to provide a full push function to push information to all TOKENs.

1.6. Data reporting

The reported data includes data such as reach, click, close, exit, and registration.

All types of contact messages are inseparable from contact and click. The contact data is reported through the manufacturer's callback as needed by the manufacturer, and the click data can be reported to the server by the SDK. The disabling of push notifications also needs to be considered to assess whether push notifications are being sent excessively and disturbing users. There are two parts of shutdown data. One part is the shutdown within the app, which can be directly reported to the server by the SDK. The other part is that the user has closed the push of the corresponding app on the mobile phone operating system. When the APP is in the foreground, the SDK calls the relevant methods of the mobile terminal to obtain whether the user has closed the system notification, and then reports it to the server.

Registration data means when a user starts the app for the first time, he/she goes to the relevant SDK to register a token.

Generally speaking, when a user logs out of an account, the SDK needs to report to the server to unbind the token from the customer ID.

1.7. PUSH Features

1.7.1 Strong reminder without leaving any trace

Since push is the app’s own notification channel, it is an important tool for operations. If the user has not closed the PUSH notification, the push can pop up from the notification bar to display the message, which has a certain strong reminder effect. However, the PUSH disappears after the jump is clicked, leaving no trace. Therefore, for important notification messages, it is necessary to set up a message center in the APP to leave a notification record at the same time as the PUSH.

1.7.2 Message Style

For each PUSH, some marketing messages will include EMOJI expressions to attract users to click. This is also a small method to attract users to click, as long as the service supports the transmission of the agreed EMOJI code.

Currently, the Android system also supports rich media push, which includes pictures, voice and other forms of push. For information apps, thumbnails can be added to attract user clicks. At present, there is still much to be explored in the voice scenario.

1.7.3 iOS and Android

Since APP is based on the mobile phone operating system, the push process and functions for IOS and Android are basically the same, except for slight differences in details and methods. In addition, domestic Android manufacturers have made certain modifications to the Android system, resulting in different standards for domestic Android manufacturers. Developers need to carefully connect with each manufacturer.

1.8 Improvement in reach

To improve the reach rate, it is necessary to establish a complete process from message creation to actual notification to user, refine each interaction link, discover the main bottlenecks affecting the reach rate, and carry out targeted solutions or optimization plans. In addition, messages that do not use the manufacturer channel can also use their own long connection and other push platform services to push multiple messages at the same time, and add deduplication for the same slot serial number in the client SDK, which can also increase the reach rate of some messages.

2. Build a message management platform from 0 to 1

2.1 Push system process

Generally speaking, there are two ways to send push messages. One way is to run a batch of scheduled operations. It is necessary to provide a system function to facilitate the operation of screening users, and then edit the copy, and send it after approval. The other type is messages that need to be triggered in real time, such as payment success notifications, verification code acquisition, marketing activities triggered by meeting certain conditions, and other messages. These messages have high timeliness requirements and the content of the messages sent by each user involves differentiated parameters, which require real-time triggering by business applications. The triggered messages must go through certain filtering and interception rules, filter the users that have been covered in a short period of time, intercept abnormal or non-compliant messages, and push them according to the set channels.

2.2 Data Preparation

For the message push system, it is necessary to obtain the account data of the target user. Often, the customer ID of the company's product is inconsistent with the account of the corresponding push channel, and a binding relationship needs to be obtained. For example, SMS requires a mobile phone number, push requires a token reported by the SDK, and WeChat requires the use of an OPEN ID. The collection of relevant data is explained in the articles on the sending mechanisms of each channel.

2.3 Message Creation

2.3.1 Target audience selection

In order to make daily operations more accurate and improve the conversion rate of goods and functions, operations staff will screen users based on their characteristics, such as users in Beijing, users who have logged into the app in the past three days, etc. Therefore, the message delivery system needs to be connected with the label system of the company's internal data department to provide operations staff with the choice of delivery groups. Messages triggered by interfaces in real time generally require the business system to monitor user behavior and pass the user account and required parameters to the message push system through MQ or interfaces for sending.

It is also necessary to provide a user account file upload function so that users can be informed of emergencies in a timely manner to avoid problems such as not having enough time to enter user data into the label system.

2.3.2 Message Type and Level Classification

Message types should be divided according to the purpose of the message content. They can be broadly divided into notifications, marketing, verification codes, etc.

For example, the SMS industry is divided into notification, marketing, and verification code types of messages. This type of division is mainly for the convenience of routing SMS to different channels of SP service providers. Different channels have different reach rates. In order to ensure the reach rate of important SMS, SMS with different contents need to be routed to different channels for sending.

Based on my personal experience, the company can make more fine-grained divisions based on actual conditions. For example, add notification + marketing types. The possible scenario is that after the user has successfully paid, after stating the user's payment success information, add discount copywriting based on appropriate scenarios to guide users to convert to other activities. For financial lending institutions, repayment notification types can also be added, mainly to remind users of overdue repayments. The reason is that during special periods, repayment notification text messages may be subject to special controls, and they can be better monitored and handled by separating them out.

Notification messages should also be divided into levels. For example, the user payment success notification message and the coupon arrival notification message should obviously not be at the same level. Payment messages involve changes in user funds and have a higher notification level; coupon arrival messages are more marketing-oriented and have a lower notification level. In order to avoid causing more interference to users, it is necessary to control it in a hierarchical manner and reduce the push frequency of lower-level messages when necessary.

2.3.3 Message Content

Messages on different channels require different message contents. SMS content only requires the text in the SMS dialog box, while PUSH needs to display the title and content summary. WeChat has template messages and multiple types of message contents such as text, images, and voice. When designing a product, after selecting the corresponding delivery channel, the fields required by the corresponding channel should be displayed and must be filled in.

2.3.4 Message Jump

After the message reaches the user, interested users need to know more information. However, the current carriers of various messages do not have enough space to display all the information, so they need to jump to the landing page to obtain detailed information. SMS messages need to convert long links into short links before sending. One reason is to save costs, because SMS is charged according to the number of characters. The other reason is for user experience. What users see on their mobile phones should not be a pair of long garbled characters. PUSH needs to set different jump types according to different pages, such as H5 pages and native pages. The jump protocol is provided by the client. The message system only needs to configure it on the system, and the operation staff can choose it. The message content of WeChat is generally in the form of a template message bar to the H5 activity page, and graphic messages jump to the article details. Hyperlinks can also be added in text messages to jump to mini programs.

2.3.5 Other information to be recorded

Message sending department: This data is used as the basis for subsequent SMS fee settlement. The expenses of each business line within the company are deducted according to the message sending department. For free resources such as PUSH and WeChat messages, the use of message resources by each business department can also be analyzed.

Conversion behavior caliber: Conversion is generally a step after a message is clicked. In order to better measure the quality of message sending, the purpose of each message should be recorded, such as: order, real-name, activation, download, notification, etc., and the message should be matched with the conversion behavior for data analysis.

Production and research manager: Before sending a message, each task or template should be recorded, corresponding to the product of the business line, and the person in charge of the actual R&D message. When a customer complaint occurs, the message record query function can be used to quickly locate the production and research manager of the message, and urgently confirm whether there is any abnormality in the corresponding message and resolve it.

2.3.6 Push Time Settings

The push time is different for messages sent in different forms. The created message tasks can be sent at a scheduled time. For solidified marketing scenarios, it is necessary to set periodic tasks, set the initial execution time and execution cycle, and reduce operating costs. The interface triggering time is generally real-time, and the triggering time is determined by the business system.

2.3.7 Online Testing

After the message task is set up, it is necessary to verify whether the display effect and related jumps after the message is delivered are normal to avoid online push accidents. The test requires sending real content set by the operation, and the push object is the internal message creator. To avoid accidental sending of messages, "test" should be added before the text to be sent for testing, or a test whitelist should be set. Accounts not on the whitelist cannot be tested.

2.4 Message Review

Once a message task or message template is created, it needs to be carefully reviewed before it can be sent to avoid work errors and adverse effects.

The audit level generally requires review by the internal person in charge of the business line and the company platform or corresponding functional department. The key points of the review are: whether the message text complies with the Advertising Law, whether the message jump is normal, whether the sending frequency and time are appropriate, etc.

2.5 Message filtering and interception

Message filtering is mainly aimed at marketing-type messages, with time restrictions (messages can be sent between 9 am and 8 pm), frequency restrictions (users can only receive 1 text message within 7 days. For periodic tasks, users who have been reached by the same task can further extend the filtering cycle), and blacklist restrictions (user unsubscription).

Message interception is mainly to limit the sending volume. For example, each business line can send no more than 5 text messages to the same user per day; the company as a whole can send no more than 30 text messages to the same user; repeated content from the same user is filtered out within a short period of time (the time can be set, such as 300S); the volume control is only to avoid the adverse effects of message bombardment on users caused by business system failures.

Keyword interception, such as words including illegal, violent, etc.

The filtering frequency used in different scenarios can be adjusted appropriately. For example, users’ tolerance for SMS messages is lower than that for push messages, so the SMS frequency should be more stringent.

2.6 Message Sending

After various logical processing, the message finally reaches the sending stage. The main background logic of the sending stage should focus on optimizing the performance of message sending, improving the stability of message sending, and avoiding business losses. The sending process should add monitoring and print logs appropriately to detect anomalies and locate problems in time.

2.7 Message Routing

Both SMS and Android push can access multiple channels to build distribution clusters. You can specify the channel for sending according to the business logic, or you can automatically route according to the downstream channel status.

2.8 Data Analysis

For the reach system, data analysis is generally carried out according to the entire process of the message, including the number of messages sent - the number of messages reached - the number of clicks - the conversion data.

If it involves using messages to divert traffic to the APP and increase APP activity, perhaps the number of times each message brings up the APP can be counted.

For SMS, there are SMS fees involved, and billing needs to be done based on the channel and the number of successful reaches, and a reconciliation dashboard needs to be designed.

User behavior data such as SMS unsubscription and PUSH closure also need to be analyzed to adjust subsequent reach strategies.

2.9 Backstage Management

2.9.1 Channel routing configuration

For SMS messages, signatures and channels are involved. Different business scenarios require different SMS signatures, and messages of certain accounts and templates need to be routed to fixed channels. and the need for systems to automatically route messages based on downstream channel performance or status.

2.9.2 Query message sending records

For the relevant messages sent recently, certain query functions must be provided on the customer service side or the operation side so that users can call to inquire about relevant message issues, such as not receiving the verification code message, receiving the message without performing any operation, etc.

2.9.3 Blacklist

The blacklist function is mainly used for message filtering. When a user complains or unsubscribes, messages are prevented from being sent to the user. The blocking granularity needs to be based on the message type and can be appropriately divided according to internal business.

2.9.4 Filtering and interception rule configuration

  1. It is necessary to set a message sending limit for the same user to avoid bombarding users due to business system anomalies.
  2. To block duplicate content, you need to set a certain period of time to block exactly the same content to avoid repeated sending.
  3. Keyword interception needs to target illegal and unlawful keywords to avoid operational accidents.
  4. For marketing messages, the frequency of contact must be controlled according to different contact methods to avoid disturbing users and making them feel disgusted with the brand.

2.9.5 Uplink Management

Uplink management is mainly used in SMS messages, where users reply with keywords to unsubscribe or handle business. Since the uplink process from the operator to the sender cannot accurately determine which message the user is replying to (the user may also actively send text messages to certain numbers), in order to ensure that different scenarios do not affect each other, the uplink keyword must be unique.

Author: Zhuobiemu

Source: Zhuobeimu

<<:  Ma Niu-Mobile Internet Advanced Development Formal Course: Android Second Period

>>:  Cross-border B brother-tiktok advertising quick start course

Recommend

Analysis on promotion of Migu Reading and Kindle check-in activities!

Some time ago, Migu Reading launched the "Ch...

2021 New Consumer Brand Digitalization Report

China has become the world's second largest c...

Can advertising on TikTok bring in traffic?

TikTok has become popular, and many marketers are...

Some concepts and principles you must know before doing user operations

Three elements of user operation The methodologic...

Analysis of the underlying logic of the user incentive system!

Background of the User Incentive System The user ...

How to attract new members and convert them into new members in the community?

As community operations are mentioned more and mo...

What is the value of KOL? How do operators tap into KOLs?

KOL is a concept in marketing , which means key o...

Community traffic case analysis

This article will specifically analyze a fission ...

Why are the conversion rates of information flow accounts so poor?

Yesterday, I received a message like this in the ...

Alipay and JD.com have established an “active user” indicator system!

The Alipay app, which has hundreds of millions of...