Background: None of the Android phones available in China is equipped with Google service framework, so no matter what kind of third-party platform push service domestic Android phones use, they cannot achieve 100% offline (kill the APP) to receive push. (Why doesn’t Apple Push have this problem? The reason is that Apple pushes through the system push, and the system maintains the long connection channel, so the app can also receive the push.)

Third-party push platform:

  1. Vendor channels supported by Aurora push: Huawei, Xiaomi, Meizu, OPPO and FCM
  2. Manufacturer channels supported by UmENG + : Huawei, Xiaomi, Meizu, OPPO, Vivo

Information pushed by major manufacturers:

  1. Xiaomi: Support to receive offline messages, you can directly obtain the number of push sent, number of delivery (rate), number of clicks (rate);
  2. Vivo: Support to receive offline messages, you can directly obtain the number of push sent, the number of delivery, the number of clicks, the number of display. ;
  3. Huawei supports receiving offline messages. Only the receipt of messages is provided to obtain the information about message delivery, but the number of clicks is not provided.
  4. Meizu: it supports receiving offline messages and only provides the information (number of deliveries and clicks) within the acquisition period. It does not support obtaining the information of a push message.
  5. OPPO: closed, in beta.

Using third-party integration vendor push:

Benefits:

  1. In background push, only the push API of the third party can be called to realize message push.
  2. Statistical data is more convenient, fast and relatively accurate;
  3. Faster development efficiency, saving background development labor costs;
  4. Offline message push can also be implemented according to the vendor channel.

The bad:

  1. It’s more expensive

Self-integrated vendor push:

Benefits:

  1. Ensure offline message delivery
  2. To save money

The bad:

  1. The background needs to access the push and statistics API of multiple manufacturers (some manufacturers use message receipt to report delivery status, such as Huawei).
  2. Imperfect and existing limitations (defects) of vendor push:
    1. Vivo push interface access frequency is limited, need to control the request frequency according to the error code; Only one full push per day is supported. After pushing, batch push should be used instead. There is an upper limit on the number of push (10,000 times/day if the NUMBER of SDK subscriptions does not exceed 100000), and the time limit of push: 7:00~23:00, etc.
    2. Huawei push does not provide a full push interface. The alias is obtained from the SDK of the client, not reported by itself, and can only be pushed to 100 users at a time.
    3. Meizu does not support getting the push information of a certain push message. It can only get the push information according to the time period, etc.

Our company’s implementation plan:

  1. Ios:

    1. Push directly using third party platform — Aurora Push
    2. Delivery statistics: The free version can get the number of deliveries and deliveries
  2. Android:

    1. Access vendor channel: Xiaomi, Vivo, Huawei, Meizu
    2. Other Android devices (small user base) : Third-party platform push — Aurora push (give up receiving offline messages)
    3. Delivery statistics: Number of deliveries from Xiaomi devices + Vivo devices + Number of deliveries from Huawei devices + number of deliveries from other devices (Aurora push)
  • Push click statistics: with the message click event, the client requests the background API, feeds back the message ID of the click, and the background determines and processes the cumulative push click number according to the device information of the client (device system needs to be differentiated).

Detours:

  1. Using a timed task (every 10 minutes), the call interface collects the number of push message clicks within an hour. It turns out that only Xiaomi and Vivo provide interfaces, other vendors channel and Aurora Push (free version) do not support access to statistics.

Optimizable solutions:

  • Plan 1: Directly access third-party push platform, upgrade to VIP, enjoy integrated manufacturer push (Aurora push/Umeng +/…) Once and for all.
  • Scheme 2: Self-built long chain to store users online: online push (third-party push platform) + offline push (vendor push).