PhoneGap Day EU 2013
- PhoneGap Plugin Overview
- Code and Implement a Plugin for Android
- Push Notifications Overview
- Code push notification support
You... Right now??
end of the day...
part 1: Plugins
guide for part 1: Plugins tutorial
My Blog: http://devgirl.org - 1st tab titled
PhoneGap Plugin Dev't for Android Tutorial
phonegap plugin architecture
- Allows you to expose native APIs
- PhoneGap itself is built on the plugin architecture
- config.xml within platforms shows which native class each plugin is mapped to via the <feature> tag such as:
<feature name="Camera"> <param name="android-package" value="org.apache.cordova.CameraLauncher"/> </feature>
<feature name="Camera"> <param name="ios-package" value="org.apache.cordova.CDVCamera"/> </feature>
plugin Call mapping (android)
code an android calendar plugin
More on plugins...
- Android plugins extend CordovaPlugin
, iOS plugins extend
- On iOS, the action from cordova.exec()
maps directly to functions in the native class
- Threading should be considered if you're doing a lot of processing and don't want to block the main thread
- onReset() - should be implemented if you have long-running processes (called on WebView location change or refresh)
current plugin platform support
- Blackberry 10
- Windows Phone
Repository of open source plugins currently available and growing daily:
Part 2: Push Notifications
GUIDE FOR PART 2: PUSH NOTIFICATIONS TUTORIAL
My Blog: http://devgirl.org/
Android - sent via Google Cloud Messaging (GCM)
iOS - sent via Apple Push Notification service (APNs)
Store and forward services.
- Both require registration of the device with the service.
- GCM requires an API key associated with the application's project id for the 3rd party server to send a notification.
- APNs requires validation of an SSL certificate specific to your app id before messages are passed on.
- APNS - 3rd party server sends message to APNS w/ security credentials and device token. APNS validates the security and forwards to the device matching the token.
- GCM - 3rd party server sends message to GCM w/ application's API key assigned from the console and device token. GCM verifies and forwards to device.
- Device receives the notification, checks the payload for the application to notify and open.
- Message Payload size - Apple = 256 bytes Android = 4,096 bytes
- Message expire time - Android (4 wks default and max) -Apple does not specify their max.
- Invalid Device Token - for Apple you need to ping their Feedback Service, Google will give you a response when device id sent in.
- Holding messages (for devices offline) - Apple only sends the last message for a given application. Google will deliver all (though configurable).
- Supported by PhoneGap Build
- Defines APIs for register(), unregister(), setApplicationIconBadge()
- APIs require success() and error() callback functions to be passed in
register()also requires a callback function to be specified for when communication is received from the APNs or GCM services