SlideShare a Scribd company logo
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

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 Geo2tagMicrosoft Mobile Developer
 
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 consultationsMicrosoft Mobile Developer
 
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 appMicrosoft Mobile Developer
 
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 storeMicrosoft Mobile Developer
 
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 progettoMicrosoft Mobile Developer
 
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 fotocameraMicrosoft 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 phonesMicrosoft 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 appsMicrosoft Mobile Developer
 
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.0Microsoft Mobile Developer
 
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 ...Microsoft Mobile Developer
 
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 screenMicrosoft 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

AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXUXDXConf
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineUXDXConf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 

Recently uploaded (20)

AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UX
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at Priceline
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

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