Jump to content

Recommended Posts

  • Administrators
Posted

Download:
The distributive is available by request only.

Release date:
9 November 2022


Warning 🚨

This is an experimental build with a lot of changes. Despite the fact that we have successfully tested it on large projects of some of our clients, we want to be sure of its stability. Therefore, these releases can be used to check your projects on this version. If you find any problems, be sure to let us know. Within a few iterations of fixing your feedback, we will release a stable version. Be sure to make a backup of your projects.

In this release, the migration to AndroidX and Android 13 is underway. In this regard, all header files of the Android API have been updated. Some modules have been removed, some types have been moved to new header modules. For details, see the corresponding section below.

Starting with this release, all FGX Native applications are targeted at targetSdkVersion = 33. This value cannot be decreased.

If you are using Firebase Push-notifications on 10.4, you need to update the Firebase settings. For details, see the corresponding section below.

New

The new build system of Android applications

An alternative build system has been integrated, which is now used by FGX Native to build Android applications. This innovation speeds up the assembly of applications several times. Internet access is required for use. It may be necessary to update the JDK version (if the build does not work for you). However, Oracle JDK 19 is not yet compatible with the build system.

AndroidX

FGX Native was migrated from Android Support Library to the latest version of AndroidX.

AdMob 

The new demo samples were added:

  • "Components" -> "TfgBannerAd" -> "Sample of showing advertising banner"
  • "Components" -> "TfgInterstitialAd" -> "Interstitial advertising"

Improvements 🙌

Accelerating the launch of Android applications

In this release, we have accelerated the launch of Android applications.

Project migration

The process of updating old FGX Native projects to current versions has been improved. Now, if the migration process involves updating the project template files, then the IDE will display an update window with an editor to the user, where you can migrate your changes. If you want to do this later, click the ignore button, in which case the IDE will save the new template in the root of the project with the "new" postfix.

Supporting Android Libraries

Now you can use AAR files in the wizard for managing third-party Android libraries.

The wizard is accessible via the IDE's main menu "Project" -> "Android FGX Libraries".

Updating Android API

All Android API header files: Android.Api.*.pas have been updated to "Android 12L" (Api Level = 32).

Deleted:

  • Android.Api.ListView
  • Android.Api.Supports
  • Android.Api.Supports.Utils
  • Android.Api.Supports.CoordinatorLayout
  • Android.Api.Supports.TabLayout
  • Android.Api.Supports.Widgets

Added:

  • Android.Api.AndroidX

AdMob 

The AdMob library has been updated to 21.2.0. In addition, the header file Android.Api.PlayServices has been updated.

Firebase 

Updated Android version Firebase to 23.0.8 .

The header file Android.Api.Firebase.Messaging has been completely updated to the latest version.

Now you can send a link to the image in a push notification. In this case, the notification will be displayed on the device with an image.

The new version of Firebase requires additional project settings. These settings are in "Project Options" -> "Services" in Delphi 11.0. However, these settings are not in Delphi 10.4.

If you are using 10.4, then you need to manually add the missing keys to the dproj file. In the future, we will have our own project setup wizard. But for now it is necessary to perform:

  1. Download new "google-services.json" file from Firebase console.
  2. Open it in text editor and remember followed values:
    • "client" -> "client_info" -> "mobilesdk_app_id"
    • "project_info" -> "project_id"
  3. Open "dproj" project file in text editor and find "PropertyGroup" XML node, which contains node Android_ApiKey. Add followed new nodes to this node with the valuesfrom "google-services.json"
    <Android_ProjectId>project_id</Android_ProjectId>
    <Android_AppId>mobilesdk_app_id</Android_AppId>      
  4. Save dproj file and reopen project in IDE. 

TfgBarcodeScanner

Now we are using MLKit version 18.1.0

Java2Delphi

In the new version "Java2Delphi 2.4" it is now possible to use AAR libraries. To do this, you need to specify them in the configuration file in the "aars" branch.

"aars": [
    "$(FGX)\\Libs\\Android\\fgx.admob.aar"
]

In addition, the generator is now able to mark obsolete members of the Android API class and make a comment about which version of Android the member was first introduced or outdated.

function isConvex: Boolean; deprecated 'Deprecated in 30';
function addWhitelistedRestrictedPermission(const AArg0: JString; const AArg1: JString; const AArg2: Integer): Boolean; // Introduced in 29';
{ constants }
property colorMode: Integer read _GetColorMode write _SetColorMode; // Introduced in 26';

In this release, we have accelerated the launch of Android applications, the acceleration is partly due to the generated header files. This means that if you generated your header files using our tool and continue to use them, the optimization will not apply to the old header files. If you want to apply optimization to them, then you need to regenerate them again.

Together with the new version, we deliver an updated file containing a description of the entire Android API 32 version, and a config template. If you have used the utility before, we recommend updating your "config.json".

The new version of the utility also now intelligently handles cyclic dependencies between Java classes. Read the details at the link below.

Delivering AAR instead of JAR for FGX Native

Now we are delivering full-fledged FGX Native AAR libraries in the installer instead of JAR.

  • Like 3
×
×
  • Create New...