Kodular Eagle 🦅

:kodular: Kodular Eagle :eagle:

As you know, Kodular has recently faced with its biggest problem so far. But we were able to overcome it, and thanks to your patiente we have prepared one of our biggest releases so far. :muscle:
It not only includes new advertising components, which have native commission systems, but also adds a property to the other ones which allow you to pick which ad network would you like us to use for the commission. So, you can pick the one you prefer to display, as some kind of mediation. :grin:
And if that is not enough, we added several new features to already existing components, like polyline for Google Maps, Google Play Games component and much much more! :yum:

This release has been named as Kodular Eagle :smile:
Even though Eagle is not a constellation, it is the modern name for the Aquila constellation :wink:

Creator Version : 1.4.0 Kodular Eagle :eagle:

image


Release Notes

We have added a :exclamation: to the most important changes

Major Changes

  • :exclamation: New Ads Commission system
    No more fixed commissions; you will now pay for what you use: few components means lower commission

  • :exclamation: Web View can now upload files
    You will now be able to upload files within a web viewer

  • :exclamation::appinventor: Export and import blocks via PNG files
    You can now right-click on any block and pick “Download Blocks as PNG”. And you can just drop that PNG file into the workspace, and the blocks will appear

  • Added Android Support Libraries for SDK 28
    It provides optimized compiled apps for Android 9

  • Now Projects can be renamed
    Just click on the projects name at the top left corner, type the new name and hit Enter

  • :exclamation: Loading projects now use a new JIT (just-in-time) system, removing the old AOT (ahead-of-time)
    This makes loading projects from 5 to 10 times faster

  • Deleting screens/projects now involves a secondary confirmation
    You have to type the project/screen name before deleting it

  • :exclamation: Bumped Minimum SDK from 16 to 19
    We needed to add more features, and it could only be possible increasing the Min SDK to Android 4.4

  • New default app icon when none is set for new projects
    We replaced our logo icon with a fancier one

  • :exclamation: You can now copy/cut and paste components in the same screen, and from one screen to another, and even between projects!
    Check the UI Changes, Point 3, for more information

  • Added two new languages: Greek :greece: and Japanese :jp:
    Their translation progress were enough to be implemented

UI Changes

  • :exclamation: Kodular Creator has been fully redesigned
    Now the platform sports a brand new design, adapted for the modern times. It is based on Material Design 2

    • You can now collapse panels to provide a better experience
      You can now display only the Viewer and the Components Tree in demos, for example
    • Selected theme will now be saved across sessions
    • Added My Account button at Account dropdown
    • Moved Language dropdown and Theme switcher to new Settings button in Account dropdown
      It will open a new Creator Settings dialog
    • Palette now supports nested categories to better organize components
      Check below where components have been moved
    • Added fancy illustrations to dialogs
    • Visibility of components can now be toggled from a button in the Viewer header
      It depreactes the display hidden components button at the bottom
    • Added new phone’s and tablet’s mocks to Viewer
      It deprecates the tablet preview button at the bottom
    • Components Tree and Properties have been splitted
      We took back the App Inventor interface, with the ability to hide any of those
    • Removed Non-Visible Components panel below phone’s mock
      This has been deprecated in favour of the next feature
    • You can now click on All Components to switch to Visible Components or to Non-Visible Components
    • New Colour Picker
      It has a bunch of default colors plus a HSV color selector
    • Added Project Colours
      These are the colours which are being used in your project, so that you can easily select them across properties and screens
    • Height and Width selectors now sport a new layout
      The dialog has been removed in favour of a textbox where you type a number and “px” or “%”, plus two buttons to easily switch between Automatic and Fill Parent
    • Assets selectors now support previewing files
      You can now preview the selected file in your Property
    • Redesigned all dialogs
      Brand new “Create Project”, “Baking your app” dialogs, and many more
    • File uploader now accepts only legal types
      You won’t be able to upload/select a not-supported format
    • Added more properties preview to designer
      You will be able to preview more properties like Checked Switches, Sliders or so in the mock; and current ones have been updated
  • You can now use shortcuts to work on the Creator
    Check a complete list in the dialog available at the “Help” dropdown

  • :exclamation: Added new right-click context menu in Designer
    You can now copy, cut and paste components in your project, just by right-clicking on them; and much more like Paste Properties…
    :appinventor: This feature will be migrated into MIT App Inventor soon

  • Added new Settings Dialog under My Account dropdown
    It will trigger themes, switch to compact layout, display experimental properties, change preferences, show keystore hashes…

