Tag Archives: Firemonkey

In-App Advertising to Monetize Your FireMonkey iOS and Android Apps

Description : How to use In-app advertising and In-app payment service in your Delphi FireMonkey mobile apps.
Objective: How to monetize iOS and Android applications using the TBannerAd component.
Presenter: Marco Cantù, Embarcadero Technologies.
Software Versions Supported: Delphi XE6, C++ Builder XE6,  RAD Studio XE6.
Event: Developer Skill Sprints
Level: All

In-App Advertising, commonly referred to as Mobile Ads, has become very popular among mobile app developers.  In-App Advertising works by allowing ads to run on space sold within your mobile app. The revenue generated from these ads are based on number of user impressions and/or clicks.

In-App Advertising is potentially a more scalable method of monetization.  Although running ads in your app can somewhat impact the user experience, it can be an excellent choice for apps with lots of content and user engagement such as games, news, chat and entertainment category apps.

One of the new features in RAD Studio XE6, is built-in support (via components) for In-App Payment Services and In-App Advertising.  The In-app payment services via the TInAppPurchase component, enable you to sell digital content directly within your iOS and Android applications.  The In-App Advertising uses the TBannerAd component to enable you to show ads on your iOS and Android applications to obtain income.

In the following video, Marco Cantù from Embarcadero Technologies does a really nice job explaining how to add Ads to Monetize your Mobile App.  Also, read his articles “Using AdMob in an Android Delphi app” and “Advertising with Delphi XE6 on iOS” for step by step examples on how to use In-App Advertising.

For more information on the above topic, see Adding In-App Payments to Your Mobile Apps and  Adding Advertising to Your Mobile Apps.

Creating Custom Delphi FireMonkey Components

Description : How to create custom components for the FireMonkey application platform.
Objective:  To enhance your mobile and desktop applications by creating custom reusable FireMonkey controls.
Presenter: Ray Konopka from Raize Software
Software Versions Supported: Delphi XE5 / XE6, RAD Studio XE5 / XE6.
Event: CodeRage 8
Level: Intermediate

Rapid application development (RAD) software solutions such as Delphi and C++ Builder uses a component-based framework that significantly reduces software development time.  RAD Studio FireMonkey components-based framework not only allows for faster delivery, more reliable systems (due to previously tested components), reusability and increase in productivity, but allows developers to target multi-device platforms (Android, iOS, Mac, Windows) from one codebase.

While RAD Studio (Delphi/C++ Builder) includes a wide range of FireMonkey components, there are often times when the base controls that comes with FireMonkey are insufficient. In the following video, Ray Konopka of Raize Software demonstrates how to enhance your mobile and desktop applications by creating custom reusable FireMonkey Components.

Read more on creating FireMonkey components on Embarcadero’s website.  Also, download Mitov Software free open source library OpenWire .  OpenWire library allows writing advanced VCL and FireMonkey components for rapid codeless application development.

Using Delphi FireMonkey to Integrate with Popular REST API

Description :  You will learn how to use Delphi FireMonkey REST client library to create desktop and mobile clients which integrate with popular web sites.
Objective: How to create REST clients and work with OAUTH authentication.
Presenter: Marco Cantù from Embarcadero and Olaf Monien (Developer Experts, LLC)
Software Versions Supported: Delphi XE5 / XE6, RAD Studio XE5 / XE6.
Event: CodeRage 8
Level: All

Representational State Transfer REST (sometimes spelled “ReST”) is an alternative to Web Services (SOAP, WSDL, etc.) and RPC (Remote Procedure Calls).  REST is an architecture style for designing networked applications using HTTP protocol.  Some advantages of REST is that it is fast, simple and lightweight compared to CORBA, RPC and SOAP.

RESTful applications use HTTP requests to post data (create/update), read data (queries) and delete data.  In spite of REST simplicity, it is fully-featured and can accomplish the same things as other Web Services.

A new REST client library was added in RAD Studio XE5.  Delphi and C++ Builder developers can now integrate with popular REST APIs, such as Facebook, Twitter, Flickr, Dropbox and many more.  A TAuthenticator components was also added in Delphi XE5 for OAUTH authentication.  Take a look at the following videos by Marco Cantù from Embarcadero and Olaf Monien (Developer Experts, LLC) at CodeRage 8, as they explain how to use the new REST client library in RAD Studio XE5.

