The new extensions license

As part of our review of our support and licensing model we have taken your advice and concerns on board and are currently redeveloping our entire system.

Over the coming month we will stop selling the extensions in their present form and be migrating to a new licensing and support model.

The new model will be as follows:

  • All server checks removed, each of your applications will be independent of our servers, forever
  • Updates and support will now be part of a yearly subscription, with discounts after the first year
  • There will no longer be a developer key, instead each application will have a unique application key
  • Application keys, subscriptions and support will all be managed through our new extensions site

Support Site //

The new site will be the gateway for all information, support, tutorials and subscriptions.

We have taken great care in putting together a site that will be easy to use and give you quick access to detailed information, documentation, tutorials and support on each of the extensions.

We will be introducing a getting started guide for each extension along with code snippets, screenshots (where applicable) and FAQs.

airnativeextensions.com.screen

Migration Plans //

For customers who are using the existing extensions you'll be able to continue using them just as you have in the past and none of your published applications will be affected. If you don't wish to update then you can keep using the current extensions.

We will stop updating the current GitHub repository and will be migrating to separate repositories for each extension. The current repository will be shut down early next year.

When you are ready to update to the new system, you'll need to log into the new site with your GitHub username and import your existing developer key. This will give you access to the new repositories and support for the extensions you currently have access to.

Dates

Current extensions will no longer be available for sale: 3rd December 2014
New support and license site will become available: 12th December 2014
Existing GitHub repository will be closed: 12th January 2015

Showcase //

We also want to show off your applications and what you’ve used our extensions to build. So if you have an application you’d like us to showcase on the site please send through some information including video or screenshots and a summary of the application and we'll put it up on the site.

Important update for the NativeMaps ANE

As of today, we've released an important update to the NativeMaps ANE.

Summary of features

  • Android 4.4 (KitKat) visibility problems fixed (see below for information)
  • Added functionality to get BitmapData of map view in Android
  • Android NativeMapEvent.MAP_CREATED event should now be more reliable
  • Important: New meta tag required for Android descriptor (see below)

Android 4.4 fixes
The main addition is a fix to resolve problems with the map visibility on devices running Android 4.4 (KitKat). Using the new version of the Android NativeMaps ANE (version 2.0), maps should now be visible on KitKat devices.

Unfortunately there is a downside to this, because of the change in z-order rendering required, the UI buttons on the map will not be visible in KitKat. This includes the zoom controls and the user location control buttons which normally appear above the map. It's recommended to provide additional UI controls in your application if these buttons are required.

Android BitmapData now available!
Retrieving a BitmapData object of the map view is now possible in Android. The old method (for iOS) drawMapToBitmapData() is now deprecated in favour of the new method requestMapBitmapData().

You should now listen for the new event type NativeMapBitmapEvent.READY, and retrieve the BitmapData object from the event payload. This is standard across iOS and Android now.

AIR SDK
It's strongly recommended to use the AIR 4.0 SDK or newer for your application. The fixes for the NativeMaps ANE on Android may not work correctly for older versions of the AIR SDK.

New meta tag required for Android descriptor
As of this version, you must now include an additional meta tag in your descriptor XML. The following entry should be added inside the section of your Android manifest. You can place it below the google maps API key entry.

<meta-data android:name="com.google.android.gms.version" android:value="4030500"/>

Also, you must ensure that your Android manifest permissions include android.permission.ACCESS_NETWORK_STATE

As always, please let us know if you encounter any problems!

Win a license for our ANE Package!

Update: The competition is now closed. We'll be announcing the winner soon.


distriqt_ane_competition_v3

Do you want to win a license for the full ANE package?

We're giving away a full license and copy of our complete native extensions package. All you have to do is follow us on Twitter, and post a tweet with the hashtag #distriqtANE telling us what you'd make with the extensions.

Make sure to include the competition hashtag to be in the running!

1. Follow us!

2. Tweet it!


This competition will run from the 18th of November 2013 until the 2nd of December 2013, in Australian time (AEST). We'll select the most creative idea posted, and the winner will be provided with a full license key for the package.

Native Extensions // Support Site

After over a year of trying to handle support through email we've finally got a forum, feature requests and knowledge base up and running for the native extensions.

We'd love all our users to check it out, enter any suggestions for future ANE's, and to discuss any questions you may have regarding the use of the ANE's.

