Android Push Implementation

Source: Internet
Author: User

Solve the problem of data synchronization: There are 2 common methods.

(1) Check the data on the server regularly, also called polling.

(2) The phone and the server to maintain a TCP long connection, when the server has data, real-time push to the client, that is, we say push.

Features of mobile wireless networks

Because IP v4 IP is limited, the operator assigned to the mobile phone terminal IP is the operator intranet IP, mobile phone to connect to the Internet, you need to do a network address translation through the operator's Gateway ("Networking Translation,nat"). Simply said that the operator's gateway needs to maintain an external network IP, port to the network IP, port correspondence, to ensure that the intranet phone can communicate with the Internet server.

Most mobile wireless network operators will retire the corresponding entries in the NAT table when there is no data communication on the link for a period of time, causing the link to break.

Implementation of long connection on Android platform

In order not to invalidate the NAT table, we need to make a timed heartbeat to refresh the NAT table entry to avoid being eliminated.

There are 2 common ways to run tasks on Android regularly:

(1) using a Timer

(2) Alarmmanager.

Timer

The Android Timer class can be used to schedule tasks that need to be cycled, and the problem with the timer is that it needs to use WakeLock to keep the CPU awake, which consumes a lot of battery power, greatly reducing the phone's standby time. This is not a way to meet our needs.

Alarmmanager

Alarmmanager is an Android-encapsulated module for managing RTC, the RTC (Real time Clock) is a stand-alone hardware clock that can function when the CPU sleeps and wakes the CPU at a preset time when it arrives.

This means that if we use Alarmmanager to perform tasks on a regular basis, the CPU can hibernate normally and wake up for a short time only when the task needs to be run. The Android SDK for the Aurora push is based on this technology.

Android Push Implementation

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.