Horizontal evaluation of popular android message push !, Android horizontal

Source: Internet
Author: User
Tags android push notification

Horizontal evaluation of popular android message push! [Switch], android horizontal
This topic is nothing new. Most small and medium enterprises generally choose third-party services. However, there are already many companies and products that provide push services. How can we choose a service suitable for our own projects? What are the differences between them? I have made a simple survey here, hoping to help you.



Introduction:

Mobile push service refers to a service in which the server sends messages to the mobile phone in real time. The push service pushes the latest information and recent activity information to users in a timely manner to maintain interaction with users, so as to increase user stickiness and improve user experience. For example, Sina Weibo and other APP notification bar messages.



Principle:

1) Round Robin (Pull): the application should be connected to the server in stages and check whether new messages arrive. You must implement communication with the server by yourself, for example, Message Queuing. In addition, you also need to consider the polling frequency. If it is too slow, it may lead to delay of some messages. If it is too fast, it will consume a lot of network bandwidth and battery.





2) SMS (Push): On the Android platform, you can intercept SMS messages and parse the message content to understand the server's intentions and obtain the displayed content for processing. This is a good idea. I have seen applications that adopt this solution. The advantage of this solution is that it can achieve full real-time operations. But the problem is that the cost of this solution is relatively high, and we need to pay the corresponding fees to mobile companies. Currently, it is difficult to find a free gateway for sending short messages.





3) persistent connection (Push): this solution can solve the performance problem caused by polling, but it will still consume the cell phone's battery. The push service on the IOS platform works very well because each mobile phone only maintains a connection with the server. In fact, C2DM works like this. However, as mentioned earlier, this solution has many shortcomings, that is, it is difficult for us to implement a reliable service on our mobile phone. At present, it cannot be compared with the push function of the IOS platform.



After understanding the principles, it is still relatively costly for small and medium-sized companies like ours to develop their own push services, and the time cost is also relatively high. For fast development, we generally choose a third-party PUSH Service.




Common solutions in China:


I. Implement Android push using MQTT

Using MQTT to implement Android push is also a solution. MQTT is a lightweight message publishing/subscription protocol. It is an ideal solution for message pushing servers based on mobile clients.

 

