We build an app for the Huawei AppGallery store using iTaxi as an example

We build an app for the Huawei AppGallery store using iTaxi as an example

We are building an application for the Huawei AppGallery store using iTaxi as an example

May 2019. Donald Trump has imposed a ban on domestic companies from working with Huawei. The blockade on Google's services for the Chinese giant effectively meant that you couldn't buy a new model of Huawei phone with the services of the US giant. Only handsets that the company had launched earlier had access to these technologies. It also meant that users couldn't install on their new smartphones the most popular apps they've used so far, such as. Google maps, Gmail or YouTube.

In order to stay in the market and not lose a group of trusted customers, the Chinese corporation had to take decisive steps and decided to develop a set of its own mobile services – Huawei Mobile Services, including m.in. AppGallery's proprietary application distribution platform – equivalent to Google Play and App Store. Continued sales of Huawei's new handsets will therefore depend heavily on a systematic increase in the number of popular HMS-integrated applications available in their own app gallery.

The first step, after Huawei offered us cooperation, was to place the android version of the iTaxi app in AppGallery. This did not require additional technical work. We quickly made a decision and in mid-April, users of older phones whose systems still supported Google solutions were able to download a fully working app from the gallery of. However, we wanted to make sure that all iTaxi customers will be able to use our services seamlessly, regardless of the cell phone model they own. It required integration work to be undertaken with Huawei Mobile System (HMS). We saw potential in the user segment of the latest Huawei models and wanted to have access to it. Statistics were also in favor. The level of app downloads from AppGallery in Poland increased by 70% if you compare Q4 2019 to Q3. Turns out the increases continue in 2020. Back in April, we decided to carry out an integration with the HMS.

Organization of work

From the very beginning, we stayed in contact with Huawei representatives – we were guaranteed full technical, operational and marketing support. Our IT team is working in Scrum in two-week iterations. We started with a few hours of spike – the topic was new enough to require preliminary analysis of. Huawei is dividing its services into bundles, e.g. Map Kit, Push Kit or Analytics Kit. We had to decide which ones we needed to make the application fully functional. We chose Location Kit, Push Kit and Analytics Kit . Which sets you use depends on what services you use and what you offer to users, so they may differ for each app. We also evaluated the labor intensity and identified risks. We carried out the implementation including testing within two sprints.

Technical details

What the technical work looked like describes Anna Orlowska, senior Android developer: „The process of adapting the application to Huawei services is not complicated. Of course, a lot depends on the initial state of the application. If its architecture is well thought out, plugging in new services should not pose any major difficulties. The documentation on Huawei's website is sufficient to implement the whole thing smoothly, especially if you have used analogous Google services so far. This is because Huawei developers have made an effort to ensure that the process of connecting the corresponding services is the same. We even have identical class and method names and almost the same initialization process. The only difference is the names of the packages. If, in addition, in the design of the application you have used libraries supporting dependency injection (ang. dependency injection, for example. Dagger), then you can very easily select the appropriate classes for your platform.

What services your application will use can be decided in several ways. In the case of iTaxi, we used the „product flavors” mechanism, well known to Android developers, and built apps for the Google store and Huawei separately. Integration of most services was very simple, however, for example. Notifications proved to be a bit more challenging. Switching to Huawei notifications required work not only on the application side, but also on the server side. What's more, the server process is different from the one we know from Google, so it's not as obvious as in the case of application changes. Connecting notifications to services took the most time and was also the hardest to test”.

Although the whole process went smoothly it was, as is usually the case with this type of project, not without obstacles. So if you have plans to adapt your application to HMS then there are situations for which it is worth preparing for.

1. The first challenge was quite obvious – no devices for testing. However, Huawei came to our rescue and provided the right hardware. So if you are developing an application for the brand store, get a phone without Google services. Only then can you be sure that the app will not communicate an error – no GMS. Sometimes in our code or in the library we use, there may be a check (or even a pop-up) sewn in with information about the lack of required services. You need to make sure that the user doesn't receive such an unnecessary notification after launching the app.

2. The process of app registration and subsequent distribution itself is done by the developer service.huawei.com. Its interface is confusingly similar to that of other providers – a combination of features from Apple and Google consoles. You can see that the service is being improved and expanded on an ongoing basis – this is obviously a plus. You may just be surprised when you used the selected option on the home screen, and after a few hours you will have to look for it in another tab.

3. HMS is new and if you have integrations with external tools, you can expect that the new version of the application will not be supported. In our case, it involved a marketing automation type system. It is worth confirming whether the companies cooperating with you are considering expanding their integrations.

4. We also hit an insurmountable barrier – in the HMS version of the app we had to abandon the Google Pay service. We are keeping a close eye on the payment expansion process on Huawei's side to decide whether to implement such a solution in the future.

The HMS-integrated app cannot be hooked up to Firebase, unfortunately, so you lose the important element of keeping track of events in one place. However, it can be replaced by Huawei analytics, integrating the Analytics Kit mentioned earlier. At the moment, almost every feature available, such as purchases, conversions, subscriptions or additional detailed analysis, bears the „beta” mark;. More advanced configuration of analytics is still to come.


Building a new iTaxi app adapted to HMS turned out to be easier than we expected. Throughout the process, the Huawei team was a great support to us, not only on the technical and operational side, but also on the marketing side. Apps integrated with HMS were to be further promoted, and so they were. iTaxi appeared in Huawei's advertising materials, including a TV spot.

Opening up to the brand's phone owners allowed us to gain nearly 14,000 new users. In the coming months, we will follow the changes that Huawei is making and review the new tools. The AppGallery included the iTaxi Passenger Application, the integration of the Driver Application is all the time an open topic and a potential avenue for the development of cooperation with the brand.