The New REST Client Library by Marco Cantù from Embarcadero

The New REST Client Library, Dive into the Details by Olaf Monien (Developer Experts, LLC)

Other interesting examples of integrating Delphi FireMonkey REST client library, would be Sarina DuPont (Product Manager RAD Studio) article on “Feeling the Beat with REST“.  She explains in her article, how to create a mobile app that integrates with Beats API.  The article shows an example app that allows users to search for an artist by name and then return the list of available audio tracks.  Also check out Daniele Spinetti of bit Time Software article on how to Access Marvel Developer API with Delphi XE6.

How to Configure iOS and Android Environments to Compile, Run and Debug FireMonkey Apps.

Description :  You will learn how to configure Configure iOS and Android environments for compiling and debugging applications written in Firemonkey.
Objective: To configure iOS and Android environments for use with FireMonkey.
Presenter: David I, Embarcadero Technologies.
Software Versions Supported: Delphi XE5 / XE6, RAD Studio XE5 / XE6.
Level: All
Download: RAD Studio XE6 PAServer 14.0 Package for Mac

One of the major features about FireMonkey is its Cross-platform abstraction layer for OS features which gives developers the ability to create multi-device, true native apps for Windows, Mac, iOS and Android all from one code base.  Some of you may be wondering how is this possible when Rad Studio (Delphi / C++ Builder)  Integrated Development Environment (IDE) only runs on a Windows machine.  This is because Delphi/C++ Builder comes with many pre-declared Object Pascal APIs that interfaces with Mac OS X, iOS and Android APIs. While working in RAD Studio IDE on your windows machine,  the IDE allows developers to access these APIs properties and methods from their code.  The IDE also simulates the look and feel of these API components/objects on screen in design mode. However, in order to compile, run and test your Android and iOS applications, you will need access to their native environment.

While an Android environment (Android device or emulator) can be installed and accessed on a Windows machine, the same is not true for Mac OS X/iOS.  You will need a Mac computer with XCode IDE and Embarcadero’s  platform assistant server (PAServer)  installed.  The PAServer is a command-line application that lets RAD Studio interact with that system, to compile, run and debug cross platform (Mac OS X/iOS in this case) applications remotely.  The following video will give you step-by-step instructions on how to configure your development environment for compiling and debugging applications for Mac OS X and iOS with Delphi XE6, C++Builder XE6 and RAD Studio XE6.  You can also read  “How to Set Up Your Development Environment on the Mac (iOS)” article for more detailed instructions.

In this second video, you will learn how to configure your development environment using your Windows PC, for running, compiling and debugging Android applications. You can also read  “Set Up Your Development Environment on Windows PC (Android)” article for more detailed instructions.

Full Access to Android and iOS API using Delphi FireMonkey

Description :  You will learn how to get full access to Android and iOS API in your application using Delphi FireMonkey.
Objective: Get full access to Android and iOS API in FireMonkey.
Presenter: Brian Long from Brian Long Consultancy & Training Services Ltd
Event: CodeRage 8 and Brian Long’s Blog.
Software Versions Supported: Delphi XE5 / XE6, Appmethod
Level: Intermediate
Source code: Source code from Accessing the iOS API session and Accessing the Android API session.  Also download fmxexpress.com full set of Android SDK Object Pascal interface files on Github.

There are thousands of components and libraries (both free, commercial and open source) available for Firemonkey.  However, there will be times you will need functionality for your application that are no readily available libraries and components for. For example, you may need additional functionality for the media player component that comes out of the box with Rad Studio XE5 and XE6.  Functionality such as streaming from a remote server (on-demand) or even streaming a live event. You may also want to access methods in the AudioRecord class in Android for audio capture, but unfortunately there are no out of the box solutions currently in Rad Studio.

Embarcadero has done and is continuing to do a great job with FireMonkey to make sure it has all the essential library necessary from iOS and Android APIs.  And given time, I am sure developers will get full access to these APIs out of the box.  In the meantime, there is another way to get access to these additional APIs in your application.

