Onymos Media

Onymos Media

Add Photo/Video feature to your Ionic app in minutes




Member since 2015


iOS, Android  
5 years ago
6 months ago

Add Photos & Videos to your Ionic app, in minutes

Your Ionic app, be it a fun Chat app, a social food-delivery app, or a life-saving medical-app, can benefit immensely from your users being able to share Photos and Videos. Supporting Photos and Videos increases user engagement, app usage and makes your app really cool.

**Other Onymos Offerings:** [Onymos Fabric](https://market.ionic.io/starters/onymos-fabric), [Onymos Access Component](https://market.ionic.io/plugins/onymos-access), [Onymos Chat Component](https://market.ionic.io/plugins/onymos-chat) Onymos Media Component

This plugin is the best solution to integrate Photos and Videos support into a Hybrid app. The plugin has several innovative technologies:

  • 100% on-device variable-level compression (patent-pending) of Photos and Videos.

    Try out the technology hands-on at our blog post.

  • Fix Photo and Video orientation issues across iOS and Android devices


  • Allow users to select Photos and Videos from various device folders, including Android's various media folders
  • Allow users to use the Device camera to take a photo or video from inside your app, and optionally save the Photo or Video
  • Limit the length of the video (in seconds) when allowing the user to capture the video from within your app
  • Fix sub-sampling issues across iOS and Android OS and device variations


  • Upload to Onymos Hosting or your own Amazon S3 instance, in a single JavaScript call
  • Track the progress of the upload to either Onymos Hosting or your own Amazon S3 instance, and optionally stop an in-progress upload
  • Handle connectivity issues during upload, by uploading the media file in parts
  • Handle Security of the uploaded media with several layers of protection
  • Convert to Base-64 data of Photos and Videos, in case your app wants the media data for other uses
  • Download Photos and Videos from external locations, including follow-through of url re-direction at the source url
  • Display Photos and Videos from local device using IMG or VIDEO tags on iOS and Android devices

Benefits of using Onymos Media

  1. Technological Innovations

    We have stellar innovations in compression technologies as well as in fixing the myriad problems associated with Photos and Videos across different OS variations, device types, usage patterns, cross-device media transfers, etc.,

    Simply put, we do the heavy-lifting so that you do not have to.

  2. Time to Market

    Literally in minutes, our customers have integrated Onymos Media into their app. Few have even submitted their app to the app stores the same day, with the shiny new Photos and Videos support. Many of our customers rave about the savings in months of development effort and cost by using the Onymos Media component.

  3. Periodic Updates & Technology refreshes

    Onymos Media component is a monthly subscription that entitles you to regular updates as technology marches forward. That new iOS release which changed the file-paths to media or the Android release that added run-time user permissions to access media - you do not have to worry about those, as our regular updates will keep you future-proofed.

Get Started

Order a subscription of the Onymos Media component here.

You will receive an email with a link to Ionic plugin of Onymos Media component, as well as your license Keys for 2 environments (Dev and Prod).

  1. Install Onymos Media component

    $ ionic plugin add /path/to/onymos-plugin-media

  2. Initialize Onymos Media component with your Dev or Prod keys, in your $ionicPlatform.ready function

    ```javascript var onymosConnectObj = null;

    onymosConnectObj = { customerId : '', // Provided with your Purchase envType : '', onymosAuthToken : '' // Provided with your Purchase

    // For either Onymos Hosting or if your own Hosting is on AWS S3 // Set the next 2 parameters awsAccessKey : '', // Provided with Onymos Hosting purchase, or use your own awsSecretKey : '', // Provided with Onymos Hosting purchase, or use your own

    // If your own Hosting is on AWS S3, provide the bucket/folder // AWS support available only for buckets created in 'US Standard' region // No trailing slash after folder awsBucketFolder : '' // Not required for Onymos Hosting };

    window.OnymosMediaUI.onymosInitialize ( onymosConnectObj,

    function onymosInitializeSuccess (status) { console.log(status); },

    function onymosInitializeFailure (error) { console.log(error); }); ```

  3. Include a Camera icon in your app html with an action to your mediaSelect function

    <i class="icon ion-camera" onClick="mediaSelect('1');"></i>

  4. Your mediaSelect function can be as below, or you can explore the additional options documented here

    ```javascript function mediaSelect (callId) { window.OnymosMediaUI.onymosMediaSelect( callId, OnymosMediaConstants.PictureSourceType.PHOTOLIBRARY, OnymosMediaConstants.MediaType.ALLMEDIA,

      function mediaSelectionSuccess (mediaURI) {
          // Do something with the mediaURI
      function mediaSelectionFailure (error) {
          /* Common errors  ------
              User cancelled the selection process
              User has denied permissions to the app to access Media or Camera
          ------ */

    } /* end function mediaSelect */ ```

  5. Next step is to securely upload the user-selected Photo or Video to AWS S3. Just 1 JavaScript call away. You will mostly do this in response to a user-action of clicking on a 'Send' button.

    <button class="button" onClick="uploadMedia('1');">Send</button>

    ```javascript function uploadMedia (callId) { var tagsArray = ‘Fast, Red, European, Car’.split(/[\s,]+/); //Example Tags

    window.OnymosMediaUI.onymosMediaUpload( callId, tagsArray,

      function uploadMediaSuccess (status) {
      function uploadMediaFailure (error) {

    } /* end function uploadMedia */ ```

  6. Let us now find the media the previous user has uploaded.

    The secure_url below are secure links to the media location, and can be configured for amount of time you want the url to be valid for.

    ```javascript function searchMedia (tagsArray) { var tagsArray = ‘Fast, Red, European, Car’.split(/[\s,]+/); //Example Tags

    window.OnymosMediaUI.onymosMediaSearch( tagsArray,

      function searchMediaSuccess (resultsArray) {
          /* ------
              resultsArray[] = {
                  fileName: <system_generated_name>,
                  mediaSize: <size_in_bytes>,
                  mediaType: <mp4 or jpeg>,
                  mediaLocation: <relative-path-at-AWS>,
                  thumbnailLocation: <relative-path-at-AWS>,
                  mediaUrl: <secure_url>,
                  thumbnailUrl: <secure_url>,
                  uploadTime: <unix_epoch_time>
          }; ------ */
      function searchMediaFailed (error) {

    } /* end function searchMedia */ ```


Congratulations! Your app can now support Photos and Videos!

Please do check our documentation for more options that can tailor the Onymos Media component to your particular use-case.

Also, check out our Onymos Chat Component for adding Chat feature and Onymos Access Component for adding Access Management to your Ionic app.


If you have questions or comments, please use our Contact page, or email us at sales@onymos.com


  1. Onymos Media component is available either on a Subscription basis or as a One-time purchase. We are working with Ionic Marketplace to allow for display of Subscription pricing.
  2. We do not have Ratings for our offering here because Ionic Marketplace allows for Ratings only when the Component is purchased via the Marketplace. Our subscription pricing limits us from selling here directly. We have excellent reviews from our customers, and would love to share them with you if you get in touch with us.
  3. If you are developing apps for others, and want to integrate our component into other apps, to save you development time and cost, we have special pricing on multiple license purchases.