The Functionality Specific to Mobile Devices
An essential quality of the mobile platform is the support of functionality specific to mobile devices.
With the mobile platform, you can identify and display the geographical location of a mobile device and the postal address corresponding to this location. Available options include:
· Discovery of available geolocation providers and obtaining information on each of them.
· Selection of the most accurate or most energy-efficient provider.
· Identification of the current location (longitude, latitude, altitude, direction of travel, speed, date).
· Automatic update of the location coordinates per specified time intervals or distance from the point of the previous location.
· Acquiring of address by location and location by address.
· Displaying an address on the map. Mobile devices use maps provided by the operating systems: Apple Maps on iOS or Google Maps on Android. The mobile platform accesses Google Maps directly and does not require installing any additional application.
· Support of user geographic zones (geozones) in the form of a circle (the center point coordinates plus the radius). Geozones can be helpful to remind users they approach an important contractor or as a tool to choose the most appropriate warehouse to pick goods.
The platform allows you to make audio and video recordings and take pictures. The output can be converted to binary data and saved inside an application. Before trying these steps, ensure your mobile device supports the respective functionality. Also, it is possible to play audio recordings, stop playback and continue playback from a selected position.
Barcodes and QR Codes Scanning
The platform offers the function of scanning and recognizing barcodes and QR codes. The scanned code is returned as a string.
The platform allows using code for accessing mobile phone contacts list. You can get detailed information about the contacts stored in a phone. Additionally, it is possible to create, modify and delete entries in the contacts list. This information can only be accessed with the user's permission, which is automatically requested on the first access attempt.
The platform allows managing calendars and events stored on a mobile device. You can create, edit and delete calendars and events, assign reminders, list participants, and set the frequency of meetings.
With the mobile platform, you can dial a number, check call history, and find records that meet specific criteria. In addition, it is possible to respond to various events associated with telephone calls using code (through the 1C:Enterprise language). Such an event can be a call start, an answer to a call, or a call end. Also, the platform provides a list of incoming and outgoing calls with their dates. The call type can be either incoming, outgoing, or missed. To allow more precise actions through the 1C:Enterprise language, the platform utilizes the following events: StartIncomingRinging, StartIncoming, StartOutgoing, EndIncoming, and EndOutgoing.
You can send SMS and MMS messages and process incoming messages. The user experience will vary depending on whether it is Android or iOS.
With the mobile platform, you can send letters using the default mail client that comes with a mobile device. At that, messages support attachments and have no limitations regarding text length.
Push Notification and Local Notifications
Both push and local notifications are primarily a way to inform users about events. Notifications get delivered when a mobile application is in the background (launched but inactive) or even when it is unloaded from memory and not running.
Local notifications are a convenient means of providing various reminders set inside the platform-based mobile application. Reminders will work even when the application is not active. They can be instant (displayed immediately), scheduled (shown at a specific time), or periodic (displayed every time a specified period ends).
With push notifications, you can implement interaction scenarios between the main and mobile applications where the main application is the initiator. When an event occurs in the main application, it sends a push notification to the recipients that are mobile applications.
The push notification mechanism uses a third-party component called the Notification Delivery Service to transfer notifications from the sender to the recipient. Currently, the platform supports three such services:
· APNs (Apple Push Notification Service) from Apple;
· GCM (Google Cloud Messaging) from Google;
· WNS (Windows Push Notification Services) from Microsoft.
This way, a standard interaction scheme looks like this:
· The sender is the main application built on the 1C:Enterprise platform;
· A Notification Delivery Service (APNs, GCM or WNS) sends a notification to a mobile device when the device gets on the Internet;
· The recipient is a mobile application built on the 1С:Enterprise platform.
When a mobile application is active, the notification gets through immediately, thus initiating a notification handler (if attached). If a mobile application is running in the background (inactive) or not running at all (unloaded from memory), then a notification is displayed by the operating system. After a user clicks on the message, the mobile app gets activated (or launched), and the application starts a notification handler (if connected).
Purchases and Ads
The mobile platform supports purchase mechanisms built into the Android, iOS, and Windows operating systems. In Android, it is Google Play In-App Billing. In iOS, it is Apple In-App Purchase. In Windows, it is Windows In-App Purchase. The platform supports permanent and consumable purchases and also subscriptions. The purchase mechanism can be used to implement the following scenarios:
· Purchase of the "premium" version of an application in which additional functionality is available;
· Removal of demo version limitations. For example, a demo version can limit the amount of data that can be entered into an application. When a boundary is reached, users are offered to buy a fully functional version that can handle data without limitations;
· Purchase of the ability to interact with certain web services. For example, a mobile application aggregates data from different sources. The standard free version interacts only with some sources. And for an additional fee, users can connect to a broader and more helpful set of information resources.
The mobile platform ads mechanism can work with Google's AdMob aggregator and Apple's iAd service. The ads provided by these services can be displayed on full screen or as a small banner at the top or bottom of a form.
Voice Over Text
The platform supports text playback using a mobile device speech synthesizer. Also, it is possible to select the language, playback speed, and pitch of the synthesized voice. Users can interrupt and continue the playback at any time they need.
Waiting for a Suitable Internet Connection
The platform can track the fact of changing Internet connection parameters. With this functionality, developers can create scenarios to wait for a suitable Internet connection or automatically run pending actions requiring a fast connection.
Checking if a Mobile Device Is Roaming
The platform checks if a mobile device is roaming and can, for example, warn users that extensive use of data can be costly and that it is better to postpone respective tasks for later.
Integration with Analytics Services
1C:Enterprise mobile applications can collect user behavior statistics via integration with the following services:
These services track crashes in mobile apps, register downloads and sources of mobile app installs, maintain statistics on in-app purchases, study how users switch through forms in mobile apps, count the frequency of app features use, and register user events.