Brian Long from Brian Long Consultancy & Training Services Ltd did two very interesting presentations at Coderage 8 where he did an excellent job (for such a complex topic) explaining how to access the Android and iOS API directly.  These videos are based on Delphi XE5, but since then, Brian has written two extensive articles, explaining some of the topics he covered in these videos, and the necessary updates for Delphi XE6.  After watching the videos, read Brian Long’s “Creating a splash screen for Delphi XE6 Android apps” and “Launching activities and handling results in Delphi XE6 Android apps” articles.

To bring out full access to iOS and Android APIs, an Object Pascal interface file must be created.  This interface file is the bridge to connect the Object Pascal world to the JAVA and Objective C world.  There are currently three different automated solutions available for Android to help with this process. I am not aware of any for iOS as yet. The three automated tools are  Android2Delphi (paid version – bitcoins only), Java2pas (free & paid version) and JavaImport for Android (paid version only).  Fmxexpress.com has also gone ahead and used Java2pas against the entire set of android.jar files for Android 7, Android 8, Android 10, Android 12, Android 14, Android 15, Android 16, Android 17, and Android 19.  You can read his blog post on Full Android SDK Interface Files In Object Pascal For Firemonkey.

Accessing the iOS API by Brian Long from Long Consultancy & Training Services Ltd

Accessing the Android API by Brian Long from Long Consultancy & Training Services Ltd

Backend as a Service (BaaS) applications using FireMonkey

Description: How to build connected multi-device apps using Backend as a Service (BaaS).
Objective: Learn how to use BaaS in your application to  gain easy access to common services in the cloud without having to build or maintain the backend services yourself.
Presenter: David Intersimone, Embarcadero.
Event:  RAD in Action
Software Versions Supported: Delphi XE6, C++ Builder XE6, RAD Studio XE6
Level: All

One of the cool new features in RAD Studio XE6 is Backend as a Service (BaaS).  BaaS, also known as “mobile backend as a service” (MBaaS), provides mobile app developers with a way to link their applications to backend cloud storage and APIs exposed by back end applications.  It does this, while also providing features such as push notifications, user management, and integration with social networking services.  RAD Studio XE6 BaaS integrates with leading BaaS providers which includes support for Kinvey and Parse out of the box.

With BaaS, you get easy access to common services in the cloud such as

  • Build multi-device service based applications using the FireMonkey and VCL frameworks
  • Use push notifications to engage your users on any device or platform
  • Access data and object storage in the cloud
  • Provide application and storage security with user authentication
  • Work with popular BaaS providers including Kinvey and Parse using a component based API

In this RAD in Action webinar video, David I explains how to  gain easy access to common services in the cloud without having to build or maintain the back-end services yourself.

Also, check out Sarina DuPont’s Blog for several articles on BaaS.

Java student builds 3D Othello Delphi FireMonkey game in 3 days

Daniel Messias is a 17 year old student who has been programming in Java for couple years.  He has written a 3D Othello game using Delphi FireMonkey in only 3 days.  For those of us who are not familiar with the game, Othello is a 2 players board game played on an 8×8 uncheckered board.  There are 64 identical game pieces called disks (often spelled “discs”), which are dark on one side and light on the other.  Players take turns placing disks on the board with their assigned color facing up.

Daniel transitioned his skills from Java over to Delphi Firemonkey from articles on docwiki.embarcadero.com.  The transitioned was exceptionally quick.  In a video with Stephen Ball from Embarcadero, he explains in his own words how Delphi really makes learning programming easy and cool.

Othello app can run on iOS, Android, Windows and Mac OS from the same code base. The app is also available on Nokia’s App Store. Head over to Stephen Ball’s blog to read the full article and to download the source code.

For other Delphi FireMonkey games you can visit the games section of our website.  There is also an earlier posting on this site that you may enjoy reading “Developing A Simple Mobile Game With Delphi FireMonkey“.

Developing A Simple Mobile Game With Delphi FireMonkey

Description :  Developing a simple mobile game with Delphi FireMonkey.
Objective: Learn how to design and develop a Bejeweled clone game for iOS and Android mobile devices using Delphi XE5 and FireMonkey.
Presenter:Joaquin Monedero – Embarcadero.
Event:  CodeRage 8.
Software Versions Supported: Delphi XE5 / XE6
Level: All
Source code: The free source code for Bejeweled clone can be downloaded on Github.

