Workshop: Android

788 views

Published on

BDigital Apps 2011 - Workshop: Android

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
788
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Workshop: Android

  1. 1. Fernando Cejas - @fernando_cejasFernando García - @fegabe
  2. 2. ›  Introduction›  What’s Push?›  Push vs. Poll›  Cloud to device messaging›  Android Implementation›  Build your app›  ?›  F.A.Q
  3. 3. ›  “fastDovePush” ›  Who we are? App for this demo ›  open source
  4. 4. Push technology, or server push, describes a style of Internet-based communication where the request for a giventransaction is initiated by the publisher or central server. ›  Harder to implement ›  Less battery consumption ›  Constant connection
  5. 5. Push me your news! Any news? No! Any news? No! Any news? No! New News! content! Any news? Yes! (News)›  Transfer content as soon as available›  Save device battery›  Reduce data traffic for user
  6. 6. ›  HaIt allows third-party application servers to send lightweight messages to their Android applications›  C2DM makes no guarantees about delivery or the order of messages›  An application on an Android device doesn’t need to be running to receive messages
  7. 7. ›  It does not provide any built-in user interface or other handling for message data›  It requires devices running Android 2.2 or higher that also have the Market application installed›  It uses an existing connection for Google services
  8. 8. 1.  Register device for Push 3.  Device receives message2.  App server send message 4.  Unregister device
  9. 9. ›  Requesting a Registration IDC2DMessaging.register(this, "sender@gmail.com");
  10. 10. ›  Receiving the Registration IDpublic class C2DMReceiver extends C2DMBaseReceiver { public C2DMReceiver() { super("sender@gmail.com"); } @Override public void onRegistered(Context context, String registrationId) { // TODO send registration ID to the app server } ... }
  11. 11. ›  Receiving Messagespublic class C2DMReceiver extends C2DMBaseReceiver { ... @Override protected void onMessage(Context context, Intent intent) { String payload = intent.getStringExtra("payload"); // TODO handle the message } }
  12. 12. ›  Android Manifest<application> ... <!-- required for AC2DM --> <service android:name="com.fastdove.sample.ac2dm.C2DMReceiver" /> <receiver android:name="com.google.android.c2dm.C2DMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="com.fastdove.sample.ac2dm" /> </intent-filter> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.fastdove.sample.ac2dm" /> </intent-filter> </receiver> <!-- END required for AC2DM --> </application>
  13. 13. ›  Request Authorization Token$ curl https://www.google.com/accounts/ClientLogin -daccountType=GOOGLE -d source=Google-cURL-Example -dservice=ac2dm -d Email=sender@gmail.com -d "Passwd=***"›  Send Message$ curl --header "Authorization: GoogleLogin auth=authorization_id""https://android.apis.google.com/c2dm/send" -dregistration_id=device_registration_id -d "data.payload=yourmessage" -d collapse_key=something
  14. 14. http://www.fastdove.com/@fastdove@fastdovedevinfo@fastdove.comFernando Cejas - @fernando_cejasFernando García - @fegabe

×