Comparison of several push services on the iOS platform

Source: Internet
Author: User

Comparison of several push services on the iOS platform Http://blog.163.com/[email protected]/blog/static/171370086201399113833299/recently studied the Aurora push (Jpush), Baidu Cloud push and a push on the iOS platform push mechanism, did a bit of contrast.
First, introduce the push mechanism (apns:apple push Notification service) for Apple push Notification Services:


Figure 1 The APNs push process

Clearly shows the entire APNs workflow, where provider is a third-party developer's server. The entire process is divided into three stages:
    • Phase one: The application packages the message to be sent, the identity of the iphone, and sends it to APNS.
    • Phase II: APNs in its own list of iphone's registered push services, find the iphone with the appropriate logo and send the message to iphone.
    • The third stage: The iphone sends the message to the appropriate app and pops up the push notification as set.
Aurora Push (Jpush):
Jpush has a full push service on the iOS platform, and his entire push process is completely independent of the APNs service, which is the APNs in Figure 1 becoming the Jpush own push server. iphone to client app this process is simplified, Jpush uses the transmission method, the message is transparent to the user, not visible, the message from the Jpush server directly to the client App, users can not perceive.

Baidu Cloud Push send:
Baidu Cloud push is based on APNs, that is to say he is only a APNs agent, his push process such as:


Figure 200 Degree cloud push push process (IOS) The whole process is divided into several stages:
    1. The admin console or the Server SDK initializes the certificate for the iOS app, which is divided into the development certificate and the release certificate.
    2. The push SDK running on the phone performs the push initialization action, passing the Appkey and Devicestoken to the cloud push server, which is reserved by the server.
    3. The admin console or the Server SDK sends a push instruction to the cloud push server, and when the server receives the instruction, the UserID from the console (if it is broadcast without a userid), MSG, is packaged with the server's reserved devicestoken and certificates to the APNS server.
    4. After APNs receives the data, it pushes the message to the specified iphone device according to the UserID.

PUSHSDK adds its own service initialization and binding interface code based on the APNs encoding.

a push :

A push is easier, and his entire interaction diagram is as follows:


Figure 3 Push-to-send interaction diagram (IOS) He has the highest demand for developers, and there is a saying in his official forum: "Developers first have their own IOS push component, which can be pushed from you to Apple server, adding the corresponding interface according to the protocol we provide". The right half of Figure 3, which is the third party to the APNs, is implemented by a third party itself, and a push is simply an interaction between a push server and a third party.
The meanings of each function in the diagram:
    • Auth (): A push server sends a "Verify" directive to a third party, and if the validation results are correct, the third party returns the token,8 push server to retain the token.
    • Get_tags (): A push server sends a "GET tag" directive to a third party, and the third direction pushes the server back to the currently existing tag list, with a push server reserved.
    • Push_by_tags (): Push server According to the reserved tag list, you can choose to send a message to some tag, say "send message to tag" instruction to third party, third party complete the message Discovery Send task.
    • Push_by_divece (): Push a third-party send interface based on DIVICESID to complete the Send task.

Throughout the process, a push server is doing a few simple things, he asked the third party according to his agreement to complete auth (), Get_tags (), Push_by_tags (), Push_by_divice () interface, and give the address of the API, for a push server call. I think the reason why he did this is that he wants to be able to share a system with the push of the Android platform, which is easy to manage and maintain.

February 25, 2014 update:
I went to a push home page to view the time to find a push solution, a push recently provided to the APNs component, so that the third-party developers do not need to implement their own APNs Component Services, only need to put the iOS certificate and certificate password to a push.

Comparison of several push services on the iOS platform

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.