Companion

  • Companion will show a dialog when an update is available
    It makes usage of the In-App Updates component, and it will prevent errors for having an outdated version

  • :exclamation: Added new Dark Theme mode to Companion
    Code during nights in both Creator and Companion without harming your eyes; just press the button in the top bar

 

New Components

  • :exclamation: Added new JSON component to Utilities category
    Useful to work with Web APIs, for example
    image

  • Added new Keyguard Manager component to Utilities category
    Require the app to be unlocked using phone’s security lock
    image

  • Added new Dynamic Card View component to Dynamic Components category
    Generate dynamically beautiful cards to place more dynamic components
    image

  • :exclamation: Added new Dynamic Image component to Dynamic Components category
    Create more images in your apps execution
    image

  • Added new Dynamic Space component to Dynamic Components category
    Use this component to increase the separation between components
    image

  • :exclamation: Added new Google Play Games component to Google category
    One of the most requested components will allow you to create awesome games integrated with Play
    image

  • Added new Kodular Donations component to Monetization>General category
    A new way to donate to Kodular: this component will make commission go to 100%, so all ads will be rewarded to our account
    image

  • Added new AdColony Interstitial component to Monetization>Advertising category
    Insert AdColony ads in your apps
    image

  • :exclamation: Added new AppLovin component to Monetization>Advertising category
    Display AppLovin interstitials in your app
    image

  • Added new Facebook Rewarded Video component to Monetization>Advertising category
    The missing Facebook Ads component allows you to reward your users by watching ads
    image

  • Added new StartApp Interstitial component to Monetization>Advertising category
    Improving StartApp integration, this component allows you to display StartApp interstitial
    image

  • :exclamation: Added new In-App Update component to Experimental category
    Requires Android 5.0 or higher :warning:
    Most people will find this component really useful, as it will automatically prompt users with a dialog when an update is available on Play Store
    image

Moved Components

  • Moved Push Notifications component to Social category
    We think it was time to move it away from Experimental

  • Moved Shell component to Utilities category
    This component has been working properly for months, so we placed it in its appropiate category

  • Moved List View component to new Layout>Listviews category

  • Moved List View Image and Text component to new Layout>Listviews category

  • Moved Bottom Sheet component to new Layout>Views category

  • Moved Chat View component to new Layout>Views category

  • Moved View Flipper component to new Layout>Views category

  • Moved Surface View component to new Layout>Views category

  • Moved Web Viewer component to new Layout>Views category

  • Moved Bottom Navigation component to new Layout>Navigation category

  • Moved Side Menu Layout component to new Layout>Navigation category

  • Moved Tab Layout component to new Layout>Navigation category

  • Moved View Pager component to new Layout>Navigation category

  • Splitted Lego Mindstorms category into Lego Mindstorms>Lego EV3 and Lego Mindstorms>Levo NXT

  • Splitted Monetization category into Monetization>General and Monetization>Advertising

New Events

Screen

  • :exclamation: Got Received Shared: triggered when shared content is received
    image

User Interface

  • Checkbox component

    • Click: triggered only when an user interacts with a checkbox
      image
  • Slider component

    • Touch Down: triggered when an user touches the slider
      image
       
    • Touch Up: triggered when an user releases the slider
      image

Media

  • ExoPlayer component
    • Completed: triggered when the track finishes reaches the end
      image

Social

  • Push Notifications component
    • Send Message Done: triggered when the message has been successfully sent
      image

Connectivity

  • Download component
    • :exclamation: On Download Progress Changed: triggered when the progress of a download changes
      image

Google

  • Firebase Authentication component

    • Got Id Token: triggered when Firebase gets the ID Token
      image
       
    • Reset Password Email Done: raised once the email to reset password has been sent
      image
  • YouTube Player component

    • Initialized: triggered when the component has been loaded and it’s ready
      image

New Methods

User Interface

  • Snackbar component
    • :exclamation: Is Shown: returns true when the snackbar is on the Screen
      image

Layout>Navigation

  • View Pager component
    • Remove All Tabs: deletes all created tabs
      image

Social

  • Push Notifications component
    • :exclamation: Send Message: sends a push notification to the subscribed users
      image

