Push notifications are tricky. In this chapter, we had to write a lot of code with very few benchmarks to check in along the way. If you're running into problems, ensure that all your code matches the examples.
Once your notifications are working, though, we'll have bridged a major gap between web apps and native applications. Now, it's time to take another step into the world of native apps, by making our apps installable by the user.