support-screenshot-1

We've tried out several solutions and have decided to use the awesome Uservoice platform. We're hoping this will improve all our native extension users experience with our support and help you to get going with the native extensions faster.

http://distriqt.uservoice.com

Using the NativeMaps ANE with Starling/Feathers

We generally use Starling & Feathers to build most of our iOS and Android apps these days. The performance of Starling is great, and while Feathers is mostly aimed at game development, it's an awesome framework for building regular apps as well.

Recently we were building an app which also used our NativeMaps native extension (check it out here: labs.distriqt.com/native-extensions)

One issue with this, however, is that because of the way Starling runs on the GPU, it severely affected the interaction and performance of the native maps interface on iOS. (I'm not sure of the effects on Android, but we used the same technique here across platforms.)

This post is a rough guide to the way we worked around the problem in order to get better performance from the map UI.

Continue reading Using the NativeMaps ANE with Starling/Feathers

Native Maps ANE – New features and changes

We've released another update to the NativeMaps ANE, which includes some new features and changes.

Getting BitmapData of the map view (iOS only)
Firstly, we've added a new method to allow you to draw the current map view to a BitmapData object on iOS. Unfortunately due to the way Android renders maps internally, it is currently not possibly to do this in the Android version.

Example:

var bmd:BitmapData = NativeMaps.service.drawMapToBitmapData();

Custom marker icon changes
This is a breaking change to the way custom marker icons are used. This new method should make it easier and less memory intensive when using a lot of custom icons.

This example shows how you should create and use custom markers now:

var icon:CustomMarkerIcon = new CustomMarkerIcon("myCustomIcon", someBitmap.bitmapData);
NativeMaps.service.addCustomMarkerIcon( icon );

var marker:MapMarker = new MapMarker("someMarker");
marker.customIconId = "myCustomIcon";

This new change also fixes a possible bug that could have occurred when using many different custom markers on a map.

As always we'd love to hear feedback about our ANEs, so feel free to get in touch.

Native Extensions // Using Native Extensions

This tutorial will cover adding a Native Extension for Adobe AIR to your application.
We are going to be focusing on the native extensions developed by distriqt, but this guide should apply to any native extension (ANE).

Native Extensions for Adobe AIR are code libraries that contain native code wrapped with an ActionScript API. Native extensions provide easy access to device-specific libraries and features that are not available in the built-in ActionScript classes.

Their usage is similar to a SWC package of precompiled Flash symbols.

In the following tutorial we’re going to go through the process of adding an ANE to your AIR application using some of the most common AIR development tools. We assume you already understand the process of developing and deploying mobile applications using AIR so will just be concentrating on the additional steps required to get an ANE working.

Read the full tutorial online
Tutorial // Using Native Extensions
Download a pdf of the tutorial
Download PDF

Native Extensions // Push Notifications Tutorial // Part 2

This tutorial is the second part of our tutorials covering setting up and running the Push Notifications Native Extension for Adobe AIR from distriqt.

The Push Notifications extension enables the push notification functionality in your mobile AIR application allowing you to send (or push) notifications and data to users of your application. The extensions API will have you up and running with remote notifications in minutes.

Importantly this extension allows you to write code once and have access to push notifications on multiple platforms allowing you to quickly integrate push notifications no matter what platform you are developing for!

In this tutorial we will run through the concepts involved in getting your application setup and running with push notifications including:

  • Including the extension in your application
  • Registering for notifications
  • Listening for notifications
  • Sending a test notification

Continue reading Native Extensions // Push Notifications Tutorial // Part 2

Native Extensions // Push Notifications Tutorial // Part 1

This tutorial will cover setting up and running the Push Notifications Native Extension for Adobe AIR from distriqt.

With the Push Notifications extension enables the push notification functionality in your mobile AIR application allowing you to send (or push) notifications and data to users of your application. The extensions API will have you up and running with remote notifications in minutes.

Importantly this extension allows you to write code once and have access to push notifications on multiple platforms allowing you to quickly integrate push notifications no matter what platform you are developing for!

In this first tutorial we will run through the concepts involved in getting your application setup and running with push notifications including:

  • Setup and registering certificates for APNS
  • Setup for GCM

Continue reading Native Extensions // Push Notifications Tutorial // Part 1