Utilities

  • Device Tools component
    • Is Adb Debugging Enabled: returns true when the ADB debugging mode is active
      Thanks to @cian for this block
      image
       
    • Is Emulator: returns true when the app is running in an emulator
      Thanks to @cian for this block
      image
       
    • Is Installed From Play Store: returns true when the app was installed from Google Play Store
      Thanks to @cian for this block
      image
       
    • Has Dangerous Apk Installed: returns true when the user has apps like Lucky Pather or Xposed Installer
      Thanks to @cian for this block
      image

Dynamic Components

  • Dynamic Button component

    • Delete Button: deletes the given generated button
      image
  • Dynamic Label component

    • Delete Label: deletes the given generated label
      image
  • Dynamic Textbox component

    • Delete Textbox: deletes the given generated textbox
      image

Google

  • Firebase Authentication component

    • Get Id Token: retreives from Firebase the id for the current user
      image
       
    • :exclamation: Phone Number Sign In: authenticates the user using the given phone number sending an OTP code
      image
       
    • Send Reset Password Email: sends an email to the user to change the password
      image
       
    • Update Phone Number: changes the user’s phone number
      image
       
    • Verify Email: sends a confirmation email to verify user’s email address
      image
       
    • :exclamation: Verify Phone Code: checks if the given OTP code is valid
      image
  • Firebase Remote Config component

    • Get Boolean: returns a boolean value from Firebase
      image
  • Google Maps component

    • :exclamation: Add Polyline: inserts a polyline in the map and returns its id
      image
       
    • Get All Polyline Ids: returns all available polyline ids on the map
      image
       
    • Get Points From Json: returns an object containing all points in a JSON string, which can be used in polylines
      image
       
    • Remove Polyline: deletes the given polyline from the map and returns true if it has been removed properly
      image
       
    • Update Polyline: updates the given parameter (property Name) to the given value (points) in a polyline, such as points, width and color
      image

Experimental

  • Shell component
    • Is System User: returns true when phone has enabled system user permissions
      Thanks to @cian for this block
      image
       
    • Has Super User Apk Installed: returns true when phone has installed super user apps, even if it is not rooted
      Thanks to @cian for this block
      image

New Properties

Screen

  • Drawer Arrow Icon Color: sets the color of the drawer’s arrow
    image

  • Navigation Icon Color: sets the color of the drawer’s icon
    image

  • Options Menu Icon Color: sets the color of the option’s menu icon
    image

  • :exclamation: Receive Shared Files: allow receiving a type of files
    Enabling this feature, your app will appear in the “Share To” menu when sharing this kind of content
    image

User Interface

  • Floating Action Button component
    • Call Fab Click Event When Label Clicked: enables triggering the click event when clicking on the message
      image
       
    • Call Fab Click Event When Label Long Clicked: enables triggering the click event when long-clicking on the message
      image
       
    • Hide Label When Clicked: enables hidding the message when clicking on it
      image
       
    • Hide Label When Long Clicked: enables hidding the message when long-clicking on it
      image
       
    • Show Label On Left Side: shows the text message to the left of the FAB
      image
       
    • Label Background Color: sets the background color of the text message
      image
       
    • Label Corner Radius: sets the corner radius of the text message
      image
       
    • :exclamation: Label Text: enables and sets the text of the FAB’s text message
      image
       
    • Label Text Color: sets the text color of the text message
      image

Layout>General

  • Card View component
    • Stroke Color: changes the stroke’s color of the card
      image
       
    • Stroke Width: changes the stroke’s width of the card
      image

Utilities

  • Device Tools component
    • Get Device Id: returns the Android ID of the device
      Thanks to @cian for this block
      image

Monetization

  • Admob Interstitial component

    • Interstitial Commission: specifies which ad network will be used to take the commission
      image
  • Amazon Interstitial component

    • Interstitial Commission: specifies which ad network will be used to take the commission
      image
  • Facebook Interstitial component

    • Interstitial Commission: specifies which ad network will be used to take the commission
      image
  • Leadbolt component

    • Interstitial Commission: specifies which ad network will be used to take the commission
      image
       
    • Rewarded Video Commission: specifies which ad network will be used to take the commission
      image

Deprecated Blocks

Monetization>General

  • In App Billing component
    • Initialize: with the new library, it is no longer needed
      image
       
    • Update Subscription: with the new library, there is no function associated to it
      image

 

