AeroGear

The Mobile Enterprise libraries


Matthias Weßendorf


Enter
Push...

Advanced Demo

AeroDoc:

Java Backend integration and Geolocations!

ALL ABOUT

  • Engagement with YOUR users...

AeroGear UnifiedPush Server

Use Cases

  • step by step
  • AeroGear Push 101

    • Simple setup*
    • Work with the Admin UI:
      • Registration code snippets
      • Send push messages

    Demo

  • Openshift, Xcode and iOS
  • AeroGear Push 201

    • Reach out to specific users
      • different users
      • groups of users

    Apache Cordova Plugin


    
    // Android configuration:
    
    var pushConfig = {
        pushServerURL: "https://ups.server.com/",
    
    	alias:"someuser@mail.com" ,
        categories: ["JBoss", "mobile"],
    
        android: {
            senderID: "GOOGLE ID",
            variantID: "1234541",
            variantSecret: "234213123"
        }
    };
    // execute registration
    push.register(onNotification, successHandler, errorHandler,
                    pushConfig);
         

    AeroGear Push 301

    • Backend integration
      • REST API
      • Libraries
        • Java, Grails, PHP and Node.js
      • React on any kind of server event...
      • Automation...

    AeroGear Java library

    
      final PushSender sender = DefaultPushSender.withRootServerURL(...)
          .pushApplicationId(...)
          .masterSecret(...)
          .build();
    
      final UnifiedMessage unifiedMessage = UnifiedMessage.withMessage()
             .alert("We have a problem!")
             .sound("default")
          .criteria()
             .aliases(Arrays.asList("Mr. Wolf", "Marcellus Wallace"))
         .build();
    
      // Java8 compliant, functional interface
      sender.send(unifiedMessage, () ->
          logger.info("successful delivery to UPS returned")
      );
    

    AeroGear Push 401

    • client notification usage
      • Push != (real) messaging
      • Send additional keys to the application (not just 'alert')
      • REACT on messages
        • download data
        • update the UI, if something new is present
    • Let users know that something new occurred!

    Apache Cordova Plugin


    
    function onNotification(event) {
    
        if (event.payload.task === "NEW_LEAD") {
    
            var latitude  = event.payload.latitude;
            var longitude = event.payload.longitude;
    
            // draw something on a map:
            showCustomerLoc(latitude, longitude);
        }
    
        // more checks....
    }
         

    AeroGear Push 501

    • rich interaction between client and server
      • send a push to
        • the clients, walking through the mall
        • a nearby driver, that client ordered a taxi
        • the sales rep currently the closest to the lead that just came into the system
      • challenges
        • Real-time
        • up-to-date geolocation
        • not crazy on battery of the device

    Outlook: WebPush

    • the new kid on the block
    • Open standard IETF and W3C
    • Mozilla, Microsoft working on that. Google use W3C API with FCM/GCM
    • Apple......

    Thanks

    @mwessendorf

    Slides
    http://aerogear.org
    @AeroGears
    IRC: #aerogear
    MAILING LIST