These Flutter app examples prove it allows developers to create complex, reliable and high-performance mobile apps. Discover top apps made with Flutter!

These Flutter app examples prove it allows developers to create complex, reliable and high-performance mobile apps. Discover top apps made with Flutter!
WebRTC allows you to create an app that enables real-time communication between peers. Combining it with Ionic, you can quickly develop two cross-platform apps with access to the device’s features.
Geolocation is a powerful feature that allows you to create a richer experience for your app’s users. It provides them with useful features and personalization, increasing your competitive advantage, reach and revenue. In this article, we present the benefits of adding geolocation to your app and explain what you need to implement it with Ionic Framework.
You will learn:
Geolocation is a piece of geographical information about your device’s whereabouts. It can be your Android or iOS smartphone, smartwatch, fitness tracker – a device that connects to the internet or/and has a GPS chip.
We can use 4 techniques to establish a device’s location.
GPS uses information that satellites send from space about location and timing. All smartphones are equipped with a GPS chip that needs data from at least 4 satellites to establish a device’s position with 60 feet accuracy.
Cell ID positioning uses cell towers which send a unique ID and parameters like mobile network code or location area code, combining it with signal strength. By searching these parameters in the database, we can establish location. It’s not as accurate as GPS and works better in cities, but it’s easier to locate IoT devices like that. They are placed indoors where GPS positioning is difficult.
This approach combines GPS and Cell ID to offer more precise information than GPS only.
Wi-Fi determines the position in a similar way Cell ID does. The only difference is that it’s more precise because it covers smaller areas.
You probably already use geolocation to check the traffic on Google Maps or tag your location on a photo. But geolocation can also be applied by your app to offer users with personalized, richer experience, valuable information or comfortable service.
According to MarketsandMarkets, Location-Based Services (LBS) and Real-Time Location Systems (RTLS) market will grow from USD 16 billion in 2019 to USD 40 billion in 2024. All thanks to a demand to offer a personalized, location-based experience to the end-users.
Location-based services apps can do 4 major things:
Therefore, here are a few examples of what we can achieve with geolocation:
Geolocation can also be used by offline stores that have mobile apps. They can send push notifications with promotions or coupons to users that have their mobile app installed and are located close to their offline store. Push notifications are another powerful feature for mobile apps.
You already use geolocation with at least a few apps on your mobile device. Here are a few examples of well-known apps and industries that apply geolocation:
Delivery or order tracking is one of the fastest growing industry branches that apply geolocation. Real-time delivery tracking apps allow users to follow the location of their package or order on a map.
Real-time geolocation tracking is used by food delivery apps like Dominos. In the app, users can spot the exact location of a deliveryman and learn how much more they will have to wait for their order.
Geolocation can be also used to track the position of a carrier with our package. It can be successfully applied by B2B apps. For example, ASAP app allows shippers to track a carrier with their load in real-time. Customers, on the other hand, also have access to shipment tracking, so they know when to expect delivery. Uber uses geolocation to inform where our ride is and sends notifications about a car’s plate number.
There are a number of ways to use geolocation in your app. But why implement it with Ionic? The Ionic Framework allows you to create one code and easily share it between iOS, Android and web, with only a few adjustments needed. It speeds up the process and enables you to put your app in front of users fairly quickly, reaching them on both platforms (and also web, if you want to).
Ionic has one serious advantage: it allows developers to access native devices features easily, using plugins. You get convenient access to geolocation (and other features like camera, microphone or bluetooth). Ionic also easily integrates with Firebase, Firebase Cloud Messaging and Google Cloud Console, that, on the other hand, enables simple integration of Google Maps. It allows you to easily implement push notifications to your Ionic app (very powerful combination with geolocation), and set up a cloud environment so as not to build a complex infrastructure. It’s convenient, especially for MVP development.
Development with Ionic is fast because the framework provides many ready-made components. Documentation is detailed, rich and easy-to-follow. Ionic 4 introduced web components, so Ionic is framework-agnostic now (you can use your favourite framework or no framework at all), and has excellent performance (it’s called the best framework for Progressive Web App development, and they need to be fast and reliable).
Let’s proceed to implementing geolocation to your app. To build a geolocation-based app you need two things: location services and maps. You need to use services like Google Maps to present the device’s location on an actual map, display details, location info, and enable searching for nearby places. To add Google Maps to your app, you need Google Maps SDK for iOS and Google Maps SDK for Android. Then, with Places API you can implement, among others, Places Search (returns a list of places based on a user’s location or search string) or Places Details (returns more detailed information about a specific place, including user reviews).
Google Maps Platform is a set of APIs and SDKs you manage from the Google Cloud Platform. To get started, you need to:
Each step of above is described in detail on Get Started with Google Maps Platform web page.
With the Maps SDK for Android and iOS, you add Google Maps to your app. The API automatically accesses Google Maps servers, map display, data downloading, response to users’ gestures. You can also add ground overlays, polylines, and markers to your app, to provide additional information and allow for better interaction.
To use geolocation with Ionic, you need to use a Cordova geolocation plugin. This API is based on the W3C Geolocation API Specification. Repo: Cordova plugin geolocation. Here’s a tutorial on how to install the Geolocation Native plugin to Ionic Angular application. A Cordova plugin is the most basic one but it’s completely sufficient if you don’t need your app to perform any complex tasks in terms of geolocation. If you want your app to send location info in the background or you’d like to set up more efficient battery use, you will need a more complex plugin.
For iOS, you also have to add the configuration presented below to your configuration.xml file:
<edit-config file=”*-Info.plist” mode=”merge” target=”NSLocationWhenInUseUsageDescription”>
<string>We use your location for full functionality of certain app features.</string>
</edit-config>
An app that tracks a user’s location needs to be extra secure. Allocate enough time for QA testing. Also, try using these techniques to guarantee data safety:
In terms of storing the sensitive data on your user’s device, it is recommended, but you need to do it securely. That way, no-one who has access to the server will see the user’s data. Storing sensitive location data on the server is applicable only in cases when users don’t require the highest security measures. It’s also better not to store sensitive data on users’ devices.
While configuring the settings, you need to find a compromise between accuracy and frequency of location info sending vs battery consumption.
Keep an eye on battery consumption optimization. Various optimization options (for example, those using information about the user’s physical location) entail detecting the phone’s movement to enable the localization or dislocating to switch to another base station.
You need to handle the geolocation permission requests correctly. Have in mind that along with new systems’ versions permissions change and become more strict.
We have decent experience in creating location-based apps. Actually, we really love developing cross-platform apps with a geolocation feature. (So, if you have any questions about implementing geolocation to your app, feel free to send us a question at hello@appstronauts.co.)
One of the projects we are most proud of is ASAP – a transportation platform. It’s a cross-platform app developed with the Ionic Framework. The ASAP app is really complex and geolocation is one of its main features because it enables carrier tracking in real-time. Below, you’ll learn the details about this project.
Creating native mobile apps for multiple platforms is an expensive process, which also requires a lot of time and competencies.
Svelte is gaining popularity among many developing applications IT companies. We were able to find out what these companies feel about using Svelte while working on the app development. If you are also interested
Ionic is a widely used cross-platform framework, which is appreciated by developers from various industries. However, how can Ionic be used by clients from the enterprise sector?