Tools
SERPerator
Live test to see Google mobile and desktop visibility - PPC, SEO & Other.
Page-oscope
Live test to see competitors landing pages in any country - Mobile & Desktop.
App Rankalyzer
See live Google App Pack Ranking results by country and keyword.
SERP Datalyzer
Track search result visibility over time. See visual search results images & parsing about rank, pixels from the top and more.
Page Datalyzer
Track landing pages and page code over time - for you or a competitor.
App Datalyzer
See how your apps and competitive apps rank for keywords in the Apple App Store and Google Play - track in any country and language.
API Integrations
Add Page-o-Scope or SERPerator utilities to your site!
Resources
Request Consulting
Request the consulting proposal from our team of ASO and SEO experts.
Request Training
Reach out to our team for bespoke training.
Request a Tool Demo
Request a guided walkthrough of our leading rank tracking and page testing tools.
Blog
Catch up on our latest insights on industry news and theories.
Webinars
Glossary
Click here for clarification on our terminology.
Help
FAQ
If you have a question about our tools, read here for our frequently asked questions.
Contact Us
Reach out to our team for support.
About MobileMoxie
Use Cases
Brands
Find out about the way brands use our tools to stay ahead of their competitors.
Agencies
Find out about how our tools help agencies win more business.
Analysts
Find out about how BI experts use our tools to tell a story with data.
Special functions in APIs that keep the main thread in a cloud function un-blocked by suspending and resuming cloud functions strategically. ‘Default’ should be used for CPU intensive processes. ‘IO’ is optimized for code that blocks an API. ‘Main’ is the main thread. Coroutines can have ‘leaks’ but these can be blocked by special coroutine ‘scopes’. The ‘scope’ function can be set up to automatically check for and cancel un-necessary coroutines. Coroutines are a feature of Kotlin that help convert callback-based code into sequential code, making code easier to read, write, and understand. This session will show you how to use coroutines on Android, and how the new androidx-concurrent library makes it easy to use them to get things off the main thread. You’ll also learn how the new library helps coroutines work with Architecture Components. This session also covers coroutine patterns, best practices, and even how to test coroutines!