SlideShare a Scribd company logo
1 of 19
Download to read offline
SOCIAL SHARING USING
NOKIA ASHA SDK 1.1
(BETA)
Pranav Gothadiya
Product Owner
Nokia Asha SDK
pranav.gothadiya@nokia.com
CONTENTS
•
•
•
•

•
•
•

Introduction to Social Sharing
What is Share API?
Using Share API
Application development using Share API
- Share contents from MIDlet
- Share contents from other apps
- Fastlane integration
Oauth 2.0
Emoji Support
Additional Information
INTRODUCTION TO SOCIAL SHARING
•
•
•
•

Sharing content with social media
Built-in feature of Share API through content handler
Oauth 2.0 based authentication support
Use unicode base emoticons in content sharing
WHAT IS SHARE API ?
•
•
•
•

Its a convenient overlay to JSR-211 for simple social sharing
of content
Platform implements this social sharing support
Content handled either by content type/content handler ID
Application development:
- Implementing source for sharing
- Implementing destination for sharing
APPLICATION SIDE IMPLEMENTATION
Code snippet:
String[] args = new String[]{"text=" + this.sharedText.getString()};
String mime = "text/plain";
Registry registry = Registry.getRegistry(this.getClass().getName());
Invocation invocation = new Invocation(null, mime, "com.nokia.share");
invocation.setAction("share");
invocation.setArgs(args);
invocation.setResponseRequired(false);
registry.invoke(invocation);
SUPPORTED ARGUMENTS
•

url: url
-

The url to the file that is being shared (many supported) n
This is used when the shared items are files

