An early look at DroidPush API - a push API for Android
-
Upload
stefan-alund -
Category
Technology
-
view
18.972 -
download
0
description
Transcript of An early look at DroidPush API - a push API for Android
![Page 1: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/1.jpg)
Slide title48 pt
Slide subtitle 30 pt
Implementing Push on Android –
The DroidPush API
November 03, 2009
Stefan Alund & Johannes Willig
![Page 2: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/2.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
What this session is about
Why Push Delivery?
Push Basics
The DroidPush API
Demo
Discussion
![Page 3: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/3.jpg)
Slide title48 pt
Slide subtitle 30 pt
Why Push Delivery?
![Page 4: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/4.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
Why push delivery ?
Any news?
No!Any news?
No!
Any news?
No! New content!
Any news?
Yes! (News)
Push me your news!
News!
poll push
› Transfer content as soon as available
› Save device battery
› Reduce data traffic for user
pushpush
› Transfer content as soon as available
› Save device battery
› Reduce data traffic for user
› Transfer content as soon as available
› Save device battery
› Reduce data traffic for user
![Page 5: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/5.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
Push efficiency – Why Polling is BAD
Mobile Push
1 hour poll
5 min poll
1 min poll
30 sec poll
0 20 40 60 80 100 120 140
Battery lifetime [h]
1 test run per configuration on a Sony Ericsson C905 device
![Page 6: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/6.jpg)
Slide title48 pt
Slide subtitle 30 pt
Push Basics
![Page 7: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/7.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
Push delivery basics: Push to Poll
Service ProviderMobile
0. Subscribe for news
ContentServer
PushGateway
1.Provide content access
2. Init Push delivery3. Deliver Push Trigger
4.Request Content
5.Deliver Content
![Page 8: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/8.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
Trigger Types & Technology
› Trigger types–TCP / UDP connection–Short Message Service
› Push frameworks –MIDP 2.0 Push Registry / WMA–OMA WAP Push–Apple Push Notifications–RIM: Hosted Data Push Service–Google Push (Android)–MQTT Push (Android et.al.)
![Page 9: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/9.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
SMS Push Technology
› SMS header may contain “app port” field – Dedicated range of free usable port numbers– Port handling not yet supported in Android (1.6)
› Mobile applications can register to a SMS application port– App is automatically started at SMS reception with this port– SMS content is passed to application for further usage
› SMS contains link to content (push to poll)
![Page 10: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/10.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
G1 Long Polling „Push“ - GMAIL Client Mail ServerPush Server
Keep-alive(Client-initiatied)
Push Notification
Mail Download
Keep-alive(Server-initiatied)
Keep-alive(Client-initiatied)
...
Close Connectionto Mail Server
› GMails are always pushed
› Google Push Mechansim shared by all Google apps
› Long-lived TCP connection („push channel“) used
› Upon mail reception, notification is sent through push channel
![Page 11: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/11.jpg)
Slide title48 pt
Slide subtitle 30 pt
The DROIDPUSH API
![Page 12: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/12.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
droidpuSh Overview
Dro
idP
us
h A
PI
![Page 13: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/13.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
Show me the Code
› Import the API (jar)
›Setup Manifest for Push Intents
› Implement your BroadcastReceiver
›Start to Push
![Page 14: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/14.jpg)
Slide title48 pt
Slide subtitle 30 pt
DEMO
![Page 15: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/15.jpg)
Slide title48 pt
Slide subtitle 30 pt
END
http://labs.ericsson.com
![Page 16: An early look at DroidPush API - a push API for Android](https://reader034.fdocuments.net/reader034/viewer/2022051208/5477aba3b4af9f28098b457c/html5/thumbnails/16.jpg)
Slide title 32 pt
Text 24 pt
Bullets level 2-520 pt
›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl
DroidPush Droidcamp 3.11.2009
Push ApplicationsPush podcasting
Active wallpaper
Warning! Take cover
Emergency alerts
Pushed Dates