<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[distriqt - Medium]]></title>
        <description><![CDATA[Native Extensions Articles and News - Medium]]></description>
        <link>https://medium.com/airnativeextensions?source=rss----1c5b5cd86bc2---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>distriqt - Medium</title>
            <link>https://medium.com/airnativeextensions?source=rss----1c5b5cd86bc2---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 12 Nov 2026 14:00:30 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/airnativeextensions" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[November 2023]]></title>
            <link>https://medium.com/airnativeextensions/november-2023-db45a62d802b?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/db45a62d802b</guid>
            <category><![CDATA[macos]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[android]]></category>
            <category><![CDATA[ios]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Thu, 30 Nov 2023 22:01:50 GMT</pubDate>
            <atom:updated>2023-11-30T22:01:50.017Z</atom:updated>
            <content:encoded><![CDATA[<h4>ANE Updates, AIR SDK Manager</h4><p>This year has been remarkably busy and unfortunately news updates were pushed down the list, but as the year comes to a close I’d like to update on what we see as the major native extension news over the past months.</p><p>Major changes across all our extensions include:</p><ul><li>iOS/macOS Xcode 14 update that required removal of bitcode support and increasing the minimum sdk to 12;</li><li>Android permissions overhaul for new Android 33+ requirements;</li><li>Android compatibility when running AIR in a background thread;</li><li>Apple Silicon support for our macOS extensions;</li></ul><p>We have several major projects in the works including:</p><ul><li>Scanner rewrite away from the deprecated library currently in use;</li><li>Migration to gradle dependencies in all our dependency extensions;</li><li>apm integration with IDEs;</li></ul><p>Some of the key recent changes are listed below.</p><p>Looking forward to another year of amazing AIR development!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*BQwpdPM8HxC9lT5D.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.Contacts">Contacts</a></h3><p>A complete rewrite of the iOS implementation of the Contacts extension brings the latest functionality from iOS using the newer Contacts framework.</p><p>This update should vastly improve performance of contact retrieval and ensures support on the latest versions of iOS.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*Itx1_f11whr6aapr.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.GameServices">Game Services</a></h3><p>We added support to the Game Services extension for Huawei Game Service v6.10. This extension now gives you access to the major mobile game services:</p><ul><li>Apple Game Center (iOS/macOS)</li><li>Play Games (Android)</li><li>Huawei Game Services (Android)</li></ul><p>Additionally we have a major project underway with this extension to update the Play Games implementation to use the newer “Play Games v2” library.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*GWvIPrH862BTMKR9.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.InAppBilling">InAppBilling</a></h3><p>All the SDKs have been updated to the latest releases including:</p><ul><li>Google Play billing library to version 6;</li><li>Amazon to version 3 (including addition of promotions, offers and free trials);</li><li>Huawei v6.10</li></ul><p>The latest Play Billing library requires an updated version of the Play Store application to be installed on the device so you may want to check for the availability of this before attempting to retrieve the product list. As part of the updates this year we also added an automatic fallback to the older implementation of products / purchases for Google Play Billing in order to keep supporting devices that haven’t updated the Play Store application.</p><p>A range of bug fixes including:</p><ul><li>correct issue with no event after ui cancelled by user;</li><li>correct pending purchase list after purchase consumption;</li><li>correctly supply subscription offer for new purchase;</li></ul><p>We also have a major project underway with this extension to provide a simplified “inventory” management wrapper which should handle a lot of the complexities of making purchases. This will be an open source project utilising the extension. We hope to release more on this in the new year.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*DKiqYWZfGEipEJP3.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.Permissions">Permissions</a></h3><p>The permissions extension has had some major updates. We found the latest updates to Android had broken the usage of this extension so we completely rewrote the authorisation process to better handle the transition through “not determined”, “should explain” and then “denied”. We have also added callbacks on several of the permission request processes to make handling permissions in your application much simpler.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*3iClzqnrUG7Y7lux.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.NativeWebView">NativeWebView</a></h3><p>The windows implementation was updated to use the latest chromium release.</p><p>The macOS implementation added support for Apple silicon ensuring support on the latest macOS machines.</p><p>Android support for communicating with a WebView when AIR is running on a background thread.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*GIqWtOM1ngRlKFK7.png" /></figure><h3><a href="https://airsdk.dev/docs/basics/getting-started">AIR SDK Manager</a></h3><p>This is an application you can use to manage your AIR SDK installations and update them as new releases are available. Additionally you can configure your SDKs without having to manually edit the adt.cfg file and import a license file. This has become a great tool to install and manage your AIR SDKs and we use it to manage all our developer SDKs now.</p><p>The tool has had troubleshooting section added which directly connects to adt to get debugging information when packaging your AIR applications.</p><p>We have added this tool as the suggested installation process through the <a href="https://airsdk.dev/docs/basics/getting-started">airsdk.dev getting started guide</a>.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=db45a62d802b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/november-2023-db45a62d802b">November 2023</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[November 2022]]></title>
            <link>https://medium.com/airnativeextensions/november-2022-7c57b468d525?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/7c57b468d525</guid>
            <category><![CDATA[admob]]></category>
            <category><![CDATA[adobe-air]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[android]]></category>
            <category><![CDATA[google-play-billing]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Wed, 30 Nov 2022 06:12:13 GMT</pubDate>
            <atom:updated>2022-11-30T06:12:13.231Z</atom:updated>
            <content:encoded><![CDATA[<h4>AIR SDK Manager, Adverts, Application Rater</h4><p>As the end of the year approaches we have been cleaning up a lot of the work we have done this year and starting to set out development goals for the first half of next year. As we enter into the final weeks of the year if there is anything in our extensions that you believe should have priority please let us know and we will be sure to schedule it for the beginning of the year.</p><p>Importantly this month Harman have released a beta of the new <strong>AIR SDK Manager</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*nvrv1bYSaELfGUzu.png" /></figure><h4><a href="https://github.com/airsdk/Adobe-Runtime-Support/discussions/2291">AIR SDK Manager</a><a href="https://docs.airnativeextensions.com/news/2022-11#air-sdk-manager">​</a></h4><p>This is an application you can use to manage your AIR SDK installations and update them as new releases are available. Additionally you can configure your SDKs without having to manually edit the adt.cfg file and import a license file. This looks to be a great tool and we are excited to see how you find it.</p><blockquote>We would value any feedback/comments/ideas of how to improve this. The idea is that you can update SDK versions where there are bug fixes but then each feature-based update can be managed separately. It also allows you to sort out the configuration settings, hopefully meaning you no longer need to bother with adt.cfg files.</blockquote><p>We’d be particularly interested in hearing how you would integrate tools like this into your development process and how tools like apm could work alongside the AIR SDK Manager and your IDEs.</p><p>For more information and giving feedback, see the <a href="https://github.com/airsdk/Adobe-Runtime-Support/discussions/2291">github discussion</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*Ne3hZCWtzoO4jVcY.png" /></figure><h4><a href="https://airnativeextensions.com/extension/com.distriqt.Adverts">Adverts</a></h4><p>We have released a few small fixes for the Adverts extension. Firstly resolving a long standing issue with server side verification options on rewarded video ads. Secondly some documentation updates reflecting Google’s change from “funding choices” to “privacy and messaging” for the UMP consent dialog setup. And lastly an update to support the new App Set library, removing the usage of the advertising identifier which can cause privacy concerns particularly in family and children targetted applications.</p><p>If you wish to continue using UMP and the advertising identifiers we suggest you also install the IDFA extension. This will give you access to the tools to request access to the advertising identifier and install the required dependencies for it’s usage.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*78gT-EDchdkxGlQO.png" /></figure><h4><a href="https://airnativeextensions.com/extension/com.distriqt.ApplicationRater">Application Rater</a><a href="https://docs.airnativeextensions.com/news/2022-11#application-rater">​</a></h4><p>The Application Rater extension has been updated to support the Samsung Galaxy store.</p><p>This means that it will now detect if your application was installed through the Galaxy store and correctly redirect to the rating page in the Galaxy store from the rating dialog.</p><p>You can find more information about handling ratings from the different stores in the documentation on <a href="https://docs.airnativeextensions.com/docs/applicationrater/handling-stores">Handling Stores</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*bA626TV2khfyiPei.png" /></figure><h4><a href="https://airnativeextensions.com/extension/com.distriqt.InAppBilling">InAppBilling</a><a href="https://docs.airnativeextensions.com/news/2022-11#inappbilling">​</a></h4><p>With the latest update to v5 of the play billing library, several developers have noted that certain devices don’t return a product list from the getProducts() call and instead get an error dispatched.</p><p>The latest Play Billing library requires an updated version of the Play Store application to be installed on the device so you may want to check for the availability of this before attempting to retrieve the product list.</p><p>We have added some helpers to check for the availability of the billing service on the current device and included a response that indicates if the store application needs updating:</p><pre>InAppBilling.service.checkAvailability(<br>        function ( availability:String ):void<br>        {<br>            if (availability == InAppBillingAvailability.STORE_UPGRADE_REQUIRED) <br>            {<br>                // An update for the play store application is required<br>            }<br>        }<br>);</pre><p>For more information on the availability see the <a href="https://docs.airnativeextensions.com/docs/inappbilling/billing-service#availability">documentation</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*6NYBp5gkthk15L4V.png" /></figure><h4><a href="https://airnativeextensions.com/extension/com.distriqt.Permissions">Permissions</a><a href="https://docs.airnativeextensions.com/news/2022-11#permissions">​</a></h4><p>The permissions extension has had some updates to improve the openDirectory() functionality including returning an event on result (PermissionsEvent.OPEN_DOCUMENT) which contains the path the user selected.</p><p>You can read more about this change <a href="https://docs.airnativeextensions.com/docs/permissions/file-folder-access">here</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*SVzNZp-pUbo0XmHE.png" /></figure><h4><a href="https://airnativeextensions.com/extension/com.distriqt.NativeWebView">NativeWebView</a><a href="https://docs.airnativeextensions.com/news/2022-11#nativewebview">​</a></h4><p>Lastly this month we released a small update for the Native WebView extension to fix some focus issues on Android with the web view and the latest AIR SDK releases.</p><p>If you are using this extension it is worth updating just to ensure the focus works correctly particularly if you are managing key inputs and overriding the back key operation on Android.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7c57b468d525" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/november-2022-7c57b468d525">November 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[October 2022]]></title>
            <link>https://medium.com/airnativeextensions/october-2022-495f4ac8803f?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/495f4ac8803f</guid>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[ironsource]]></category>
            <category><![CDATA[google-play-billing]]></category>
            <category><![CDATA[android]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Mon, 31 Oct 2022 04:19:43 GMT</pubDate>
            <atom:updated>2022-10-31T04:19:43.062Z</atom:updated>
            <content:encoded><![CDATA[<h4>Play Billing v5 release, IronSource updates</h4><p>This last month has seen the release of the major update for our InAppBilling extension to support the latest version of the play billing library from Google for the Play Store. This update brings a major change to the way subscriptions are handled and is critical for any updates or new applications released to the Play Store.</p><p>Additionally we have released several updates and new mediation networks for the ironSource extension.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*2zMvgrwe2Elk9kN8.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.InAppBilling">InAppBilling</a><a href="https://docs.airnativeextensions.com/news/2022-10#inappbilling">​</a></h3><p>Many of you will have received the following notice from Google over the previous months:</p><blockquote>Starting on August 2, 2022, all new apps must use Billing Library version 4 or newer. By November 1, 2022, all updates to existing apps must use Billing Library version 4 or newer.</blockquote><p>We are excited to announce that version 14 of the InAppBilling extension brings v5.0.0 of the Billing library so you will be able to update your applications to satisfy the latest Play Store requirements.</p><p>Version 5.0.0 brings some major changes to subscriptions and some breaking API changes that you will need to update your application to manage. These changes are mainly focused around subscriptions and generally developers who only use consumable / non-consumable products shouldn’t see any change in functionality.</p><p>For more information on migrating, follow the <a href="https://docs.airnativeextensions.com/docs/inappbilling/migration-v14">migration guide</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*Npk_9BUQD_FUE-1D.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.IronSource">IronSource</a><a href="https://docs.airnativeextensions.com/news/2022-10#ironsource">​</a></h3><p>Last month we released updates to the mediation adapters for several of the networks, including:</p><ul><li>AdColony</li><li>AppLovin</li><li>AdMob</li><li>UnityAds</li></ul><p>We have also added several new mediation adapters for the following networks:</p><ul><li>Vungle</li><li>Digital Turbine (Fyber)</li></ul><p>Additionally some minor functionality updates to the IronSource extension included the addition of the setMetaData function to help set meta data for mediation networks and other non-specific configuration values.</p><blockquote>Please note this extension is provided for free, so if you do find it useful, please consider <a href="https://github.com/sponsors/marchbold">sponsoring</a> the developers involved.</blockquote><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=495f4ac8803f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/october-2022-495f4ac8803f">October 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[September 2022]]></title>
            <link>https://medium.com/airnativeextensions/september-2022-8fdaf48e93be?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/8fdaf48e93be</guid>
            <category><![CDATA[newsletter]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[android]]></category>
            <category><![CDATA[google-play-billing]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Mon, 03 Oct 2022 08:54:22 GMT</pubDate>
            <atom:updated>2022-10-03T08:54:22.931Z</atom:updated>
            <content:encoded><![CDATA[<h4>Cutouts/Notches, InAppBilling testing</h4><p>This month a series of smaller updates have been released including updates for Application, Adverts and Permissions extensions to address some minor issues that were found in the extensions and to add some features.</p><blockquote>COMMUNITY ANNOUNCEMENT</blockquote><blockquote>The AS3 reference has finally been updated to reflect the latest changes in the AIR SDK since harman took over development. We have been able to host it on the air sdk developer portal, so if you need access to the latest actionscript reference you will find it here: <a href="https://airsdk.dev/reference">https://airsdk.dev/reference</a>.</blockquote><blockquote>Additionally if you have any tutorials or guides that may be useful for the AIR community please reach out to us and we can help you get them hosted on the airsdk.dev site.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*Nv-mDEN7nHlhR7bT.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.Application">Application</a><a href="https://docs.airnativeextensions.com/news/2022-09#application">​</a></h3><p>The Application extension has had some small updates to improve the cutout information available. On Android you now can not only retrieve information on the safe area (i.e. the area of the stage that is safe to draw content) but also get “bounding box” information for each cutout/notch on the current device. This allows you to better render content outside the safe area but still avoid the cutouts.</p><p>This update also brings some additional integration for use with alarms on Android 12+ where more restrictions have been placed on exact alarms.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*Batfh2qMn03PMocS.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.InAppBilling">InAppBilling</a><a href="https://docs.airnativeextensions.com/news/2022-09#inappbilling">​</a></h3><p>Our InAppBilling extension has been released to beta and is in final testing before the release. This major update contains the update to the latest version of the Google billing library (version 5).</p><p>If you have the capability to help us test, we are looking for people to test the beta release before we finalise the API and changes to the extension. You will find a link to the latest beta build in this issue: <a href="https://github.com/distriqt/ANE-InAppBilling/issues/482">https://github.com/distriqt/ANE-InAppBilling/issues/482</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*iP1QSTPp_LCaBFVK.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.Adverts">Adverts</a><a href="https://docs.airnativeextensions.com/news/2022-09#adverts">​</a></h3><p>We added some additional information for reward video and interstitials, allowing you to retrieve the reward amount for an advert before displaying it. This allows you to correctly show the reward amount for a video when presenting it to a user.</p><p>Some minor bug fixes including:</p><ul><li>native ads which were reappearing after having been removed from the view</li><li>some minor fixes for the documentation</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*gT3IUbpwuEBeyRba.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.Permissions">Permissions</a><a href="https://docs.airnativeextensions.com/news/2022-09#permissions">​</a></h3><p>The Permissions extension has been updated to include the ability to request permissions for managing all files on a storage device. This is a separate authorisation process from the normal android runtime permissions and requires a specific activity to be integrated. This is now available in the latest release.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8fdaf48e93be" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/september-2022-8fdaf48e93be">September 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[August 2022]]></title>
            <link>https://medium.com/airnativeextensions/august-2022-204c68cb9810?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/204c68cb9810</guid>
            <category><![CDATA[google-play-billing]]></category>
            <category><![CDATA[in-app-billing]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[newsletter]]></category>
            <category><![CDATA[apm]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Wed, 31 Aug 2022 00:00:28 GMT</pubDate>
            <atom:updated>2022-08-31T00:00:28.774Z</atom:updated>
            <content:encoded><![CDATA[<h4>APM Update, InAppBilling testing</h4><p>This month a series of smaller updates have been released including updates for Firebase, Adverts and Share extensions to address some minor issues that were found in the extensions.</p><p>Importantly APM v1.2.0 has been released! If you aren’t using APM to manage your extensions we highly recommend spending a small amount of time to migrate to using this tool. It will save you an enormous amount of time maintaining your application descriptor particularly for Android builds when needing to update the manifest additions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*plPRtdftXHIzwLOz.png" /></figure><h3><a href="https://github.com/airsdk/apm">APM</a><a href="https://docs.airnativeextensions.com/news/2022-08#apm">​</a></h3><p>The AIR Package Manager has had an update this month with v1.2.0 being released. This update includes some better management of the data files keeping the order of the contents in the files more consistent which should improve their usage in version control systems such as git.</p><p>Additionally several updates and fixes were included, particularly around an issue with a failed update where the installed extensions were lost.</p><p>See the full release notes <a href="https://github.com/airsdk/apm/releases/tag/1.2.0">here</a>.</p><p>If you are looking to get started with APM we recommend checking out the <a href="https://github.com/airsdk/apm/discussions/75">migration guide</a> which goes through a case study of an application we migrated to APM.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*ARRSoZzNMbJhfD4u.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.InAppBilling">InAppBilling</a><a href="https://docs.airnativeextensions.com/news/2022-08#inappbilling">​</a></h3><p>Our InAppBilling extension is in final testing before the release containing the update to the latest version of the Google billing library (version 5).</p><p>We have had to make some changes to the API particularly around subscriptions and discounts. If you have the capability to help us test, we are looking for people to test the beta release before we finalise the API and changes to the extension. Just drop a note on this issue and we’ll get you the latest beta version as soon as it’s available: <a href="https://github.com/distriqt/ANE-InAppBilling/issues/482">https://github.com/distriqt/ANE-InAppBilling/issues/482</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*ucGgpixpEGwxwkJM.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.IronSource">IronSource</a><a href="https://docs.airnativeextensions.com/news/2022-08#ironsource">​</a></h3><p>Our IronSource extension has been updated to the latest release including all mediators.</p><p>There were some issues with the previous release with some of the mediators conflicting with the version of playservices in use. This has now been resolved and all the mediators should be working again.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*NaFVq7qj84whgomR.png" /></figure><h3><a href="https://github.com/distriqt/ANE-DynamicIcon">DynamicIcon</a><a href="https://docs.airnativeextensions.com/news/2022-08#dynamicicon">​</a></h3><p>Our DynamicIcon extension has been updated to use icons from the iOS asset catalogue with the latest Xcode 13 tools. You now can package your alternative icons in your asset catalogue along with your main application icon and launch images.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=204c68cb9810" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/august-2022-204c68cb9810">August 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[July 2022]]></title>
            <link>https://medium.com/airnativeextensions/july-2022-58fa5b9ad9b5?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/58fa5b9ad9b5</guid>
            <category><![CDATA[newsletter]]></category>
            <category><![CDATA[ios-simulator]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[google-play-billing]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Wed, 03 Aug 2022 05:24:21 GMT</pubDate>
            <atom:updated>2022-08-03T05:24:21.670Z</atom:updated>
            <content:encoded><![CDATA[<h4>In-App Billing changes, iOS Simulator, SWC build issues</h4><p>There is a lot of work in progress at the moment with some major changes coming up later this year, particularly for Android and the Google Play store.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*FcOohIjmRUrXhAWS.png" /></figure><h3>SWC Compilation<a href="https://docs.airnativeextensions.com/news/2022-07/#swc-compilation">​</a></h3><p>AIR 33.1.1.889 was released with some changes to the way SWC’s are packaged and this affected our ANEs. Several of our updates went out with this version and caused issues in certain circumstances with errors such as circular references or duplicate definitions.</p><p>We also found that SWC’s that relied on other SWC’s also had runtime errors such as “ABC data is corrupt, attempt to read out of bounds”.</p><p>We have updated the extensions we believe were affected but if you find any issues like this with any of our ANEs please let us know as we likely will need to rebuild them with a different AIR SDK.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*N-W5PXg7z1XLOHSK.png" /></figure><h3><a href="https://airnativeextensions.com/extension/com.distriqt.InAppBilling">InAppBilling</a><a href="https://docs.airnativeextensions.com/news/2022-07/#inappbilling">​</a></h3><blockquote>Reminder: Starting on August 2, 2022, all new apps must use Billing Library version 4 or newer. By November 1, 2022, all updates to existing apps must use Billing Library version 4 or newer. <a href="https://developer.android.com/google/play/billing/deprecation-faq">Learn more.</a></blockquote><p>Currently our extension uses version 3 of the billing library and we are in progress of a major update to bring it to the latest version 5 (released in May). This is requiring some restructuring of the calls (particularly as some of the previously synchronous calls are now asynchronous) which we are endeavouring to manage internally to the extension however we may have to introduce some API changes here.</p><p>We are hoping to have this ready for developers by the end of August, well before the November deadline for all applications.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*GbQZizrzbBxuTkvf.png" /></figure><h3><a href="https://github.com/airsdk/apm">AIR Package Manager</a><a href="https://docs.airnativeextensions.com/news/2022-07/#air-package-manager">​</a></h3><p>We are working through further development on the apm tool at the moment, mainly around cleaning up some of the processes. If you have been using the tool and have any suggestions as to improvements we would love to hear from you on the <a href="https://github.com/airsdk/apm/discussions">discussion forum</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*JgbIHknataxDnZOf.png" /></figure><h3>iOS Simulator<a href="https://docs.airnativeextensions.com/news/2022-07/#ios-simulator">​</a></h3><p>We have recently let the iOS simulator implementations of some of our extensions slip and this month we have updated all our build processes to ensure the iOS simulator builds are kept inline with the main build.</p><p>Previously this was difficult when dynamic frameworks were involved but we have devised a new system to handle these and correctly include them in both the repository and the airpackage’s for all our extensions.</p><p>These updates will roll out with the next release of our extensions, starting with the Facebook extensions in July. If there are any that you are concerned about let us know and we will get them updated immediately.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=58fa5b9ad9b5" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/july-2022-58fa5b9ad9b5">July 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[June 2020]]></title>
            <link>https://medium.com/airnativeextensions/june-2020-d28af4ef4e81?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/d28af4ef4e81</guid>
            <category><![CDATA[firebase]]></category>
            <category><![CDATA[ironsource]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[facebook]]></category>
            <category><![CDATA[newsletter]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Fri, 01 Jul 2022 02:21:22 GMT</pubDate>
            <atom:updated>2022-07-01T02:21:22.265Z</atom:updated>
            <content:encoded><![CDATA[<h4>Extension updates</h4><p>This month has been full of update releases. We have been working on a series of updates for some of our major extensions over the past few months and many of them have been released this month.</p><ul><li>Facebook</li><li>Firebase</li><li>PushNotifications (FCM + OneSignal)</li><li>Adverts</li><li>IronSource</li></ul><blockquote>Please note that these all involve an update of our dependency extensions. We highly recommend using <a href="https://github.com/airsdk/apm">apm</a> to manage and update extensions in your AIR application.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*PIZRl36VBnX5AFTp.png" /></figure><h3>Facebook<a href="https://docs.airnativeextensions.com/news/2022-06/#facebook">​</a></h3><p>This latest update brings an update to the iOS SDK. Recent AIR SDK updates has meant we can finally bring a much more recent version of the Facebook SDK to AIR developers on iOS which should be a welcome update to anyone who uses Facebook social or login features in their application. The API has remained unchanged but internally it will be using a much more recent version of the SDK.</p><p>Additionally some critical fixes were released including fixing an issue with session not persisting across launches on iOS.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*HzF9zq2-MAIsYHtG.png" /></figure><h3>Firebase<a href="https://docs.airnativeextensions.com/news/2022-06/#firebase">​</a></h3><p>This update brings an update to the iOS SDK. Similar to the Facebook extension, recent updates to the AIR SDK has meant we can now bring a more recent version of the Firebase SDK to iOS developers. This should bring a range of bug fixes and improvements to the underlying Firebase SDK.</p><p>Firebase Storage extension now provides the ability to <a href="https://docs.airnativeextensions.com/docs/firebase/storage/list-files">list files</a> that you have stored in your storage bucket:</p><pre>var ref:StorageReference = FirebaseStorage.service.getReference();<br>ref.addEventListener( <br>    StorageReferenceListEvent.SUCCESS, <br>    listSuccessHandler );<br>ref.listAll();</pre><pre>function listSuccessHandler( event:StorageReferenceListEvent ):void <br>{<br>    // Contains a list of &quot;items&quot; - each represents a storage item <br>    for each (var item:String in event.items)<br>    {<br>        var ref:StorageReference <br>          = FirebaseStorage.service.getReference( item );<br>    }<br>}</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*O4rmfZUVECIyRyXz.png" /></figure><h3>Push Notifications<a href="https://docs.airnativeextensions.com/news/2022-06/#push-notifications">​</a></h3><p>The FCM implementation has been brought inline with the latest Firebase extension bringing a recent version iOS and Android Firebase SDK. This should bring some bug fixes and improvements from the underlying Firebase Messaging SDK:</p><ul><li>Android v23.0.0</li><li>iOS v8.15.0</li></ul><p>The OneSignal SDK has also been updated and now includes v4.7.3 on Android.</p><p>This update also brings a range of bug fixes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*qtKzwPyVgFkBNSJY.png" /></figure><h3>Adverts<a href="https://docs.airnativeextensions.com/news/2022-06/#adverts">​</a></h3><p>Version 13.6 brings version 9+ of the AdMob iOS SDK which includes some significant changes to the SDK. Most of the changes have been handled internal to the extension however there is one important piece of information that you must be aware of:</p><blockquote><strong><em>Ads stop serving on iOS 10<br></em></strong><em>The minimum iOS version the Google Mobile Ads SDK version 9.0.0 supports is iOS 11. Upgrading to Google Mobile Ads SDK version 9.0.0 will not break your app on iOS 10 devices, however, no ads will be served on those devices.</em></blockquote><p>Additionally mediator adapters have been updated to bring inline with this version of the AdMob SDKs.</p><h4>Life Time Value (LTV)<a href="https://docs.airnativeextensions.com/news/2022-06/#life-time-value-ltv">​</a></h4><p>This update also includes the preview implementation of the life time value events.</p><p>Most of the adverts will now dispatch a PaidEvent.PAID event with information on the revenue obtained for presenting an advert. By implementing this event handler, you can use the data to calculate a user&#39;s life time value, or forward the data downstream to other relevant systems.</p><p>More information in the <a href="https://docs.airnativeextensions.com/docs/adverts/life-time-value">Life Time Value</a> section.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*0B32wOqPl-RVERl6.png" /></figure><h3>IronSource<a href="https://docs.airnativeextensions.com/news/2022-06/#ironsource">​</a></h3><p>The free ironSource extension has been updated to the latest version of the ironSource SDK:</p><ul><li>Android v7.2.2</li><li>iOS v7.2.2.1</li></ul><p>Additionally all supported mediation adapters have been updated to be inline with this release of the ironSource SDK.</p><blockquote><strong><em>SPONSORING: </em></strong><em>If you use this extension regularly we do ask that you consider sponsoring the development to allow us to continue updating the extension. You can find details on sponsoring</em> the extension <a href="https://github.com/distriqt/ANE-IronSource">here</a>.</blockquote><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d28af4ef4e81" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/june-2020-d28af4ef4e81">June 2020</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Accessing User GDPR Settings in AIR]]></title>
            <link>https://medium.com/airnativeextensions/accessing-user-gdpr-settings-in-air-4103be908963?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/4103be908963</guid>
            <category><![CDATA[tips-and-tricks]]></category>
            <category><![CDATA[gdpr]]></category>
            <category><![CDATA[air-sdk]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Wed, 15 Jun 2022 01:35:31 GMT</pubDate>
            <atom:updated>2022-06-15T01:35:48.271Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*B2w0lCxIbwENPZj3vC2_Lw.png" /></figure><p>At some point in your application development when you start to store and share data you will need to handle user GDPR settings.</p><blockquote><em>The General Data Protection Regulation (GDPR) is a European Union (EU) regulation that mandates how an organisation should handle personal data.</em></blockquote><p>If you use personalised advertising or store user related data on your server then you will need to address GDPR concerns in your application.</p><p>On mobile devices the GDPR settings are stored through the <strong>IAB Europe Transparency &amp; Consent Framework</strong>. This framework ensures settings are stored in consistent places for developers to access and determine their appropriate behaviour for the user.</p><p>These values are stored in <a href="https://developer.apple.com/documentation/foundation/nsuserdefaults#1664798?language=objc">NSUserDefaults</a> on iOS and in <a href="https://developer.android.com/training/data-storage/shared-preferences.html">SharedPreferences</a> on Android.</p><p>With the AIR SDK we can access these values easily through the <a href="https://airnativeextensions.com/extension/com.distriqt.Application">Application extension</a>. The Application extension allows access to the NSUserDefaults and the SharedPreferences through the <a href="https://docs.airnativeextensions.com/docs/application/defaults">defaults</a> functionality.</p><p>Firstly, we set the useSharedDefaults flag to ensure we use the application&#39;s shared values.</p><pre>Application.service.defaults.useSharedDefaults = true;</pre><blockquote><em>If we don’t set this flag, then the values retrieved through the </em><em>defaults functionality will be isolated from values set via other methods and you won&#39;t retrieve the correct TC data values.</em></blockquote><p>Once you have set this flag you can retrieve any of the TC data from the framework by using the appropriate key.</p><p>For example:</p><pre>var value:String = <br>    Application.service.defaults.<br>        getString( &quot;IABTCF_TCString&quot; );</pre><p>You can then use this value as required for your implementation of GDPR in your application.</p><p>For a full list of the available keys and a description of the values and types see the <a href="https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#what-is-the-cmp-in-app-internal-structure-for-the-defined-api">documentation here</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4103be908963" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/accessing-user-gdpr-settings-in-air-4103be908963">Accessing User GDPR Settings in AIR</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[March 2022]]></title>
            <link>https://medium.com/airnativeextensions/march-2022-88593d62486d?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/88593d62486d</guid>
            <category><![CDATA[adobe-air]]></category>
            <category><![CDATA[air-sdk]]></category>
            <category><![CDATA[apm]]></category>
            <category><![CDATA[android]]></category>
            <category><![CDATA[newsletter]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Thu, 31 Mar 2022 08:45:20 GMT</pubDate>
            <atom:updated>2022-03-31T08:45:20.030Z</atom:updated>
            <content:encoded><![CDATA[<h4>Android 12 (API 31)</h4><p>What a hectic month! But the great news is that all of our extensions have been updated to the latest Google Play Services and androidx libraries including all the air packages for use in apm!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*tQn8qIniQ-vAoQP7ZjCpZg.png" /></figure><h4>Android 31</h4><p>All of our changes for the latest Android release are now available.</p><p>There are a lot of changes related to new dependencies and manifest additions. We know this is can be a daunting migration when dealing with major changes to the manifest so make sure you check the documentation in detail for the extensions you are using.</p><p>The most common issue we are seeing is the change in the androidx.core lib that has changed the main lifecycle listener that a lot of libraries use. If you previously had the androidx.lifecycle.ProcessLifecycleOwnerInitializer provider in your manifest it needs to be removed and replaced with the following androidx.startup.InitializationProvider:</p><pre><br>&lt;provider<br>    android:name=&quot;androidx.startup.InitializationProvider&quot;<br>    android:authorities=&quot;APPLICATION_PACKAGE.androidx-startup&quot;<br>    android:exported=&quot;false&quot; &gt;<br>  &lt;meta-data<br>      android:name=&quot;androidx.lifecycle.ProcessLifecycleInitializer&quot;<br>      android:value=&quot;androidx.startup&quot; /&gt;<br>&lt;/provider&gt;<br></pre><p><em>Note if you already have an instance of this provider you need to merge the meta-data into the one instance.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*KAQj2RcVFLAGtkuahJHMwA.png" /></figure><h4><a href="https://github.com/airsdk/apm">apm</a></h4><p>We have been working few a couple of small teething issues with apm but it’s great to see so many of you using this new tool to simplify your AIR development and integration of extensions. Please <a href="https://github.com/airsdk/apm/discussions">let us know if you run into any issues</a> and we will keep improving this tool over time.</p><p>For anyone having issues with caching, it can be useful to delete the apm_packages directory and run apm install again. This will use the version of the extensions identified in your lock file and download the latest versions again.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=88593d62486d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/march-2022-88593d62486d">March 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[February 2022]]></title>
            <link>https://medium.com/airnativeextensions/february-2022-b80c4f03f8fe?source=rss----1c5b5cd86bc2---4</link>
            <guid isPermaLink="false">https://medium.com/p/b80c4f03f8fe</guid>
            <category><![CDATA[apm]]></category>
            <category><![CDATA[adobe-air]]></category>
            <category><![CDATA[newsletter]]></category>
            <category><![CDATA[android]]></category>
            <dc:creator><![CDATA[Michael]]></dc:creator>
            <pubDate>Thu, 03 Mar 2022 23:29:59 GMT</pubDate>
            <atom:updated>2022-03-03T23:29:59.798Z</atom:updated>
            <content:encoded><![CDATA[<h4>Android 12 (API 31), apm documentation</h4><p>This month we were aiming to have released a complete upgrade of all our extensions to be compatible with Android 12 (API 31) including Google Play Services and the AndroidX libraries. Along with this comes a major update to all our documentation to use the AIR Package Manager (apm)!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*sMtQvaqkZsl9oLiTi0h3Sg.png" /></figure><p>Unfortunately due to the unexpected weather event in Australia, distriqt’s offices have been affected by extreme flooding and power outages and we have been delayed with this release.</p><p>We are currently aiming to start release of these updates over the next fortnight, as soon as our office is operating again.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2KVd820K-vrVTocLirx4GQ.png" /></figure><h4>Android 31</h4><p>Android 12 (API 31) contains a range of security and performance changes that have affected nearly all our extensions. Previously many Android developers relied on default values for certain things from the Android OS but we are now being required to explicitly state these values.</p><p>With these updates come a series of changes to the manifest additions, particularly around the addition of android:exported attributes. We highly recommend using apm to make the migration as easy as possible, apm will handle the update of the manifest automatically for you.</p><p>Over the coming weeks we will progressively be releasing the updates to our extensions and air packages to support Android 12. In addition, all our documentation is being updated to show how to use apm to install and configure the extensions. There’s never been a better time to start using the AIR package manager.</p><p>If you are interested in some detailed information on the changes in Android 12 have a look <a href="https://developer.android.com/about/versions/12/behavior-changes-12">here</a>.</p><p>As always, if you have any native development needs for AIR, Unity, Flutter or Haxe, please feel free to contact us at <a href="/service/mailto:airnativeextensions@distriqt.com">airnativeextensions@distriqt.com</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b80c4f03f8fe" width="1" height="1" alt=""><hr><p><a href="https://medium.com/airnativeextensions/february-2022-b80c4f03f8fe">February 2022</a> was originally published in <a href="https://medium.com/airnativeextensions">distriqt</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>