String[] args = new String[]{“url=file:///Phone/_my_picture/img1.png"};
SUPPORTED ARGUMENTS
•

url: url
-

•

The url to the file that is being shared (many supported) n. This is used
when the shared items are files

text: text
-

Textual content that is being shared
This is used when the shared items are texts

String[] args =
new String[]{"text=file:///Phone/_my_picture/img1.png"};
SUPPORTED ARGUMENTS
•

url: url
-

•

The url to the file that is being shared (many supported) n. This is
used when the shared items are files

text: text
-

Textual content that is being shared. This is used when the shared
items are texts

For Fastlane integration
• id
-

A unique identifier of the share transaction.
It can be stored for future reference.
Used with “open-shared” action.
SUPPORTED SHARE TYPES
Following mime types can be registered:
•
•
•
•

image/* or specific image types
audio/* or specific audio types
video/* or specific video types
text/plain type

“No limit on size or types by the Share API, but there might be limitations on the individual share
destinations”
SHARE CONTENTS FROM MIDLET
•
•
•
•
•

Generate arguments to pass content
Specify mime type of the content
Get content handler Registry
Create invocation
Invoke
SHARE CONTENTS FROM OTHER APPLICATIONS
•
•
•
•
•

Make JAD entry for content handler
Create ContentHandlerServer
Get Invocation from content handler server
Get the arguments (content)
Use content to share
CONTENT INVOCATION
Content can be invoked from following native apps:
• Sharing link and bookmark from Browser
• Sharing files from:
- Gallery
- Music player
- Video player
- Camera
• Sharing contacts and calendars
FAST LANE INTEGRATION
•
•
•

Destination must register to action "open-shared“
Destination can deep link the user into the right view
Fastlane item is added if the destination returns with Invocation.OK
handler.finish(invocation, Invocation.OK);

•

Fastlane item is added if the destination returns Invocation.CANCELLED and quit
contentHandlerServer.finish(invocation, Invocation.CANCELLED);

•

Share UI considers that sharing has ended, but does not create a Fastlane item
because the sharing was not completed
contentHandlerServer.finish(invocation, Invocation. INITIATED);
OAUTH 2.0 SUPPORT
•
•
•
•
•

Allows to access server resources on behalf of the resource owner
Secure open authorization protocol
Authentication handled by Nokia browser
Invocation happens through Content Handler
Browser
- Performs Oauth 2.0 based authentication
- Get back the access token
- MIDlet app to use that access token further
OAUTH 2.0 IMPLEMENTATION

22 November 2013 / Slide no 15
EMOJI SUPPORT
•
•
•

•

•

Japanese term which represents a picture
It expresses an visual/idea in messaging
Standard Unicode set:
- Large number of emoji chars
- Range: U+1F300 to 1F64F
Surrogate pair:
- Maps an emoji character to a pictograph
- Nokia Asha Platform has built-in implementation
Back to UTF16 char:
- While reading the char from Java text component
EMOJI SUPPORT - IMPLEMENTATION
•

Constants

•

Create surrogate par from Unicode character

•

Get Unicode character back from surrogate pair
MORE INFORMATION
Overview
- http://developer.nokia.com/Develop/asha/java/start/
Downloads
- http://developer.nokia.com/Develop/asha/java/tools.xhtml
- http://projects.developer.nokia.com/LWUIT_for_Series_40
Guides
- Nokia Asha Design Guide: http://developer.nokia.com/Resources/Library/Asha_UI/
- Porting Guide: http://developer.nokia.com/Resources/Library/Porting_to_Nokia_Asha/
- Documentation: http://developer.nokia.com/Develop/asha/java/resources/docs/
- Training Videos: http://developer.nokia.com/Develop/asha/learning.xhtml
- Code Examples: http://developer.nokia.com/Develop/asha/java/resources/code/
THANK YOU.
QUESTIONS?
For more information:
https://developer.nokia.com/Develop/asha/learning.xhtml

More Related Content

More from Microsoft Mobile Developer

Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Microsoft Mobile Developer
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Microsoft Mobile Developer
 

More from Microsoft Mobile Developer (20)

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocamera
 
NFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra appNFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra app
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
 
Connettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile ServicesConnettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile Services
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
 
Sviluppare una live app notifiche, live tile, lock screen
Sviluppare una live app notifiche, live tile, lock screenSviluppare una live app notifiche, live tile, lock screen
Sviluppare una live app notifiche, live tile, lock screen
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Nokia Asha webinar: New API for social sharing in Nokia Asha SDK 1.1

  • 1. SOCIAL SHARING USING NOKIA ASHA SDK 1.1 (BETA) Pranav Gothadiya Product Owner Nokia Asha SDK pranav.gothadiya@nokia.com
  • 2. CONTENTS • • • • • • • Introduction to Social Sharing What is Share API? Using Share API Application development using Share API - Share contents from MIDlet - Share contents from other apps - Fastlane integration Oauth 2.0 Emoji Support Additional Information
  • 3. INTRODUCTION TO SOCIAL SHARING • • • • Sharing content with social media Built-in feature of Share API through content handler Oauth 2.0 based authentication support Use unicode base emoticons in content sharing
  • 4. WHAT IS SHARE API ? • • • • Its a convenient overlay to JSR-211 for simple social sharing of content Platform implements this social sharing support Content handled either by content type/content handler ID Application development: - Implementing source for sharing - Implementing destination for sharing
  • 5. APPLICATION SIDE IMPLEMENTATION Code snippet: String[] args = new String[]{"text=" + this.sharedText.getString()}; String mime = "text/plain"; Registry registry = Registry.getRegistry(this.getClass().getName()); Invocation invocation = new Invocation(null, mime, "com.nokia.share"); invocation.setAction("share"); invocation.setArgs(args); invocation.setResponseRequired(false); registry.invoke(invocation);
  • 6. SUPPORTED ARGUMENTS • url: url - The url to the file that is being shared (many supported) n This is used when the shared items are files String[] args = new String[]{“url=file:///Phone/_my_picture/img1.png"};
  • 7. SUPPORTED ARGUMENTS • url: url - • The url to the file that is being shared (many supported) n. This is used when the shared items are files text: text - Textual content that is being shared This is used when the shared items are texts String[] args = new String[]{"text=file:///Phone/_my_picture/img1.png"};
  • 8. SUPPORTED ARGUMENTS • url: url - • The url to the file that is being shared (many supported) n. This is used when the shared items are files text: text - Textual content that is being shared. This is used when the shared items are texts For Fastlane integration • id - A unique identifier of the share transaction. It can be stored for future reference. Used with “open-shared” action.
  • 9. SUPPORTED SHARE TYPES Following mime types can be registered: • • • • image/* or specific image types audio/* or specific audio types video/* or specific video types text/plain type “No limit on size or types by the Share API, but there might be limitations on the individual share destinations”
  • 10. SHARE CONTENTS FROM MIDLET • • • • • Generate arguments to pass content Specify mime type of the content Get content handler Registry Create invocation Invoke
  • 11. SHARE CONTENTS FROM OTHER APPLICATIONS • • • • • Make JAD entry for content handler Create ContentHandlerServer Get Invocation from content handler server Get the arguments (content) Use content to share
  • 12. CONTENT INVOCATION Content can be invoked from following native apps: • Sharing link and bookmark from Browser • Sharing files from: - Gallery - Music player - Video player - Camera • Sharing contacts and calendars
  • 13. FAST LANE INTEGRATION • • • Destination must register to action "open-shared“ Destination can deep link the user into the right view Fastlane item is added if the destination returns with Invocation.OK handler.finish(invocation, Invocation.OK); • Fastlane item is added if the destination returns Invocation.CANCELLED and quit contentHandlerServer.finish(invocation, Invocation.CANCELLED); • Share UI considers that sharing has ended, but does not create a Fastlane item because the sharing was not completed contentHandlerServer.finish(invocation, Invocation. INITIATED);
  • 14. OAUTH 2.0 SUPPORT • • • • • Allows to access server resources on behalf of the resource owner Secure open authorization protocol Authentication handled by Nokia browser Invocation happens through Content Handler Browser - Performs Oauth 2.0 based authentication - Get back the access token - MIDlet app to use that access token further
  • 15. OAUTH 2.0 IMPLEMENTATION 22 November 2013 / Slide no 15
  • 16. EMOJI SUPPORT • • • • • Japanese term which represents a picture It expresses an visual/idea in messaging Standard Unicode set: - Large number of emoji chars - Range: U+1F300 to 1F64F Surrogate pair: - Maps an emoji character to a pictograph - Nokia Asha Platform has built-in implementation Back to UTF16 char: - While reading the char from Java text component
  • 17. EMOJI SUPPORT - IMPLEMENTATION • Constants • Create surrogate par from Unicode character • Get Unicode character back from surrogate pair
  • 18. MORE INFORMATION Overview - http://developer.nokia.com/Develop/asha/java/start/ Downloads - http://developer.nokia.com/Develop/asha/java/tools.xhtml - http://projects.developer.nokia.com/LWUIT_for_Series_40 Guides - Nokia Asha Design Guide: http://developer.nokia.com/Resources/Library/Asha_UI/ - Porting Guide: http://developer.nokia.com/Resources/Library/Porting_to_Nokia_Asha/ - Documentation: http://developer.nokia.com/Develop/asha/java/resources/docs/ - Training Videos: http://developer.nokia.com/Develop/asha/learning.xhtml - Code Examples: http://developer.nokia.com/Develop/asha/java/resources/code/
  • 19. THANK YOU. QUESTIONS? For more information: https://developer.nokia.com/Develop/asha/learning.xhtml