It is being predicted by analysts that with the increasing popularity of smartphones and tablets on the market, mobile devices will be the primary hardware for gaming by 2016.  The 2013 data released by the State of the Industry Survey, 55% of the participants in last year’s Game Developers Conference are interested in porting their console and PC games for smartphones and tablets and 58% of these developers are planning on launching their next creations on mobile platforms – specifically Android and iOS.

With the gaming market growing so rapidly, Rad Studio XE6 gives developers a huge advantage with its multi platform capabilities, helping developers get to market faster than the competition.  Watch Joaquin Monedero from Embarcadero do a splendid job explaining how to design and develop games for iOS and Android mobile devices using Delphi XE5 and FireMonkey.

Firemonkey Mobile Master/Detail Database Apps with FireDAC

firedac firemonkey database apps

Description :  Building Mobile Master/Detail Database Applications with FireDAC.
Objective: You will learn how to leverage the FireDAC components and also write cross platform code where required with master/detail data model examples.
Presenter: Marco Cantù, Embarcadero Technologies.
Event:  CodeRage Mobile Session (2013)
Software Versions Supported: Delphi XE5, Delphi XE6, RAD Studio XE6, C++ Builder XE6

Level: Intermediate

FireDAC is a Universal Data Access library/components for developing cross-platform database applications for Delphi and C++ Builder.  FireDAC enables native high-speed direct access to MySQL, SQLite, Oracle, SQL Server, IBM DB2, InterBase, PostgreSQL, Firebird, Informix, SQL Anywhere, Access and more.

Marco Cantù from Embarcadero Technologies does a great job explaining how to use FireDAC components across all of the Delphi target platforms using IBLite and IBToGo. However, FireDAC can be use just the same way with SQLite.

The FireDAC native driver supports SQLite database version 3.0 and later. For a detailed discussion on SQLite usage in FireDAC for a Delphi application, read the “Using SQLite with FireDAC” article.

Using SQLite in your application will require that the sqlite3.dll file be present on your development system. If this file is not present, download sqlite3.dll from http://www.sqlite.org/download.html to your system path (such as C:WindowsSysWOW64 for 64-bit Windows).

For more information on usage of FireDAC in mobile applications  read the “Using FireDAC in Mobile Applications (iOS and Android)” article.

Programming Mobile Devices and Gadgets using Firemonkey


Description :  How to take advantage of programmable and interactive devices and gadgets.
Objective: Learn how to create Delphi and C++ firemonkey apps for mobile devices and gadgets.
Presenter: Jim McKeeth & David Intersimone from Embarcadero.
Event:  RAD-in-Action Webinar
Software Versions Supported: Delphi XE5, Delphi XE6, RAD Studio XE6, C++ Builder XE6
Level: Advance
Source code: Source code for demos in this video is available on Code Central at http://cc.embarcadero.com/item/29699.

Although Delphi XE5 allowed you to create Android apps that ran on Google Glass using firemonkey, Delphi XE6 just made it even easier.  Delphi XE6 comes with a new custom style with Google Glass optimized look and resolution.  It also comes with a Google Glass device designer template.

You can now take full advantage of devices and gadget such as Google Glass (which went on sale in the US about a week ago) and Amazon Fire TV.  Google Glass is a stamp-sized electronic screen mounted on the side of a pair of eyeglass frames. It can record video, access email, provide turn-by-turn driving directions and retrieve information from the web by connecting wirelessly to a user’s phone.  Amazon Fire TV, is an streaming media player similar to the Roku and Apple TV, but android base. You can develop apps including games for the Amazon Fire TV the same way you would for any Android device.  Once your Fire TV app has been tested and is working properly on the Fire TV, it can then be submitted for approval on the Amazon app store.

Jim McKeeth & David Intersimone from Embarcadero did a fantastic job in this video explaining how to create Delphi and C++ firemonkey mobile applications that run/interact with the following devices and gadgets.

  • Google Glass
  • IP Camera and IO Controller
  • Ballistic Chronograph
  • Leap Motion 3D input
  • Z-Wave Home Automation
  • Barcode scanning
  • Emotiv EPOC brain computer interface
  • Philips Hue Wireless LEDs
  • Ouya
  • Kinect
  • And more!

Devices are platforms that can load and execute programs directly, such as an Android phone, iPhone, a tablet or even Google Glass.  A gadget on the other hand is something your program interacts with, like 3D input, a brain-computer interface, or a flying drone.