Bugs Fixed

  • :exclamation: Fixed security issue with extensions
    Some malicious extensions were found by some users. These extensions were distributed as “remove commission from Kodular”, when they actually took 100% to the extension’s developer. Apps containing this kind of extensions will fail to build.

  • Reduced by 0.2MB the APK Size

  • Only Companion should ask for write permission on start

  • Improved Crashlytics performance

 

  • :exclamation: Updated Play Services libraries

  • Updated Cloudinary library

  • Updated OneSignal library

  • :exclamation: Updated Facebook Ads libraries
    Currently using latest version (5.4.1)

  • Updated StartApp library

 

  • Fixed Navigation Bar show/hide visibility bug

  • :exclamation: Fixed In App Billing component; it was not working

  • Fixed Notifer component which had some Null Pointer Exceptions

  • ExoPlayer component supports now loading sources from external card

  • ExoPlayer component supports now loading sources from internal app data folder
    /storage/emulated/0/Android/data/YOUR_PACKAGE_NAME/cache/YOURFILE

  • Fixed ExoPlayer when playing something from Audio Picker selection

  • Fixed ExoPlayer component which crashed with Loop

  • Fixed ExoPlayer issue related to sound on start

  • Fixed Image component which was not asking for Read Storage permissions

  • Fixed YouTube Player issue which was not able to play videos instantly after loading them

  • Removed not needed libraries for Google Account Picker component

  • Lots of minor bugs have been fixed, improving performance


 

As you can see, this release is bigger than Andromeda one. We added lots of new components, lots of new features and new security measures. We worked with passion in this new release, as we have migrated our headquarters from the Netherlands to the United States! :heart::us:
But what makes this release special is the new design. Now Kodular Creator looks more modern, brining a more intuitive design for a better usability.

More new things will come in the future, and we are not talking about new components or blocks. :wink:
Enjoy the new platform, and suggest any kind of improvement! :smile:

Happy Koding :kodular:
@Kodular Staff

74 Likes

Version 1.4.1


Major Changes

  • Commissions have been lowered down a lot for a better earning rate
    Use this app to check your current commission

  • Reduced APK size when using ad networks without native commissions
    We now use Unity Ads by default, so lots of libraries have been removed

New Methods

  • Dynamic Button component

    • Get Button By Id: returns the view containing the generated dynamic button
      image
  • Dynamic Card View component

    • Get Card View By Id: returns the view containing the generated dynamic cardview
      image
  • Dynamic Image component

    • Get Image By Id: returns the view containing the generated dynamic image
      image
  • Dynamic Label component

    • Get Label By Id: returns the view containing the generated dynamic label
      image
  • Dynamic Space component

    • Get Space By Id: returns the view containing the generated dynamic space
      image
  • Dynamic Text Box component

    • Get Text Box By Id: returns the view containing the generated dynamic textbox
      image

Bugs Fixed

  • Card View stroke has been set to 0 by default

  • Share-to-own-app should only appear once on share menu

  • ArchTaskExecutor not found error has been solved

  • Facebook Rewarded Video reports getCommission on a null object reference is now fixed

  • Unity Interstitial commission was wrongly set to a higher value than real one

  • Bug in the new Commission System has been solved

  • Bug in Admob Banner which prevented them from loading is now solved

  • ExoPlayer problems with Status Changed event and status methods have been mitigated

  • Apps crashing randomly due to java.lang.RuntimeException: Unable to start activity ComponentInfo is now resolved

  • Surface View error related with face recognition reporting wrong results is fixed

  • ExoPlayer ask for permission bug has been solved

  • Player does not need permission to read internal files, so we removed it

  • WebView (and YouTube, as it’s a webview) did not work properly on Android 9
    :appinventor: Fix from MIT App Inventor Team

  • Solved issue which prevented doing right-click in inputs to copy/paste text

  • File uploads were working incorrectly in Firefox

  • The import template option has been temporarily removed
    You will hear more about this soon

  • Hungarian language did not have translated blocks, even though they were translated

  • The Device Id block in Device Utilities component was not returning any value

36 Likes

Version 1.4.2


Major Changes

  • Improved Blockly performance
    We’ve tweaked the way Blockly compiles, so your blocks will now load and run faster

  • Treated com.appybuilder.email.app_name as default package for commission
    This doesn’t increase commission when using the equivalent AppyBuilder package name

New Blocks

New Events

  • Added Got Value event to Push Notifications
    image

New Methods

  • Added Get Value method to Push Notifications
    image

Bug Fixes

34 Likes