[Huawei Developers] Freemind R:
More information, you can visit HUAWEI Developer Forum and Medium.​

I work in operations for a mobile game. Recently, I was notified by the game's developers that HUAWEI Push Kit has been integrated into the Android version of the game. As we all know, the ability to push messages to users is a very important function. I proceeded to study some of the functions of Google Firebase Cloud Messaging (FCM) and HUAWEI Push Kit. Among the functions, I paid most attention to ones that had to do with data statistics. I have some interesting observations to share with you:

FCM: https://firebase.google.com/docs/cloud-messaging

HUAWEI Push Kit: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/push-introduction

1. Data Report

I am responsible for querying, browsing, exporting, and analyzing push data on the operations console every day. Therefore, the first thing I did was to compare the push reports.

[IMG="https://miro.medium.com/max/1400/1*9U1noLXvUTsAbdM9jf1Qjg.png"]https://miro.medium.com/max/1400/1*9U1noLXvUTsAbdM9jf1Qjg.png[/IMG]

[IMG="https://miro.medium.com/max/1400/1*VxBgok94H9QhyWDrtsHHkA.png"]https://miro.medium.com/max/1400/1*VxBgok94H9QhyWDrtsHHkA.png[/IMG]

Compared to FCM, HUAWEI Push Kit also reports the number of sent messages, number of received messages, and number of times messages were taped. Statistical methods and data items may vary slightly however. But most importantly, HUAWEI Push Kit is able to meet my data requirements.

2. Custom Data

During analysis, reports alone cannot help me completely analyze all push data. In addition to task-level data analysis, I also require custom analysis and status analysis based on a single message. For a specific message, FCM and HUAWEI Push Kit use different data processing methods.

BigQuery of FCM

https://firebase.google.com/docs/cloud-messaging/understand-delivery#bigquery_data_export

BigQuery is a large online data warehouse provided by Google. It supports online data querying and statistical analysis based on the SQL statement. Push data generated in FCM can be imported to BigQuery synchronously to implement custom statistical analysis of push data and allow you to view the data in more dimensions. BigQuery is suitable when you want to collect and query a large amount of data due to its fast processing and low maintenance costs.

No server is required either.

It is free of charge to export data from FCM, but I will be charged of using BigQuery.

HUAWEI message receipt:

https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/push-receipt

After sending a message to a user device, HUAWEI Push Kit sends the message delivery status to your app server via a message receipt. Surprisingly, I discovered that the message receipt information is sent in real time.

A server, however, must be set up to receive receipt data.

The message receipt function is free of charge.

(Comments)

BigQuery is widely used and is not described here. Although HUAWEI Push Kit does not provide the same capabilities as BigQuery, it provides message receipts, which tell you the status of each message in real time and solve some of the following problems in certain scenarios:

1. Detecting problems with push messages in a timely manner: When an error occurs in a push message, I can discover this immediately since the message sending status is obtained in real time. This reduces the impact of the error.

2. Replacing SMS messages: At present, when I send a message that must be reached to a user, I require an SMS message of a carrier, which results in high costs. By using the message receipt, I can determine whether the message is received based on the receipt, which, to some extent, reduces the SMS messaging costs for some users.

3. Real-time effect analysis: Push data can be collected in a timely manner. For some important messages, I can obtain real-time push data and adjust push policies in a timely manner.

The message receipt provided by HUAWEI Push Kit is very useful in scenarios where we need to know message sending results in real time.

3. Conclusion

[IMG="https://miro.medium.com/max/1400/1*XWAwsTEypvz8h7VJHbp1Ww.png"]https://miro.medium.com/max/1400/1*XWAwsTEypvz8h7VJHbp1Ww.png[/IMG]

In conclusion, it is important for us to select the method most suitable for our specific product operations scenario.