Photo by Andy Kelly on Unsplash

Trusted web activities

We know that PWA is one of the more promising technologies in web development. Recently, it has taken yet another step forward: PWA now has a way into Google Play Store, thanks to the new tool — Trusted Web Activities. What is it exactly, and what is it used for? Is it a way to monopolize the apps market and promote PWA? Well, you be the judge.

Trusted Web Activities (TWA) is a new Google technology, introduced on Chromium blog in early February. It is meant to integrate PWA with Android apps, which is perfect for those who want their PWAs to be discoverable on Google Play Store instead of only on the web.

What does TWA do? It includes a full screen Chrome browser in an Android app where you need Chrome features not available in a WebView. It also shares local storage with the browser. Generally speaking, it meshes Android app with PWA.

However, not every PWA can get to the Google Play Store. PWAs must comply with specific requirements:

  • Play Store policies including content, security, ads, spam, payment, etc.
  • PWA installability criteria PWAs should have a web manifest, be served over HTTPS, have an icon and registered service workers, etc.
  • PWA score of 100 and a performance score of at least 80 in Lighthouse
  • Content is secured and trusted, meaning that the Android app and PWAs are expected to come from the same developer. It is impossible to insert content into TWA from the Android app.

When the PWA meets all these criteria, it is eligible to appear in the Play Store. However, the process of putting a PWA in the app store is not that easy, and takes time. Let’s take a quick run-through.

Alright, you already have a PWA, and it satisfies all the aforementioned criteria. Step One: install Android Studio and register as a developer (it costs $25). Then you need to create an Android app. Copy or create your own build.gradle file and update the Gradle file with information related to your app.

The next step is to create a key store, which will help to validate ownership of web content. After that, create a digital asset link, then generate signed APK. This is the end of the development process.

Now for the Google Play Store step: Go to app releases and create an internal track release. It should now be in the Google Play Store listing with the status of “pending publication”. When your app is approved, it appears in the Google Play Store. Congratulations!

For a more detailed description with code sample, click on Google Developers, or watch the video by Fireship.

The thing that protects your PWA from being copied is the keys. See below:

TWA has pros and cons of course. On one hand, the ability to put PWA in the Play Store is what developers have been waiting for. Now accessing users is much easier. For a moment it seemed that PWA technology was stuck, even though developers believed in it. With the introduction of TWA, Google is moving forward both in promoting PWA and creating new technological solutions that can unite web and Android.

On the other hand, this TWA technology is still really raw and needs a lot of work. We can see that the process of putting PWA in Google Play Store is quite complicated and takes time. It is not just filling in the list of the requirements, complying with the policy, pressing the button and your PWA appears in the Play Store. As of now, it still requires some coding, and without an Android app, PWA does not have a way to the Play Store on its own.

Another shortcoming is that PWA is made for Android only. PWA itself can be opened on Android and iOS, both in Chrome and Safari. Yet, TWA technology is available only for Android users.

Photo by bruce mars on Unsplash

Also, the monetization part is confusing. You already have your PWA (which is free). Now you decide to put it in Google Play Store and set the price for your PWA there. Your user pays for it in Play Store, installs it, and starts using it. Later, they find it for free on the web. Or, if it is paid both on the web and in Play Store, how can we avoid double payment? This is not clear yet.

The next question is the updates. Maximiliano Firtman, in his TWA overview writes that if you change your PWA content (unless you change your PWA completely) you do not need to upload it again to Play Store because it updates automatically.

In this case, the real question is security. What if someone hacked your PWA and your nice, compliant content was changed to content forbidden by Play Store rules? No one is protected from this. How could these changes of content affect content keys (certificates)?

The last thing you may not have considered is Google’s monopoly over the internet. Google has massive control over every facet of the Internet. Creating PWA was a progressive idea, and now PWA is uniting with Android apps. Google has already had problems complying with the competition regulations in the EU. Presently, it is trying to put together all its technological solutions and control the market of PWAs and native apps. The essential idea of a free internet, as imagined by Tim Berners-Lee, is gone. Today, the web is under the control of a few big companies. Even to promote your web app, you need to use Google web promotion instruments in order to appear in the top results of the search. Otherwise your users will not even find your app.

Yes, now PWAs can be found on the Google Play Store. Even so, the technology still needs a lot of improvement to make it easier and faster. Moreover, this raises many issues such as dealing with monetization, how to see who has paid and where, and security problems while changing the content of PWAs. Is it possible to use native app functions like the camera or microphone? What to do if your PWA calls another PWA (possible in web and what to do in Play Store). Despite these uncertainties, we still believe that PWA is the future of web development, and web app technologies is a step forward. We hope that we will soon have answers and easy resolutions to these problems.