Wmqtt. jar is the implementation of the MQTT protocol provided by IBM. We can download the instance code for this project from here (https://github.com/tokudu/AndroidPushNotificationsDemo) and find a server-side implementation (https://github.com/tokudu/PhpMQTTClient) written in PHP ).




Shows the architecture:

 

<Ignore_js_op>




Wmqtt. jar is the implementation of the MQTT protocol provided by IBM. We can download from the following site (http://www-01.ibm.com/support/docview.wss? Rs = 171 & uid = swg24006006) it. We can add this jar package to our Android Application.


-------------------------------------------------
Ii. RSMB implements the push function.


Really Small Message Broker (RSMB) is a simple MQTT proxy, which is also provided by IBM at http://www.alphaworks.ibm.com/tech/rsmb. Port 1883 is opened by default. In an application, it is responsible for receiving messages from the server and forwarding them to the specified mobile device.

 

SAM is a PHP library written for MQTT. We can download it from the address http://pecl.php.net/package/sam/download/0.2.0.

 

Send_mqtt.php is a PHP script that receives messages through POST and sends messages to RSMB through SAM.


-------------------------------------------------
Iii. Android push using XMPP

XMPP is a protocol based on the Extensible Markup Language (XML). It is used for instant messaging (IM) and online detection. This protocol may eventually allow Internet users to send instant messages to anyone else on the Internet.



Androidpn is an open-source java Android push notification implementation based on XMPP protocol. It contains the complete client and server.

 

This is androidpn project home page: http://sourceforge.net/projects/androidpn/

 

Shows the implementation intent of androidpn: <ignore_js_op>




The above are all popular solutions, but they all have certain difficulties and implementation costs. Here I will mainly introduce the third-party platform for quick solutions.



Third-party platform Services implement the push function:

After investigation, there were more than 20 third-party push services. Four mainstream push platforms are recommended below.



Push

<Ignore_js_op> message pushing is a platform launched by an interactive network technology company in China to help enterprise applications push messages through low-cost Internet channels, it provides a complete, efficient, and stable service system to solve the problem of message communication from the Internet cloud to the mobile phone end. Relying on the mature push technology, it establishes a standardized service platform that is more stable and meets market requirements.



Features:1. stable and efficient: a single server supports 0.2 million-96% concurrent connections, leading the industry. The push and delivery speed can reach/second, and the message arrival rate is above. Multiple apps merge a long connection and share the link. 2. A push not only provides the PUSH Service from the cloud to the client, but also provides the service for uploading data from the client to the cloud. That is, the push message link supports two-way upstream and downstream channels, interaction between developers and clients is more convenient. 3. Support for incremental updates: When a developer submits a new version of the APP in a push background, the developer can push the new version to the user, and the user only needs to download the files of the difference, improve the update rate and product experience. 4. Support for rich media push


---------------------------------------------------
Aurora push

<Ignore_js_op> Aurora push (JPush) is a free third-party message PUSH Service that is open to common developers. Aurora push allows developers to push notifications or messages to their application users in real time to maintain interaction with users, effectively improving the retention rate and user experience. The platform provides unified push services that integrate Android push and iOS push.



Features:1. Flexible push targets can be pushed to individual users.

 

2. Support for rich media push

 

3. relatively stable and efficient


-----------------------------------------------------
Baidu cloud push

<Ignore_js_op> Baidu cloud Push is a message Push Service provided by Baidu open cloud to developers; by establishing a stable and reliable persistent connection between the cloud and the client, developers can push real-time message services to client applications. The Baidu cloud PUSH Service supports three types of messages: notification, passthrough message, and rich media. It supports pushing messages to all users or specific user groups based on tag classification.



Features:1. Multiple apps merge one persistent connection and share the link.

 

2. In addition to user groups and tags, the push policy also has location differentiation (positioning function ).

 

3. Support for Baidu Account System (logon to Baidu account)

 

4. Small SDK size

 

5. Support for rich media push


------------------------------------------------------
Umeng push

<Ignore_js_op> umeng is China's most professional and data-cohesive mobile developer service platform. It was created in Beijing in April 2010. Umeng has developed into a comprehensive mobile developer service platform starting with mobile application statistical analysis. Umeng push is a service that helps you actively push application content updates or activity notifications to end users, allowing users to obtain relevant information immediately and effectively improve user activity and retention rate.



Features:1. Multiple apps merge one persistent connection and share the link. 2. In addition to user groups and tags, the push policy also distinguishes locations (positioning function ).


--------------------------------------------------------
More push platforms:





Comparison of various platforms:




 

Platform Push Baidu cloud push Aurora push Umeng push
Stability and delivery rate A single server supports 0.2 million-concurrent connections, and the push/delivery rate can reach/second. Powerful server cluster of Baidu with high throughput Advanced Server technical architecture, highly concurrent and scalable cloud services Message pushing is delayed for all users, and rich media pushing is not supported.
Power and traffic Multiple apps merge a persistent connection to share the link. The SDK is specially designed for cell phone optimization. no-load power consumption is 15-50 mA daily, and no-load traffic is 0.8-1.2 M/month. Single-channel technology. Multiple applications share one push channel. Client sdks use custom protocols to maintain persistent connections, with little consumption of power and traffic. Multiple applications share a persistent connection, smart heartbeat, and other optimization solutions.
Security Data Encryption Security Isolation Technology General Encryption General Encryption
Message push Push notification push message push rich media without LBS push Push notification push message push rich media push based on geographical location (or "LBS push ") Push notification push message push rich media without LBS push Push notification push message no rich media no LBS push
Background Data Statistics Data Report support, smart analysis push Provides statistics on push information and user behavior "Push Report" and "User Statistical Report" present the push effect and application development trend. Provides statistics on push information and user behavior
SDK access difficulty/Cost Chinese documents and technical support Chinese documents and technical support Chinese documents and technical support Chinese documents and technical support
Billing information Charges for some features Free Charges for some features Free
Server Support Support for Java, PHP, C #, Python, and Node. js servers Support for Java, PHP, C #, Python, and Node. js servers Supports Java, PHP, C #, Python, Node. js, and Ruby server. Support for Java, PHP, and Python servers
Message push Policy Broadcast push tag push alias push User Group Broadcast push tag push alias push user group geographic region push. Broadcast push tag push alias push User Group Broadcast push tag push alias push user group geographic region push.
Case Sina Weibo, moji weather, CHANGBA, PPTV, meitu xiuxiu, etc. Baishi encyclopedia, Gif kuaishou

Zhenai.com, super course schedule, meika camera Storm audio and video, Southern Weekend, do not step on the white Block
Additional features App incremental update Logon to Baidu Account System  

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.