Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Filter
Connect Samsung Developer Conference
webspeakers get to know samsung developer conference speakers. jh han vice chairman & ceo, device experiencesamsung electronics jaehyeon jung evp, smartthings teamsamsung electronics cathy you svp, global business and strategyaqara anil yadav head of north america, bixby labsamsung electronics shin-chul baik principal engineer of security team, mobile experience businesssamsung electronics hobum kwon corporate vp, platform teamsamsung electronics bongjun ko evp, application s/w r&d groupsamsung electronics sally hyesoon jeong vp & head of framework r&d group, mobile experience businesssamsung electronics hon pak vice president, head of digital health team(mx)samsung electronics pattie maes professor of media technology at mitmit nick holzherr whisk aaron swift director of product, developer experiencesmartthings alex jun gao head of digital health labsamsung research america ben asaf chief technology officerclika byungwoo min software engineer, framework r&d team(mx)samsung electronics changwoo kim software engineer, basic platform r&d group(mx)samsung electronics charles kim software architect, smartthings team(dpc)samsung electronics charles lim tizen licensing pm(vd)samsung electronics daehwa rayer lee chief executive officerdr.tail daniel moneta marketing & strategy, smartthings | marketing chair, matter work groupsmartthings david berger senior software engineerunity technologies donghun shin ux engineer, next generation ux group(vd)samsung electronics dongkyun son software engineer, se team(sr)samsung electronics dongmin chwa software engineer, system platform r&d group(mx)samsung electronics dongsun lim software engineer,smartthings r&d group(dpc)samsung electronics dongwan kang software engineer, smartthings server r&d group(dpc)samsung electronics dongyeon jeong staff engineer, data analytics lab(sr)samsung electronics eric song head of data service lab(sr)samsung electronics erik jorgensen senior computer vision and machine learning research engineersmartthings euna ko software engineer, se lab(vd)samsung electronics gennady petrov principal software developer, display drivernvidia hyeonseok lee software engineer, soc architecture team(sr)samsung electronics hyunseok cha principal s/w engineer, s/w platform lab(vd)samsung electronics james geraci master, data intelligence team(sr)samsung electronics ji-hoon lee software engineer, tizen platform lab(isr)samsung electronics jiman cho software engineer, smartthings r&d group(dpc)samsung electronics joan soskin director, product operationssmartthings jong woo vp games, service business team(mx)samsung electronics jongho kim engineer, h/w platform lab(vd)samsung electronics junho lee principal s/w engineer, security lab(vd)samsung electronics kangwook lee software engineer, ai methods team(sr)samsung electronics kwang pyo choi master, visual technology team(sr)samsung electronics kwanyoung kim h/w engineer, h/w platform lab(vd)samsung electronics kyungyoun won software engineer, s/w platform group(da)samsung electronics madhukar budagavi senior director, multimedia standardssamsung research america markus höckner senior software developerocilion iptv technologies gmbh michael barnes head of lab, framework r&d group(mx)samsung research uk michael hwang co-founder/chief strategy officerdatumo olivier li overseas sales directorcvte pankaj agarwal chief executive officertaghive inc. rajan joshi principal engineersamsung research america rajiv kavuri senior director, product management, samsung walletsamsung electronics america robert white sr. directorsamsung electronics rongchun wu software engineer, framework r&d group(vd)samsung electronics ryan yunil kim principal s/w engineer, product s/w lab(vd)samsung electronics sangchul song corporate vice president, advertising service group(mx)samsung electronics sanghun kim picture quality engineersamsung electronics seikwon kim software engineer, mde lab(sr)samsung electronics seong-il hahm master, senior architect, s/w platform group(da)samsung electronics seongnam oh senior technical director, video systemssamsung research america steve herbert director, global business developmentsmartthings sungchull lee software engineer, health s/w r&d group(mx)samsung electronics suzie hyun director, industry relationssamsung research america yongseon lee co-founder & head of infrastructurevessl ai youngjun kim software engineer, service s/w lab(vd)samsung electronics zach michel engineering managersmartthings back to previous page
Connect Samsung Developer Conference
webyour impact made our sdc23 shine! samsung's innovations include bixby, knox, smartthings, and tizen.see sdc23 for a connected ecosystem with multi-device experiences. samsung developer conference 2023 thu, oct 5, 2023 10:00 am ptmoscone north in san francisco and online video thumbanil highlights though sdc23 has ended, the innovation lives on! whether you missed the event or just want to revisit the highlights, you can watch the excitement on demand. keynote discover samsung’s broad ecosystem of powerful, next-level tech and hear how samsung is building toward a smarter, safer, and more personally connected future. view keynote sessions view sessions dive into the future of connected customer experiences through tech sessions by developers offering further insight into the innovations introduced in the keynote. gamepad on tizen tv mega session screen experience, game, developer program, tizen this session provides valuable tips and techniques for game application developers and gamepad manufacturers. hdr10+ gaming mega session screen experience, game the hdr10+ gaming panel discussion covers an overview of hdr10+ gaming and how game developers can support it. games with samsung galaxy mega session mobile experience, game, android, mobile the latest in mobile gaming development technologies, responsive ui for flex mode, and mobile cloud gaming. exploring the digital health ecosystem: samsung health as digital front door mega session health experience, health, wearable, mobile new samsung health features, samsung privileged health sdk, and collaboration for research with samsung health stack. smartthings and matter tech session platform innovation, iot, open source, developer program get a brief introduction to matter, new enhancements with smartthings, and new developer tools that make it easy to integrate your devices. what's new and next in watch face studio 2023 tech session mobile experience, wearable, design, mobile let's learn the main new features of watch face studio 2023 and enjoy the new watch face studio plugin experience. speakers check out the speakers who joined us at sdc23 to share their experience and expertise, and get a sense of what you can expect from next year’s sdc event. view speakers code labs view code lab get hands-on with the latest development features through new code lab topics and samples introduced for sdc23. smartthings matter: build a matter iot app with smartthings home api 25 mins start smartthings develop a smartthings find-compatible device 30 mins start foldable develop a widget for flex window 25 mins start samsung wallet integrate 'add to samsung wallet' button into partner services 30 mins start gamedev galaxy z implement flex mode into a unity game 30 mins start watch face studio customize styles of a watch face with watch face studio 30 mins start tech square talk with product experts, experience innovations in tech square. catch up on new updates from samsung platforms and os like smartthings, knox and tizen, mobile & screen experience, home & health experience, sustainability. view tech square samsung c-lab meet six passionate entrepreneurs and start-ups accelerated by samsung c-lab, an in-house venture and start-up acceleration program. these start-ups are making waves in the healthcare and ai industries, and are here to showcase their latest innovations. view samsung c-lab prior years watch highlights of selected sessions from sdc events in last samsung developer conference. sdc22 october 12, 2022moscone north and onlinesan francisco, california sdc21 october 26, 2021online sdc19 october 29–30, 2019mcenery convention centersan jose, california sdc18 november 8-9, 2018moscone westsan francisco, california sdc17 october 18-19, 2017moscone westsan francisco, california sdc16 april 27-28, 2016moscone westsan francisco, california
Connect Samsung Developer Conference
webthank you for an inspiring sdc21! the sdc21 fosters connections and shapes future customer experiences. discover innovations. access our sdc21 keynote and tech sessions on demand. highlight session : special offer only @sdc21 get a deeper look at the new software, services and platforms announced in the keynote. each session delivers more information on the innovations enabling smarter customer experiences on even smarter devices. platforms designed for connected experiences bixby : best voice interface for connected experience building the future smart home today samsung’s connected kitchen platform: social food experience with connected appliances innovating mobile experiences across samsung galaxy ecosystem one ui 4 design: focus, comfort, self-expression what’s new in foldables? watch ecosystem: a new era reimagining the $80b enterprise developer opportunity the evolution of tizen and innovative screen experiences what’s new in tizen 6.5 redefining the experience of watching tv what's new in samsung smart tv services what's next for tizen: smart screen for business catch up with our latest insights hear from samsung’s top experts and gain powerful insights into the industry and state-of-the-art technology, ideal for developers wanting to advance or for those interested in the latest breakthroughs. tech talk ar, design, developer program, game, iot, mobile, monetization, open innovation ar emoji for the metaverse security, tizen automation to help security design, develper program, enterprise, iot, mobile, monetization, security, ui/ux, wearable beyond a limit with the mobile b2b partner program enterprise, security, smart tv, tizen build a trusted service with samsung tizen security android, design, developer program, mobile, wearable build your app in the new watch ecosystem mobile, open innovation, wearable call for innovators: build breakthrough technologies with samsung mobile ai, developer program, iot, mobile, productivity, smart appliances enabling intelligent voice control on your iot devices android, developer program, game, mobile, open innovation, productivity, ui/ux enhanced pen experience on galaxy ai, machine learning, robotics enhancing apache spark for robust data processing android, content & services, developer program, game, mobile, monetization galaxy store: games-focused, developer-friendly enterprise, mobile, monetization, open innovation, productivity, wearable galaxy watch4 for enterprise business android, content & services, game, mobile, monetization, web games for everyone: samsung instant plays android, content & services, developer program, mobile, monetization grow your podcast audience with samsung content & services, smart tv hdr10+ for gaming smart appliances home mobility : appliance as platform for services android, content & services, developer program, mobile, web how to build browser extensions on samsung internet enterprise, tizen how to build smart signage solutions with tizen ai, content & services, mobile, open innovation, productivity how to elevate english writing experiences smart tv, tizen improving the voice experience with samsung tv enterprise, tizen introducing lynk cloud & magicinfo cloud ai, developer program, machine learning, open innovation, robotics nntrainer: personalize neural networks on devices! android, content & services, developer program, health, mobile, wearable new health platform based on wear os powered by samsung android, design, mobile, ui/ux, wearable one ui: designing a more approachable experience ai, android, design, enterprise, mobile, monetization, open innovation, productivity redefining edge computing & foldables for b2b open innovation samsung ese: a trusted partner for enhanced security ai, developer program, enterprise, iot, mobile, open innovation, productivity, security smartthings build: bringing connected living experiences to life for multi-family ai, developer program, iot, mobile, productivity smartthings edge: a platform engineered for the next-generation smart home ai, developer program, enterprise, iot, mobile, productivity smartthings find: from lost to found 5g, 6g towards beyond 5g and 6g android, content & services, developer program, mobile, productivity, ui/ux, web unfolding the future of responsive web design smart tv, tizen, web what's new in the tizen web platform for smart tv video thumbanil keynote unveiling the samsung software, services and platforms shaping the future of customer experiences. see how they enable connectivity across devices and offer opportunities to collaborate. this is innovation not only for today, but for the future. with a commitment to education, hands-on opportunities help to build a better future. keynote speakers dj koh president & ceo it & mobile communications samsung electronics daniel ahn senior vice president mobile platform center samsung electronics samantha fein vice president business development and marketing smartthings inc. jeongsook lee vice president customer experience office samsung electronics yongjae kim senior vice president visual display software r&d samsung electronics bill mandel vice president visual solutions lab samsung research america janghyun yoon executive vice president mobile software r&d samsung electronics
Connect Samsung Developer Conference
webspeaker list check out the speakers who joined us at sdc22 to share their experience and expertise jonghee han vice chairman, ceo and head of device experience divisionsamsung electronics sebastian seung president & head of samsung researchsamsung electronics yongjae kim evp, deputy head of r&d team, visual display businesssamsung electronics sang kim svp & head of product & marketing, samsung electronics america samsung electronics jaeyeon jung vp & head of smartthings, mobile experience businesssamsung electronics sally hyesoon jeong vp & head of framework r&d group, mobile experience businesssamsung electronics mark benson head of smartthingssmartthings inc. anil yadav head of bixby lab, samsung research americasamsung electronics shin baik principal engineer of security team, mobile experience businesssamsung electronics alissa dornbos engineering managersmartthings inc. allan devantier vp of audio research and developmentsamsung electronics barry holland product directorsamsung electronics byungkwon kang principal s/w engineersamsung electronics charis ryu engineersamsung electronics charles lim tizen licensing pmsamsung electronics chulheon jeong software engineer, framework r&d groupsamsung electronics david kwon director of partnership & business developmentsamsung electronics david lee evp, head of samsung nextsamsung electronics donghun shin senior s/w engineersamsung electronics eldad persky vp of product & engineering, ads & datasamsung electronics eun-ae cho software project leadersamsung electronics evan artis senior product managersmartthings inc. haeyoung jun principal engineer, standards research teamsamsung electronics heinz pabst software project leadersamsung electronics hobum kwon corporate vp, platform teamsamsung electronics hosub lee software engineersamsung electronics hyun kim head of core ux groupsamsung electronics hyunju shin principal engineer, platform teamsamsung electronics hyunseok cha principal s/w engineersamsung electronics jaeho ko ux designersamsung electronics james pak corporate vp, b2b partnershipssamsung electronics jeoungju kim engineersamsung electronics jidon yeo principal engineer, data research teamsamsung electronics jihye song staff engineer, s/w architectsamsung electronics jinhoon cho ux designersamsung electronics jinwoo song principal engineer, data research teamsamsung electronics jiwon kim staff engineersamsung electronics john alioto director, developer relationssamsung electronics john couling senior vp, entertainmentdolby laboratories joohwan kim principal engineersamsung electronics joosun moon principal ux designersamsung electronics josh ross content strategist, core ux groupsamsung electronics juneho lee principal s/w engineersamsung electronics kianoosh karami director of engineeringsmartthings inc. kihwan kim corporate vpsamsung electronics kyle sporre principal product managersmartthings inc. kyunghoon han ux designersamsung electronics laura morinigo web developer advocatesamsung electronics mateusz obidzinski b2b technical support engineersamsung electronics matthew reyes pm, mobile gamingdolby laboratories minji lee wallet strategy groupsamsung electronics philip leung partnerships managersamsung electronics richard song director, b2b partnershipsamsung electronics robert white sr. directorsamsung electronics roger kibbe senior developer evangelistsamsung electronics ryan kim principal s/w engineer, tizen enterprise spmsamsung electronics sangin lee software engineer, smartthingssamsung electronics sanguk jeon head of core platform labsamsung electronics sean ginevan head of digital partnership, android enterprisegoogle llc sean park senior product manager, experience planning groupsamsung electronics seongnam oh senior technical director, video systemssamsung electronics soowan kim technical product manager, visual s/w r&d groupsamsung electronics soyoung lee principal engineersamsung electronics sungchull lee software engineer, health s/w r&d groupsamsung electronics surojit chatterjee chief product officercoinbase taeho kgil corporate vp, security & privacy teamsamsung electronics wojciech kajder head of part/b2b product and program managementsrpol/samsung youngsang shin principal engineersamsung electronics yunsik bae staff engineer, connectivity r&d groupsamsung electronics
Learn Code Lab
webcode lab code lab is an education platform that engages anyone to understand, through a series of topics, the entirety of the sdks and tools powered by samsung. all tags all tags health write exercise data to samsung health 30 mins start watch face studio create multiple premade watch face designs in a single project 30 mins start health measure electrodermal activity on galaxy watch 30 mins start watch face studio optimize your watch face design 30 mins start watch face studio apply motion graphics to your watch face using tag expressions and gyro effects 30 mins start in-app purchase implement in-app subscriptions using samsung iap 30 mins start watch face studio design a watch face with customizable edge complication slots and digital clock 30 mins start in-app purchase add samsung in-app purchase service to your app 30 mins start watch face studio get creative with weather data in watch face studio 30 mins start sdc24 health build a health app with steps from samsung health and its connected wearables 30 mins start sdc24 health access rich sleep data from samsung health measured by galaxy wearables 30 mins start sdc24 smartthings create a smartthings edge driver for an iot bulb 30 mins start sdc24 smartthings develop a smartthings find-compatible device 30 mins start sdc24 smartthings test edge drivers using smartthings test suite 30 mins start sdc24 health research stack establish a health research system using samsung health research stack 30 mins start sdc24 samsung pay samsung wallet integrate samsung pay web checkout with merchant sites 30 mins start sdc24 samsung pay samsung wallet integrate samsung pay sdk flutter plugin into merchant apps for in-app payment 30 mins start sdc24 samsung wallet utilize add to samsung wallet service for digital cards 30 mins start sdc24 samsung wallet verify your id with samsung wallet 30 mins start sdc24 automotive create an android automotive operating system (aaos) app with payments via samsung checkout 30 mins start watch face studio apply gyro effects to a watch face using watch face studio 20 mins start smartthings matter: create a virtual device and make an open source contribution 25 mins start smartthings matter: build a matter iot app with smartthings home api 25 mins start galaxy z develop a widget for flex window 25 mins start samsung pay samsung wallet integrate in-app payment into merchant apps using samsung pay sdk 30 mins start gamedev optimize game performance with adaptive performance in unity 30 mins start gamedev galaxy z implement flex mode into a unity game 30 mins start watch face studio customize styles of a watch face with watch face studio 30 mins start watch face studio galaxy z customize flex window using good lock plugin on watch face studio 20 mins start health measure skin temperature on galaxy watch 20 mins start health transfer heart rate data from galaxy watch to a mobile device 30 mins start watch face studio design a watch face using mask and moon phase tags 30 mins start bixby smartthings control a smart bulb 30 mins start watch face studio apply conditional lines on watch faces 20 mins start health measure blood oxygen level on galaxy watch 30 mins start health measure blood oxygen level and heart rate on galaxy watch 40 mins start galaxy z implement multi-window picture-in-picture on a video player 20 mins start samsung blockchain transfer erc20 token with blockchain app 45 mins start galaxy ar emoji gamedev use ar emoji on games and 3d apps 60 mins start gamedev galaxy z implement flex mode on an unreal engine game 120 mins start smartthings integrate iot devices into the smartthings ecosystem 45 mins start watch face studio create a watch face using tag expressions 60 mins start galaxy z implement flex mode on a video player 30 mins start galaxy z implement app continuity and optimize large screen ui of a gallery app 40 mins start galaxy z configure an app to enable copy and paste in multi-window 30 mins start galaxy z configure an app to enable drag and drop in multi-window 30 mins start samsung blockchain develop a blockchain shopping app 40 mins start
Distribute Galaxy Store
docuser attribution user acquisition is the process required to attract, gain, and retain customers user attribution is a way to identify how a user finds your app's detail page in galaxy store that is, did the user and potential customer find your app from a link in a banner in galaxy store, as a result of a keyword search in galaxy store, or from a galaxy store badge link in a social media post? galaxy store statistics provides user acquisition reports that measure user attribution and breaks down the numbers by channel, source, keywords, and featuring galaxy store banner or icon notestatistics listed here are not available in all countries the following is the hierarchy and descriptions of the categories you may find in the user acquisition reports in the descriptions, organic users are users who are directed to your app's detail page from an item within galaxy store or galaxy themes such as a banner, icon, widget, or search result non-organic users are users who are directed to your app's detail page from an item outside of galaxy store or galaxy themes any user is any organic or non-organic user category description all channels any user who has accessed your app's detail page this is the total number of users who have visited you app’s detail page direct any user who does not fit into any category excluding all channels but whose source can be identified explore organic users who do not fit into any organic category these are users who are browsing galaxy store and viewing apps that are interesting to them featured banner organic users who click on a banner from one of the main pages in galaxy store featured icon organic users who click on an icon from one of the main pages in galaxy store galaxy store badge non-organic users who click a special short link that was generated from the samsung developer dashboard or in seller portal see galaxy store badge promotion for more information about galaxy store badges if a badge click comes from a category already tracked in gss for example, from a twitter post , the click is counted once and attributed to the galaxy store badge category only the badge must be linked to the product detail page of an android app or galaxy watch app gss does not track badges for theme product detail pages nor theme/galaxy watch seller brand pages galaxy store all organic users these users find your app from a link within galaxy store hun heads-up notification non-organic users who respond to a push notification generated by the galaxy store platform used exclusively by galaxy store see push notification for notifications generated by the samsung messaging platform native apps non-organic users whose source is another samsung product for example, bixby, gear manager [galaxy wearables], or s finder or from a samsung domain for example, com sec * or com samsung * others any user who does not fit into any category excluding all channels and whose source cannot be identified promotion organic users who visit a galaxy store promotion page and either download your app or go to your app's detail page galaxy store promotion pages are accessed by clicking the gift icon in the top right corner of any main section featured, exclusives, themes, or watch in galaxy store push notification non-organic users who respond to a push notification generated by the samsung messaging platform used by galaxy store and other samsung teams see hun for notifications generated by the galaxy store platform referral non-organic users who directly access your app's detail page and whose source cannot be identified samsung any user who finds your app's detail page from a samsung-generated source this includes organic, native apps, hun, push notification, social, galaxy store badge, and referral users search organic users who use the galaxy store search page to find your app's detail page social non-organic users who follow a link from a social networking platform such as twitter, instagram, line, or facebook if a click from a social networking platform comes from a galaxy store badge, the click is counted once and attributed to the galaxy store badge category only
web
discover and developwith samsung use our tools and services to providean exceptional experience to samsung users around the world. view all products subscribe newsletter what’s new latest updates for developers stay updated with recent news, feature changes, and key announcements that highlight new additions and improvements. samsung mobile advance 2026 global startup incubation program for meaningful advanced mobile innovations across the ecosystem. apply now! prepare for one ui 9 explopre the one ui 9 beta rollout, starting with supported galaxy s26 devices in select markets. galaxy s26 emulator skins download the emulator skins designed for the galaxy s26 series. learn learn easily, build confidently visit code lab blog blog samsung wallet supports pix samsung wallet, samsung pay updated may 27, 2026 blog personalized watch faces with photo slot galaxy watch updated apr 28, 2026 blog samsung wallet introduces trips samsung wallet updated apr 26, 2026 blog continuous heart rate tracking on galaxy watch, even with the screen off galaxy watch, health updated apr 23, 2026 develop mobile / wearable get set up to use samsung mobile sdks in your apps. mobile / wearable visual display digital appliance platform galaxy gamedev build games for galaxy devices - the world's largest mobile gaming platform galaxy themes with galaxy themes, you can personalize galaxy devices' screens galaxy watch optimize your application performance health create a useful health app on galaxy watch and a smartphone samsung iap sdk make it possible to sell a variety of items in samsung galaxy apps samsung browser web developer guides for samsung browser samsung wallet an all-in-one, single-swipe solution for tickets, boarding passes, coupons, and more galaxy emulator skin app design guide for foldable phones remote test lab build apps to control desktops with smartphones smart tv build apps for samsung smart tvs smart hospitality display enhance guest experiences smart signage transform displays in business family hub make the kitchen the center of your home bixby apply voice to your apps smartthings add smartness to your user’s lives knox secure your devices tizen build apps that connect everything samsung see more mobile docs (15) see more mobile docs (15) galaxy sdk get started create your own applications with a variety of samsung galaxy sdks, services, and tools. galaxy ar emoji sdk create your own avatar in your app galaxy performance sdk optimize your application performance galaxy s pen remote sdk control apps remotely with your s pen galaxy z (foldable) app design guide for foldable phones samsung automation studio develop your apps using samsung automation studio samsung blockchain build blockchain-enabled services for mobile devices samsung dex build apps to control desktops with smartphones samsung ese sdk provides a way for service providers to deploy services using ese on samsung devices samsung teegris a powerful solution to run applications in a trusted execution environment apv codec advanced professional video codec mobile accessories major component placement for galaxy s/z phones samsung app management a solution to manage background applications for better system health samsung log video create professional videos with galaxy camera starting from s25 series samsung wireless fast charge enables samsung mobile devices to be fast-charged with the wireless fast charger design creating the future get in-depth information and resourcesto design high quality apps for samsung’s products and services. design system samsung design system is samsung eco’s design system for consistent and clear communication. one ui design guideline one ui helps you focus on what really matter to you one ui watch galaxy watch provides you new ux components, which allows you to use it to build new user experiences. distribute share with millions bring your apps and games to samsungreach hundreds of millions of galaxy users distribute your apps submit your apps to galaxy store and use key samsung programs to promote your apps. samsung apps tv seller office with demand for video servies constantly growing, now is the perfect opportunity to publish application for samsung smart tvs. redefine your game distribution stream your games on samsung mobile devices using instant plays 2.0, bringing users instant fun and excitement. connect and share more than on your ownsamsung developer forums visit the forums to ask questionsand exchange ideas with other developer. visit forums experts and tools with our support team we're here to help you be successful in the samsung developer ecosystem. learn more about our tools and how to communicate with our support team search faq by keyword and category submit a 1:1 support request and receive a responds explore testing tools and software resources get insights with recommended articles get support for partner samsung developerbusiness account join samsung business account to experience most of the service. add members, measure user engagement, streamline your onboarding process and much more - all at no cost create business account newsletter get monthly digest of the latest highlights from our developer products and programs email address first name last name 뉴스레터 전송을 위한 개인정보 수집∙이용에 동의합니다(필수). detail 광고성 정보 수신에 동의합니다(필수). detail i agree to data processing for sending newsletters. (required) detail i consent to receiving newsletters via email. (required) i consent to receiving newsletters via email. detail subscribe
success story marketplace, mobile, foldable
blogjeanne hsu, senior marketing manager for developer relations at samsung, chatted with shilpi aggarwal, senior engineering manager in document cloud. she has been at adobe for 15 years, working on portable document format (pdf) technologies at all levels of the stack, with a deep interest in creating seamless customer experiences. jeanne hsu (jh): shilpi, what is your role at adobe? shilpi aggarwal (sa): i deliver products that power pdf creation and consumption across mobile form factors. i manage the adobe acrobat app on the android platform and provide best-in-class pdf experiences to millions of users every day. jh: what was your professional journey that led you to adobe? sa: at university i used adobe photoshop and acrobat reader on a daily basis, so i was familiar with the software. i joined adobe fresh out of college and immediately loved the culture. i am a true believer in adobe values, so i’ve stayed with adobe since the beginning of my career. jh: that’s a long time to be at one company. i noticed adobe’s core values are being genuine, exceptional, innovative, and involved. which values resonate the most for you? sa: being genuine and getting involved. it feels so easy to be myself here. adobe also values diversity and inclusion; everyone is equally valued. people have the freedom to speak out in meetings and can reach out to any executive. i treasure that. jh: how did covid-19 impact the team? sa: when the pandemic hit, adobe held a virtual all hands meeting and asked how people were doing and if there was anything they needed. i said i needed an oxygen cylinder for someone in india. an evp on the call messaged me 1:1 and said he had access to one. i was impressed that he would reach out to help like that. this level of support and engagement from leadership in the hour of need is what i value the most. jh: how did the relationship with samsung first start? sa: our samsung and adobe document cloud partnership started in 2018 with the debut of adobe scan on the galaxy note9. bixby vision was enabled to work seamlessly with adobe scan, giving customers the ability to get more done on the go. in 2020, we expanded our partnership with the launch of the adobe acrobat mobile app in the galaxy store. galaxy store users could download and subscribe to adobe acrobat mobile, which included capabilities to edit text and images, export to and from pdf, more advanced features to create pdfs, combine and organize pdfs, and more. adobe acrobat reader mobile app — best made for samsung app award jh: congrats on winning the 2021 best of galaxy store award — best made for samsung app — for adobe acrobat reader. what does it mean to win this award? sa: i am delighted and proud. our team was really happy to hear the news, and we had a small virtual party afterward. with the acrobat reader mobile app, our mission has always been to fundamentally change the way people consume and modify digital documents, and to become the first choice for pdf productivity for mobile-first users. i feel humbled by the chance to empower millions who use our app every day. i am grateful to our customers and to our amazing partners at samsung for recognizing us. jh: what makes your app unique? sa: people regularly work with documents on the go, and the pdf file format makes it easy to view most documents on a mobile device with formatting intact. with the acrobat mobile app, you can view pdfs for quick document reviews and edits, easy form filling and signing, and much more. it’s different from other mobile pdf solutions because it offers an end-to-end workflow for creating, editing, signing, reviewing, and storing pdfs across devices. acrobat was built for mobile, so you can read documents without pinching and zooming. you can organize paper documents digitally with mobile-first features like liquid mode and scan. and let’s not forget that adobe invented the pdf format and continues to innovate every day for the millions of people around the world who use the acrobat mobile app. jh: i heard about another intriguing feature for adobe acrobat reader called read out loud. tell us more about that. sa: yes, it’s part of our mobile first strategy. read out loud is a text-to-speech (tts) tool that reads text contained in pdf documents. it’s important for accessibility for all. jh: what else differentiates the adobe pdf experience for mobile users? sa: liquid mode senses your mobile device’s screen size and adjusts accordingly. you can change text size and spacing for better readability. you can also search text and expand images and charts. last year it was our most talked-about feature, with great reviews. users also like the form-filling experience and the ability to add signatures on forms. jh: i’m a big fan too. i love the form-filling and signature capabilities. it’s far better than the alternative of printing it out, filling it out manually, signing it, and then taking a picture to upload. it’s a real game changer. feedback and discoverability jh: what kind of feedback have you received from users? sa: we have over 90 million active users a month. they give us lots of feedback, and we take that feedback very seriously. every month we go over online reviews, dedicated adobe forums, and support email lists. because we value customer feedback in our product development process, we’re consistently able to deliver a product customers enjoy. here are some comments from our users: app is great, super easy to use and really easy to learn how to use without much of a learning curve, kind of just explains itself as it goes along, a very intuitive app, almost seems as if it's learning you as you learn it, making it extremely functional for even the most novice of users. adobe acrobat mobile is a reliable tool and extremely useful for editing documents efficiently and has a sleek design. i do not know about many others, but i know adobe has always been convenient and easy to use and the editor is such a remarkably helpful tool. i love this! you can sign papers that are sent to you via text, email, and postal mail on your phone and send them back to those who need signed paperwork. it takes two minutes to sign papers and send them back... jh: with all the competition for apps, what has been your strategy for discoverability? sa: we optimize our content on app store pages to make sure people can easily discover the apps’ benefits. we also run campaigns to new potential customers and existing users who have other adobe products but not acrobat mobile. for example, we send campaigns to existing adobe customers to let them know they can download the acrobat mobile app to view and work with documents on their mobile devices. advice and the future jh: what advice would you give developers looking to bring their app to galaxy store? sa: i would say to design the app with scale in mind. whatever changes we make should be architected to scale to other adobe apps going forward. for example, billing was a key component for our partnership with the samsung galaxy store. we modularized it so it could be plug-and-play. other adobe groups have asked to use the billing component for their products with samsung. the samsung partnership helped us think in this way. we can scale our app with other stores without major code rewrites. this led us to think about how to scale for multiple stores, best practices, and notification support. with a more expansive mindset, we decoupled components and came up with a design to create different flavors of the app with the same code. a modular design provides a foundation to build out for other platforms. jh: what other advice would you give for developers in general? sa: keep learning, no matter what your role is in the business. my path was individual contributor to team lead to manager to senior management. never stop learning. set aside time to refresh your skills and keep yourself up to date. jh: do you have plans to make your app compatible with foldable devices? sa: yes. we’ve done a lot of work on foldables, including the samsung z fold and z flip devices. we’re doing rigorous testing to ensure compatibility. jh: what’s next on the horizon for your team? sa: there are more than four billion smartphones today, and they are increasing in emerging markets. while digital documents are ubiquitous in developed countries, we will continue to innovate our products and work with mobile app store partners like samsung so we can expand the value we deliver to customers worldwide. marketing jh: what are some of the ways you promote adobe acrobat mobile? sa: here are our websites and channels: website facebook twitter linkedin youtube blog diversity and inclusion jh: what is adobe doing related to diversity and inclusion? sa: we have several programs that foster diversity and inclusion. adobe for all is a program in which adobe employees with diverse backgrounds share their stories and inspire others. in wesp (women employee shadow program), women shadow execs, and the execs mentor them for three months. our team has a healthy balance of men and women. during the pandemic, we found working remotely and hiring remotely has helped us increase our pool of applicants. we’re excited to see more people from different geos and diverse cultures applying. jh: what do you do for fun outside of work? sa: i’m into freestyle dancing; it gives me a lot of peace and calm. i’ve done aerobics. also, i’ve performed bollywood style and competed in multiple team events, winning twice. i performed with a group of dancers at an adobe talent show, which was fun. i also spend time with my seven-year-old son; he’s in that phase of doing lots of cute and naughty things, which keeps me engaged. jh: it’s been great talking to you shilpi. thanks for this interview. sa: you’re welcome. be sure to also follow us on @samsung_dev to keep up-to-date on the latest developer news, and keep an eye on our blogs for other helpful resources. you can also sign up for the samsung developer program to take advantage of exclusive benefits and access helpful developer resources.
Jeanne Hsu
Develop Samsung Pay
apioverview package class tree index help package com samsung android sdk samsungpay v2 class spaysdk java lang object com samsung android sdk samsungpay v2 spaysdk direct known subclasses cardmanager, paymentmanager public abstract class spaysdk extends object this class allows to define samsung pay sdk information, common error codes, and constants since api level 1 1 nested class summary nested classes modifier and type class description static enum spaysdk brand this enumeration provides sdk supported card brands such as american express, mastercard, visa, discover, china unionpay, octopus, eci, pagobancomat, mada and elo static enum spaysdk servicetype this enumeration provides service types partners must set their service type in the partnerinfo when they call any apis static enum spaysdk transactiontype this value is specifically supported for mada tokens and will not apply to other token types field summary fields modifier and type field description static final string common_status_table this table shows the status codes used commonly status bundle keys bundle values spay_not_supported 0 extra_error_reason error_device_not_samsung -350 error_spay_pkg_not_found -351 error_spay_sdk_service_not_available -352 error_device_integrity_check_fail -353 error_spay_app_integrity_check_fail -360 error_android_platform_check_fail -361 spay_not_ready 1 extra_error_reason error_spay_setup_not_completed -356 error_spay_app_need_to_update -357 error_spay_internal -1 extra_error_reason error_server_internal -311 n/a n/a error_not_allowed -6 extra_error_reason error_invalid_parameter -12 error_sdk_not_supported_for_this_region -300 error_service_id_invalid -301 error_service_unavailable_for_this_region -302 error_partner_app_signature_mismatch -303 error_partner_app_version_not_supported -304 error_partner_app_blocked -305 error_user_not_registered_for_debug -306 error_service_not_approved_for_release -307 error_partner_not_approved -308 error_unauthorized_request_type -309 error_expired_or_invalid_debug_key -310 error_missing_information -354 error_unable_to_verify_caller -359 error_invalid_parameter -12 n/a n/a error_no_network -21 n/a n/a error_server_no_response -22 n/a n/a error_partner_info_invalid -99 extra_error_reason error_partner_sdk_api_level -10 error_partner_service_type -11 error_partner_sdk_version_not_allowed -358 error_initiation_fail -103 n/a n/a spay_not_allowed_temporally 3 extra_error_reason error_spay_connected_with_external_display -605 error_spay_fmm_lock -604 n/a n/a paymentmanager error_making_sheet_failed -115 n/a n/a static final string cryptogram_type_icc key to represent the icc cryptogram type of mastercard static final string cryptogram_type_ucaf key to represent the ucaf cryptogram type of mastercard static final string device_id key to represent unique device id static final string device_type_gear device type is gear static final string device_type_phone device type is phone static final int error_android_platform_check_fail this error indicates that android platform version check has failed for in-app payment, the samsung pay sdk requires android 6 0 m android api level 23 or later versions of the android os this is returned as extra_error_reason for spay_not_supported error static final int error_device_integrity_check_fail this error indicates that device integrity check has failed this is returned as extra_error_reason for spay_not_supported error static final int error_device_not_samsung this error indicates that the device is not a samsung device this is returned as extra_error_reason for spay_not_supported error static final int error_duplicated_sdk_api_called this error indicates that duplicate api called by partner static final int error_expired_or_invalid_debug_key this error indicates that debug key is invalid or expired this is returned as extra_error_reason for error_not_allowed error for example, if the partner app uses expired debug-api-key, then the partner app verification will be failed static final int error_initiation_fail this error indicates that session initiation or service binding has failed for example, if the service connection with samsung pay was not successful static final int error_invalid_parameter this error indicates that requested operation contains invalid parameter or invalid bundle key/value static final int error_missing_information this error indicates that some information of partner is missing this error code is returned as an extra_error_reason of error_not_allowed error for example, if the partner app does not deliver a required information to samsung pay to get the wallet information, then samsung pay will send this error to partner app also if the partner does not define the issuer name in samsung pay developer portal, samsung pay will send this error to partner app static final int error_no_network this error indicates that samsung pay is unable to connect to the server since there is no network for example, partner app tries to verify with server while network is not connected static final int error_none this error indicates that requested operation is success with no error static final int error_not_allowed this error indicates that requested operation is not allowed for example, partner app verification has failed in samsung pay server static final int error_not_found this error indicates that given card id is not found in samsung pay static final int error_not_supported this error indicates that requested operation is not supported in samsung pay static final int error_partner_app_blocked this error indicates that partner app version is removed/blocked by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is blocked, then the partner app verification will be failed static final int error_partner_app_signature_mismatch this error indicates that the app signature is different from the one registered from samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if different signature is used for signing apk, the partner app verification will be failed checking signature logic will be activated in case debug mode is "n" static final int error_partner_app_version_not_supported this error indicates that app version is not supported by samsung pay this is returned as extra_error_reason for error_not_allowed error for example, if the version registered from developer portal is higher than current version or no any version registered , then the partner app verification will be failed static final int error_partner_info_invalid this error indicates that partner information is invalid for example, partner app is using sdk version not allowed, invalid service type, wrong api level, and so on static final int error_partner_not_approved this error indicates that partner registration is not done on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is submitted but not approved, then the partner app verification will be failed static final int error_partner_sdk_api_level this error indicates that sdk api level is missing or invalid partner must set valid api level in the androidmanifest file static final int error_partner_sdk_version_not_allowed this error indicates that the partner app is using samsung pay sdk not allowed this is returned as extra_error_reason for error_partner_info_invalid error static final int error_partner_service_type this error indicates that the service type is invalid partner must set valid service type in partnerinfo when calling apis this is returned as extra_error_reason for spay_not_ready error static final int error_registration_fail this error indicates that the card provisioning has failed static final int error_sdk_not_supported_for_this_region this error indicates that the samsung pay sdk is not supported in particular region this is returned as extra_error_reason for error_not_allowed error for example, if the device is from the country that samsung pay sdk is not supported, then the partner app verification will be failed static final int error_server_internal this error indicates that server fails to proceed request due to unknown internal error this is returned as extra_error_reason for error_spay_internal error for example, if the server error occurred while the partner verification is going on, then the partner app verification will be failed static final int error_server_no_response this error indicates that server did not respond to the samsung pay request static final int error_service_id_invalid this error indicates that service id is not registered with the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if invalid service id was used in partner app, then the partner app verification will be failed static final int error_service_not_approved_for_release this error indicates that service version is not approved for release by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is not registered for release mode, then the partner app verification will be failed static final int error_service_unavailable_for_this_region this error indicates that sdk support is not available for partner's service in particular region static final int error_spay_app_integrity_check_fail this error indicates that samsung pay app integrity check has failed this is returned as extra_error_reason for spay_not_supported error static final int error_spay_app_need_to_update this error indicates that the samsung pay should be updated partner app need to ask user to update samsung pay app static final int error_spay_connected_with_external_display this error indicates that device is connected with an external display due to security reason, samsung pay cannot be launched at this moment in this case, partner can guide user to disconnect any external display if connected static final int error_spay_fmm_lock this error indicates that device is locked due to fmm find my mobile partner app needs to ask user to unlock the samsung pay app static final int error_spay_internal this error indicates that internal error has occurred while the requested operation is going on static final int error_spay_pkg_not_found this error indicates that the samsung pay application is not on the device this is returned as extra_error_reason for spay_not_supported error this could mean that the device does not support samsung pay static final int error_spay_sdk_service_not_available this error indicates that sdk service is not available on this device this is returned as extra_error_reason for spay_not_supported error static final int error_spay_setup_not_completed this error indicates that the samsung pay setup was not completed partner app need to ask user to set up samsung pay app static final int error_unable_to_verify_caller this error indicates that samsung pay is unable to verify partner app at this moment this is returned as extra_error_reason for error_not_allowed error for example, samsung pay tried to connect to the server and validate partner id, but the device does not have the network connectivity static final int error_unauthorized_request_type this error indicates that the partner is not authorized for this request type such as payment or enrollment this is returned as extra_error_reason for error_not_allowed error for example, if the merchant app calls enrollment api, then the partner app verification will be failed static final int error_user_canceled this error indicates that user has cancelled before completing the requested operation for example, user taps the cancel or back key on the payment sheet static final int error_user_not_registered_for_debug this error indicates that user account is not registered for using debug mode on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is in debug mode but the samsung account is not registered for the debug-api-key, then the partner app verification will be failed static final string extra_accept_combo_card key to represent that a merchant accepts combo card partner can use this key to let customers to choose debit/credit in case of combo card static final string extra_card_type key to represent card type the possible values are card card_type_credit_debit card card_type_credit card card_type_debit card card_type_gift card card_type_loyalty card card_type_transit static final string extra_country_code key to represent country code device country code iso 3166-1 alpha-2 static final string extra_cpf_holder_name key to get cpf holder name in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback static final string extra_cpf_number key to get cpf number in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback static final string extra_cryptogram_type key to represent the dsrp digital secure remote payments cryptogram type of mastercard static final string extra_device_card_limit_reached key to represent the maximum registered card number has reached or not static final string extra_device_type key to represent type of the device mobile or gear static final string extra_error_reason key to represent extra error reasons static final string extra_error_reason_message key to represent extra error reason messages static final string extra_issuer_name key to represent name of the issuer this key can be used in the bundle for partnerinfo string, bundle static final string extra_issuer_pkgname key to represent package name of the issuer app on android static final string extra_last4_dpan key to represent the last four digits of digitalized personal identification number dpan static final string extra_last4_fpan key to represent the last four digits of funding personal identification number fpan static final string extra_member_id key to represent member id of the issuer this is for korean issuers only static final string extra_merchant_ref_id key to set/get merchant reference id beyond marketplace app or service i e static final string extra_online_transaction_type static final string extra_partner_name key to represent name of the partner app this key can be used in the bundle for partnerinfo string, bundle static final string extra_request_id key to represent request id when a request is failed, tr will send this key to partner app static final string extra_require_cpf key to represent that a partner requires cpf partner can use this key to ask samsung pay to show cpf information in the payment sheet static final string extra_resolved_1 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_2 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_3 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_4 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_5 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_6 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_7 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string partner_service_type key to represent unique service type this key must be set in the bundle for partnerinfo string, bundle static final int spay_has_no_transit_card this code is returned if samsung pay doesn't have a registered transit card this is for korean issuers only static final int spay_has_transit_card this code is returned if samsung pay has a registered transit card this is for korean issuers only static final int spay_not_allowed_temporally samsung pay is not allowed temporally refer extra reason delivered with extra_error_reason static final int spay_not_ready samsung pay is not completely activated usually, this status code is returned if the user did not complete the mandatory update or if the user is not signed in with the samsung account yet in this case, partner app can call samsungpay activatesamsungpay api to launch samsung pay or can call samsungpay gotoupdatepage api to update samsung pay app static final int spay_not_supported samsung pay is not supported on this device usually, this status code is returned if the device is not compatible to run samsung pay or if the samsung pay app is not installed static final int spay_ready samsung pay is activated and ready to use usually, this status code is returned after user completes all the mandatory updates and is signed in static final string wallet_dm_id key to represent unique device management id static final string wallet_user_id key to represent user's wallet id method summary all methodsstatic methodsconcrete methods modifier and type method description static int getversioncode returns the version code of the samsung pay sdk static string getversionname returns the version name of the samsung pay sdk methods inherited from class java lang object equals, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait field details error_none public static final int error_none this error indicates that requested operation is success with no error see also constant field values error_spay_internal public static final int error_spay_internal this error indicates that internal error has occurred while the requested operation is going on see also constant field values error_not_supported public static final int error_not_supported this error indicates that requested operation is not supported in samsung pay see also constant field values error_not_found public static final int error_not_found this error indicates that given card id is not found in samsung pay see also constant field values error_not_allowed public static final int error_not_allowed this error indicates that requested operation is not allowed for example, partner app verification has failed in samsung pay server see also constant field values error_user_canceled public static final int error_user_canceled this error indicates that user has cancelled before completing the requested operation for example, user taps the cancel or back key on the payment sheet see also constant field values error_partner_sdk_api_level public static final int error_partner_sdk_api_level this error indicates that sdk api level is missing or invalid partner must set valid api level in the androidmanifest file minimum possible version is 1 4 also if the partner set the values defined in higher api level, samsung pay will send this error to partner app this is returned as extra_error_reason for error_partner_info_invalid error since api level 1 4 see also constant field values error_partner_service_type public static final int error_partner_service_type this error indicates that the service type is invalid partner must set valid service type in partnerinfo when calling apis this is returned as extra_error_reason for spay_not_ready error since api level 1 4 see also constant field values error_invalid_parameter public static final int error_invalid_parameter this error indicates that requested operation contains invalid parameter or invalid bundle key/value since api level 2 3 see also constant field values error_no_network public static final int error_no_network this error indicates that samsung pay is unable to connect to the server since there is no network for example, partner app tries to verify with server while network is not connected see also constant field values error_server_no_response public static final int error_server_no_response this error indicates that server did not respond to the samsung pay request see also constant field values error_partner_info_invalid public static final int error_partner_info_invalid this error indicates that partner information is invalid for example, partner app is using sdk version not allowed, invalid service type, wrong api level, and so on since api level 2 5 see also constant field values error_initiation_fail public static final int error_initiation_fail this error indicates that session initiation or service binding has failed for example, if the service connection with samsung pay was not successful see also constant field values error_registration_fail public static final int error_registration_fail this error indicates that the card provisioning has failed since api level 1 2 see also constant field values error_duplicated_sdk_api_called public static final int error_duplicated_sdk_api_called this error indicates that duplicate api called by partner since api level 2 1 see also constant field values error_sdk_not_supported_for_this_region public static final int error_sdk_not_supported_for_this_region this error indicates that the samsung pay sdk is not supported in particular region this is returned as extra_error_reason for error_not_allowed error for example, if the device is from the country that samsung pay sdk is not supported, then the partner app verification will be failed see also constant field values error_service_id_invalid public static final int error_service_id_invalid this error indicates that service id is not registered with the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if invalid service id was used in partner app, then the partner app verification will be failed since api level 2 5 see also constant field values error_service_unavailable_for_this_region public static final int error_service_unavailable_for_this_region this error indicates that sdk support is not available for partner's service in particular region since api level 2 5 see also constant field values error_partner_app_signature_mismatch public static final int error_partner_app_signature_mismatch this error indicates that the app signature is different from the one registered from samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if different signature is used for signing apk, the partner app verification will be failed checking signature logic will be activated in case debug mode is "n" since api level 2 9 see also constant field values error_partner_app_version_not_supported public static final int error_partner_app_version_not_supported this error indicates that app version is not supported by samsung pay this is returned as extra_error_reason for error_not_allowed error for example, if the version registered from developer portal is higher than current version or no any version registered , then the partner app verification will be failed since api level 2 9 see also constant field values error_partner_app_blocked public static final int error_partner_app_blocked this error indicates that partner app version is removed/blocked by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is blocked, then the partner app verification will be failed since api level 2 9 see also constant field values error_user_not_registered_for_debug public static final int error_user_not_registered_for_debug this error indicates that user account is not registered for using debug mode on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is in debug mode but the samsung account is not registered for the debug-api-key, then the partner app verification will be failed see also constant field values error_service_not_approved_for_release public static final int error_service_not_approved_for_release this error indicates that service version is not approved for release by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is not registered for release mode, then the partner app verification will be failed since api level 2 5 see also constant field values error_partner_not_approved public static final int error_partner_not_approved this error indicates that partner registration is not done on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is submitted but not approved, then the partner app verification will be failed see also constant field values error_unauthorized_request_type public static final int error_unauthorized_request_type this error indicates that the partner is not authorized for this request type such as payment or enrollment this is returned as extra_error_reason for error_not_allowed error for example, if the merchant app calls enrollment api, then the partner app verification will be failed see also constant field values error_expired_or_invalid_debug_key public static final int error_expired_or_invalid_debug_key this error indicates that debug key is invalid or expired this is returned as extra_error_reason for error_not_allowed error for example, if the partner app uses expired debug-api-key, then the partner app verification will be failed see also constant field values error_server_internal public static final int error_server_internal this error indicates that server fails to proceed request due to unknown internal error this is returned as extra_error_reason for error_spay_internal error for example, if the server error occurred while the partner verification is going on, then the partner app verification will be failed since api level 2 5 see also constant field values error_device_not_samsung public static final int error_device_not_samsung this error indicates that the device is not a samsung device this is returned as extra_error_reason for spay_not_supported error see also constant field values error_spay_pkg_not_found public static final int error_spay_pkg_not_found this error indicates that the samsung pay application is not on the device this is returned as extra_error_reason for spay_not_supported error this could mean that the device does not support samsung pay see also constant field values error_spay_sdk_service_not_available public static final int error_spay_sdk_service_not_available this error indicates that sdk service is not available on this device this is returned as extra_error_reason for spay_not_supported error see also constant field values error_device_integrity_check_fail public static final int error_device_integrity_check_fail this error indicates that device integrity check has failed this is returned as extra_error_reason for spay_not_supported error see also constant field values error_spay_app_integrity_check_fail public static final int error_spay_app_integrity_check_fail this error indicates that samsung pay app integrity check has failed this is returned as extra_error_reason for spay_not_supported error see also constant field values error_android_platform_check_fail public static final int error_android_platform_check_fail this error indicates that android platform version check has failed for in-app payment, the samsung pay sdk requires android 6 0 m android api level 23 or later versions of the android os this is returned as extra_error_reason for spay_not_supported error since api level 1 5 see also constant field values error_missing_information public static final int error_missing_information this error indicates that some information of partner is missing this error code is returned as an extra_error_reason of error_not_allowed error for example, if the partner app does not deliver a required information to samsung pay to get the wallet information, then samsung pay will send this error to partner app also if the partner does not define the issuer name in samsung pay developer portal, samsung pay will send this error to partner app see also constant field values error_spay_setup_not_completed public static final int error_spay_setup_not_completed this error indicates that the samsung pay setup was not completed partner app need to ask user to set up samsung pay app if user agrees, call samsungpay activatesamsungpay api this is returned as extra_error_reason for spay_not_ready error see also constant field values error_spay_app_need_to_update public static final int error_spay_app_need_to_update this error indicates that the samsung pay should be updated partner app need to ask user to update samsung pay app if user agrees, call samsungpay gotoupdatepage api this is returned as extra_error_reason for spay_not_ready error since api level 1 1 see also constant field values error_partner_sdk_version_not_allowed public static final int error_partner_sdk_version_not_allowed this error indicates that the partner app is using samsung pay sdk not allowed this is returned as extra_error_reason for error_partner_info_invalid error since api level 2 5 see also constant field values error_unable_to_verify_caller public static final int error_unable_to_verify_caller this error indicates that samsung pay is unable to verify partner app at this moment this is returned as extra_error_reason for error_not_allowed error for example, samsung pay tried to connect to the server and validate partner id, but the device does not have the network connectivity see also constant field values error_spay_fmm_lock public static final int error_spay_fmm_lock this error indicates that device is locked due to fmm find my mobile partner app needs to ask user to unlock the samsung pay app if user agrees, call samsungpay activatesamsungpay to unlock the samsung pay app since api level 2 1 see also samsungpay activatesamsungpay constant field values error_spay_connected_with_external_display public static final int error_spay_connected_with_external_display this error indicates that device is connected with an external display due to security reason, samsung pay cannot be launched at this moment in this case, partner can guide user to disconnect any external display if connected since api level 2 7 see also constant field values spay_not_supported public static final int spay_not_supported samsung pay is not supported on this device usually, this status code is returned if the device is not compatible to run samsung pay or if the samsung pay app is not installed since api level 1 1 see also constant field values spay_not_ready public static final int spay_not_ready samsung pay is not completely activated usually, this status code is returned if the user did not complete the mandatory update or if the user is not signed in with the samsung account yet in this case, partner app can call samsungpay activatesamsungpay api to launch samsung pay or can call samsungpay gotoupdatepage api to update samsung pay app since api level 1 1 see also constant field values spay_ready public static final int spay_ready samsung pay is activated and ready to use usually, this status code is returned after user completes all the mandatory updates and is signed in since api level 1 1 see also constant field values spay_not_allowed_temporally public static final int spay_not_allowed_temporally samsung pay is not allowed temporally refer extra reason delivered with extra_error_reason since api level 2 7 see also constant field values spay_has_transit_card public static final int spay_has_transit_card this code is returned if samsung pay has a registered transit card this is for korean issuers only since api level 2 8 see also constant field values spay_has_no_transit_card public static final int spay_has_no_transit_card this code is returned if samsung pay doesn't have a registered transit card this is for korean issuers only since api level 2 8 see also constant field values device_type_phone public static final string device_type_phone device type is phone since api level 1 1 see also constant field values device_type_gear public static final string device_type_gear device type is gear since api level 1 1 see also constant field values extra_last4_dpan public static final string extra_last4_dpan key to represent the last four digits of digitalized personal identification number dpan since api level 1 1 see also constant field values extra_last4_fpan public static final string extra_last4_fpan key to represent the last four digits of funding personal identification number fpan since api level 1 1 see also constant field values extra_issuer_name public static final string extra_issuer_name key to represent name of the issuer this key can be used in the bundle for partnerinfo string, bundle since api level 1 1 see also constant field values extra_issuer_pkgname public static final string extra_issuer_pkgname key to represent package name of the issuer app on android since api level 1 1 see also constant field values extra_partner_name public static final string extra_partner_name key to represent name of the partner app this key can be used in the bundle for partnerinfo string, bundle since api level 2 6 see also constant field values extra_error_reason public static final string extra_error_reason key to represent extra error reasons since api level 1 1 see also constant field values extra_error_reason_message public static final string extra_error_reason_message key to represent extra error reason messages since api level 2 9 see also constant field values extra_card_type public static final string extra_card_type key to represent card type the possible values are card card_type_credit_debit card card_type_credit card card_type_debit card card_type_gift card card_type_loyalty card card_type_transit since api level 1 1 see also constant field values extra_device_type public static final string extra_device_type key to represent type of the device mobile or gear the possible values are device_type_phone device_type_gear since api level 1 1 see also constant field values extra_member_id public static final string extra_member_id key to represent member id of the issuer this is for korean issuers only since api level 1 1 see also constant field values extra_country_code public static final string extra_country_code key to represent country code device country code iso 3166-1 alpha-2 since api level 1 1 see also constant field values extra_device_card_limit_reached public static final string extra_device_card_limit_reached key to represent the maximum registered card number has reached or not since api level 1 1 see also constant field values extra_cryptogram_type public static final string extra_cryptogram_type key to represent the dsrp digital secure remote payments cryptogram type of mastercard cryptogram type is supported by mastercard only, can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo since api level 2 4 see also constant field values extra_resolved_1 public static final string extra_resolved_1 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_2 public static final string extra_resolved_2 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_3 public static final string extra_resolved_3 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_4 public static final string extra_resolved_4 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_5 public static final string extra_resolved_5 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_6 public static final string extra_resolved_6 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_7 public static final string extra_resolved_7 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_request_id public static final string extra_request_id key to represent request id when a request is failed, tr will send this key to partner app request id would be helpful for debugging a failed request between partner and tr since api level 2 5 see also constant field values cryptogram_type_ucaf public static final string cryptogram_type_ucaf key to represent the ucaf cryptogram type of mastercard ucaf cryptogram type is supported by mastercard only, can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo ucaf is a default cryptogram type if not specified in the extrapaymentinfo bundle since api level 2 4 see also constant field values cryptogram_type_icc public static final string cryptogram_type_icc key to represent the icc cryptogram type of mastercard icc cryptogram type is supported by mastercard only, can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo since api level 2 4 see also constant field values extra_accept_combo_card public static final string extra_accept_combo_card key to represent that a merchant accepts combo card partner can use this key to let customers to choose debit/credit in case of combo card it can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo the possible value is the boolean since api level 2 9 see also constant field values extra_require_cpf public static final string extra_require_cpf key to represent that a partner requires cpf partner can use this key to ask samsung pay to show cpf information in the payment sheet it can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo the possible value is the boolean this is for brazil partners only since api level 2 11 see also constant field values extra_cpf_holder_name public static final string extra_cpf_holder_name key to get cpf holder name in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback since api level 2 11 see also constant field values extra_cpf_number public static final string extra_cpf_number key to get cpf number in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback since api level 2 11 see also constant field values extra_merchant_ref_id public static final string extra_merchant_ref_id key to set/get merchant reference id beyond marketplace app or service i e bixby when marketplace apps request in-app payment, they can set merchant reference id so that samsung pay app can get detail information about the merchant using the id since api level 2 11 see also constant field values extra_online_transaction_type public static final string extra_online_transaction_type see also constant field values wallet_user_id public static final string wallet_user_id key to represent user's wallet id since api level 1 2 see also constant field values device_id public static final string device_id key to represent unique device id since api level 1 2 see also constant field values wallet_dm_id public static final string wallet_dm_id key to represent unique device management id since api level 1 2 see also constant field values partner_service_type public static final string partner_service_type key to represent unique service type this key must be set in the bundle for partnerinfo string, bundle since api level 1 4 see also constant field values common_status_table public static final string common_status_table this table shows the status codes used commonly status bundle keys bundle values spay_not_supported 0 extra_error_reason error_device_not_samsung -350 error_spay_pkg_not_found -351 error_spay_sdk_service_not_available -352 error_device_integrity_check_fail -353 error_spay_app_integrity_check_fail -360 error_android_platform_check_fail -361 spay_not_ready 1 extra_error_reason error_spay_setup_not_completed -356 error_spay_app_need_to_update -357 error_spay_internal -1 extra_error_reason error_server_internal -311 n/a n/a error_not_allowed -6 extra_error_reason error_invalid_parameter -12 error_sdk_not_supported_for_this_region -300 error_service_id_invalid -301 error_service_unavailable_for_this_region -302 error_partner_app_signature_mismatch -303 error_partner_app_version_not_supported -304 error_partner_app_blocked -305 error_user_not_registered_for_debug -306 error_service_not_approved_for_release -307 error_partner_not_approved -308 error_unauthorized_request_type -309 error_expired_or_invalid_debug_key -310 error_missing_information -354 error_unable_to_verify_caller -359 error_invalid_parameter -12 n/a n/a error_no_network -21 n/a n/a error_server_no_response -22 n/a n/a error_partner_info_invalid -99 extra_error_reason error_partner_sdk_api_level -10 error_partner_service_type -11 error_partner_sdk_version_not_allowed -358 error_initiation_fail -103 n/a n/a spay_not_allowed_temporally 3 extra_error_reason error_spay_connected_with_external_display -605 error_spay_fmm_lock -604 n/a n/a paymentmanager error_making_sheet_failed -115 n/a n/a see also constant field values method details getversioncode public static int getversioncode returns the version code of the samsung pay sdk returns sdk version code since api level 1 1 getversionname @nonnull public static string getversionname returns the version name of the samsung pay sdk returns sdk version name since api level 1 1 samsung electronics samsung pay sdk 2 22 00 - nov 19 2024
Develop Smart TV
apivoiceinteraction api to use samsung product api, <script type="text/javascript" src="$webapis/webapis/webapis js"></script> should be loaded in index html samsung tvs allow developers to use voice commands such as navigation, search, selection and media control to control their application the voice assistant in the tv can be bixby or other assistants regardless of which assistant is used, the application will interact with it via the voice interaction apis for best results, we recommend the application to be implemented with all the features that are described in this document since 6 0 product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol summary of interfaces and methods interface method voiceinteractionmanagerobject voiceinteractioncontentcontext voiceinteractionmanager domstring getversion ;void setcallback voiceinteractioncallback callback ;void listen ;voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ;domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; voiceinteractioncallback voiceapplicationstate onupdatestate ;boolean onnavigation voicenavigation voicenavigation ;boolean onplay ;boolean onpause ;boolean onselection long voiceselection ;boolean ontitleselection domstring title ;boolean onfastforward ;boolean onrewind ;boolean onchangeappstate voiceapplicationstate state ;boolean onchangeprevioustrack ;boolean onchangenexttrack ;boolean onrestart ;boolean onskipbackward long offsetseconds ;boolean onskipforward long offsetseconds ;boolean onsetplayposition long position ;boolean onchangesubtitlemode mediafunctionmode mode ;boolean onchangeshufflemode mediafunctionmode mode ;boolean onchangescreenfitmode mediafunctionmode mode ;boolean onzoom mediazoommode zoom ;boolean onrotate mediarotatemode direction ;boolean onchange360mode mediafunctionmode mode ;boolean onchangerepeatmode mediarepeatmode mode ;domstring onrequestcontentcontext ;boolean onadditiontolist listitem list ;boolean onremovalfromlist listitem list ;boolean onplaylist listitem list ;boolean onbrowselist listitem list ;boolean onskipad ; 1 type definitions 1 1 voiceapplicationstate the application status handled via voice interaction enum voiceapplicationstate { "none", "home", "list", "player", "setting", "search", "unknown" }; the following values are supported none application default status home the status of application's home list the status of application showing something in list player the status of application playing something setting the status of application showing its setting search the status of application searching its content unknown the status of unknown 1 2 voicenavigation the navigation via voice interaction enum voicenavigation { "nav_previous", "nav_next", "nav_left", "nav_right", "nav_up", "nav_down", "nav_show_more", "nav_unknown" }; the following values are supported nav_previous the navigation for the previous page nav_next the navigation for the next page nav_left the navigation for the left item nav_right the navigation for the right item nav_up the navigation for the upper item nav_down the navigation for the down item nav_show_more the navigation for the detail page nav_unknown the navigation for unknown 1 3 mediafunctionmode enum for the parameter of media control function mode enum mediafunctionmode { "media_function_on", "media_function_off" }; the following values are supported media_function_on media function mode on media_function_off media function mode off 1 4 mediarotatemode enum for the parameter of rotate enum mediarotatemode { "media_rotate_left", "media_rotate_right" }; the following values are supported media_rotate_left media rotate mode left media_rotate_right media rotate mode right 1 5 mediazoommode enum for the parameter of zoom enum mediazoommode { "media_zoom_in", "media_zoom_out" }; the following values are supported media_zoom_in media zoom mode in media_zoom_out media zoom mode out 1 6 mediarepeatmode enum for the parameter of media repeat enum mediarepeatmode { "media_repeat_off", "media_repeat_one", "media_repeat_all" }; the following values are supported media_repeat_off media repeat mode off media_repeat_one media repeat mode for one track media_repeat_all media repeat mode for all tracks 1 7 listitem enum for the parameter of list item enum listitem { "list_bookmarks", "list_watch_later", "list_preference", "list_subscription", "list_unknown" }; the following values are supported list_bookmarks bookmarks list_watch_later watchlater list_preference preference list_subscription subscription list_unknown unknown 2 interfaces 2 1 voiceinteractionmanagerobject the voiceinteractionmanagerobject interface defines what is instantiated by the webapis object from the tizen platform there will be a webapis voiceinteraction object that allows access to the functionality of the voice interaction api to use the voice interaction api, the following privileges must be declared in the manifest file of the application if they are not declared, all usage of these apis are blocked, and security exceptions are thrown to use these privileges, the minimum ‘required_version’ is 6 0 [nointerfaceobject] interface voiceinteractionmanagerobject { readonly attribute voiceinteractionmanager voiceinteraction; }; webapi implements voiceinteractionmanagerobject; since 6 0 attributes readonly voiceinteractionmanager voiceinteraction this attribute defines the namespace for voiceinteraction apis 2 2 voiceinteractioncontentcontext this interface represents information about the content context for an item [nointerfaceobject] interface voiceinteractioncontentcontext { attribute long positionx; attribute long positiony; attribute domstring title; attribute boolean bfocused; }; attributes long positionx the field for x-axis position of the item long positiony the field for y-axis position of the item domstring title the field for the title of the item boolean bfocused the field for whether this item has focus 2 3 voiceinteractionmanager the voiceinteractionmanager interface is the top-level interface for the voiceinteractionmanager api that provides access to the module functionalities [nointerfaceobject] interface voiceinteractionmanager { domstring getversion ; void setcallback voiceinteractioncallback callback ; void listen ; voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ; domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; }; methods getversion this method gets the plugin's version number domstring getversion ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value domstring domstring return value of plugin's version exceptions webapiexception with error type notsupportederror, if webapi is called by a non-tv product with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example try { var version = webapis voiceinteraction getversion ; console log "works with voiceinteraction [" + version + "]" ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } setcallback api to define callback functions for the voice interaction commands void setcallback voiceinteractioncallback callback ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters callback composing the functions to be called for the voice interaction commands exceptions webapiexception with error type notsupportederror, if webapi is called by a non-tv product with error type typemismatcherror, if an input parameter is not compatible with its expected type with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example try { webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onnavigation function vn { console log "onnavigation" + vn ; return true; }, onselection function voiceselection { console log "onselection" + voiceselection ; return true; } } ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } listen api to start listening the voice interaction commands after setting callbacks by setcallback void listen ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol exceptions webapiexception with error type notsupportederror, if webapi is called by a non-tv product with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example try { webapis voiceinteraction listen ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } buildvoiceinteractioncontentcontextitem api to build the voiceinteractioncontentcontext of an item voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters positionx x-axis position of the item positiony y-axis position of the item title the title of the item aliasarr the alias titles of the item bfocused whether this item has a focus return value voiceinteractioncontentcontext the voiceinteractioncontentcontext object containing an item showing exceptions webapiexception with error type notsupportederror, if webapi is called by a non-tv product with error type typemismatcherror, if any input parameters are not compatible with its expected type with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example onrequestcontentcontext function { console log "onrequestcontentcontext" ; var result = []; try { var item = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 1,1,"test", ["test set", "test title"], true ; result push item ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; } buildvoiceinteractioncontentcontextresponse api to build the response of onrequestcontentcontext callback function from voiceinteractioncontentcontext domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters contentcontextarr voiceinteractioncontentcontext objects of the items showing return value domstring the domstring of jsonobject string containing the items showing exceptions webapiexception with error type notsupportederror, if webapi is called by a non-tv product with error type typemismatcherror, if any input parameters are not compatible with its expected type with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example onrequestcontentcontext function { console log "onrequestcontentcontext" ; var result = []; try { var item = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 1,1,"test", ["test set", "test title"], true ; result push item ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; } 2 4 voiceinteractioncallback every voice interaction application should implement a callback function, so that the assistant can operate the controls your application can interact with voice assistant by passing the callbacks in webapis voiceinteraction setcallback and calling webapis voiceinteraction listen except onupdatestate callback, the return value for the callback is the boolean flag for support or not if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function [callback, nointerfaceobject] interface voiceinteractioncallback { voiceapplicationstate onupdatestate ; boolean onnavigation voicenavigation voicenavigation ; boolean onplay ; boolean onpause ; boolean onselection long voiceselection ; boolean ontitleselection domstring title ; boolean onfastforward ; boolean onrewind ; boolean onchangeappstate voiceapplicationstate state ; boolean onchangeprevioustrack ; boolean onchangenexttrack ; boolean onrestart ; boolean onskipbackward long offsetseconds ; boolean onskipforward long offsetseconds ; boolean onsetplayposition long position ; boolean onchangesubtitlemode mediafunctionmode mode ; boolean onchangeshufflemode mediafunctionmode mode ; boolean onchangescreenfitmode mediafunctionmode mode ; boolean onzoom mediazoommode zoom ; boolean onrotate mediarotatemode direction ; boolean onchange360mode mediafunctionmode mode ; boolean onchangerepeatmode mediarepeatmode mode ; domstring onrequestcontentcontext ; boolean onadditiontolist listitem list ; boolean onremovalfromlist listitem list ; boolean onplaylist listitem list ; boolean onbrowselist listitem list ; boolean onskipad ; }; since 6 0 methods onupdatestate developers must specify the current application status to the onupdatestate function to get a proper voice control from the voice assistant this function is called right before processing every utterance, so that the voice assistant can be aware of the application status dynamically depending on the status, the callback function called could be different therefore, it is important to return the real status of the application voiceapplicationstate onupdatestate ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value voiceapplicationstate the status of the current application status "none" application is in its default status same as "player" status "list" the application is showing something in list during this status, the utterances "play this" or "play" will call onselection 0 the utterance "previous" will call onnavigation "nav_previous" "player" the application is playing a piece of content during this status, the utterance "play this" will call onplay since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; } } ; onnavigation to support navigation controls via voice, the application should have the following callbacks otherwise, the key event will be generated boolean onnavigation voicenavigation voicenavigation ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voicenavigation the navigation enumeration via voice return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onnavigation function voicenavigation { var bsupport = true; console log "onnavigation " + voicenavigation ; switch voicenavigation { case "nav_previous" // "previous page" break; case "nav_next" // "next page" break; case "nav_left" // "go to left" break; case "nav_right" // "move to right" break; case "nav_up" // "move up" break; case "nav_down" // "go down" break; // if there is no callback implementation for these enums, // tv will generate remote control key events "arrowright", "arrowleft", "arrowup", "arrowdown" case "nav_show_more" // "show me more" break; default bsupport = false; break; } return bsupport; } } ; onplay supports the media control to handle playback play boolean onplay ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onplay function { // tv default action generates the remote control key, "mediaplay" console log "onplay called" ; return true; } } ; onpause supports the media control to handle playback pause boolean onpause ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onpause function { // tv default action generates the remote control key, "mediaplaypause" console log "onpause called" ; return true; } } ; onselection to support selection controls via voice, the application should have the following callbacks this callback supports the ordinal, relative selection control boolean onselection long voiceselection ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voiceselection the relative index via voice, ex the last item is -1, the current item is 0, the first item is 1 return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onselection function voiceselection { var bsupport = true; console log "onselection " + voiceselection ; switch voiceselection { case -1 // "select the last one" break; case 0 // "select this" break; default { if voiceselection >= 1 // "select the first one" { // select the voiceselection th item // index of the first item is 1 console log "for ordinal " + voiceselection ; } else { bsupport = false; } } break; } return bsupport; } } ; ontitleselection title selection refers to an utterance in the format "select {title name}" to support the title selection via voice, the following two callbacks are required onrequestcontentcontext and ontitleselection the onrequestcontentcontext callback provides the information regarding the content of the screen such as title and position to the samsung tv this method will be invoked at the beginning of every utterance the response consists of positionx int , positiony int , title string , alias string array and bfocused bool the title property is used for asr conversion and the other properties are used to set the priority of each title the ontitleselection callback receives the title name from the utterance boolean ontitleselection domstring title ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters title the string input via voice return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onrequestcontentcontext function { console log "onrequestcontentcontext" ; var result = []; try { var item = { "positionx" 0, "positiony" 0, "title" "title text1", "alias" ["title1", "my text1"], "bfocused" true }; result push item ; var item2 = { "positionx" 1, "positiony" 0, "title" "title text2", "alias" ["title2", "my text2"], "bfocused" false }; result push item2 ; result push webapis voiceinteraction buildvoiceinteractioncontentcontextitem 2,0,"title text3", ["title3", "my text3"], false ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; }, ontitleselection function title { console log "ontitleselection" + title ; return true; } } ; onfastforward supports the media control to handle playback ff boolean onfastforward ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onfastforward function { // tv default action generates the remote control key, "mediafastforward" console log "onfastforward called" ; return true; } } ; onrewind supports the media control to handle playback rewind boolean onrewind ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onrewind function { // tv default action generates the remote control key, "mediarewind" console log "onrewind called" ; return true; } } ; onchangeappstate to support the utterance of shortcut commands, the application must have the onchangeappstate callback boolean onchangeappstate voiceapplicationstate state ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters state the application context via voice return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "none"; }, onchangeappstate function state { // tv default action launches the samsung tv firstscreen, menu or search application depending on the input parameter // "go to home", "go to settings", "go to search" console log "onchangeappstate " + state ; var bsupport = true; switch state { case "home" // go to app's home break; default bsupport = false; break; } return bsupport; } } ; onchangeprevioustrack in order to handle requests to move to the previous track via voice, the application should override the onchangeprevioustrack callback boolean onchangeprevioustrack ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangeprevioustrack function { console log "onchangeprevioustrack" ; return true; } } ; onchangenexttrack in order to handle requests to move to the next track via voice, the application should override the onchangenexttrack callback boolean onchangenexttrack ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangenexttrack function { console log "onchangenexttrack" ; return true; } } ; onrestart in order to handle requests to restart to this track via voice, the application should override the onrestart callback boolean onrestart ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onrestart function { console log "onrestart" ; return true; } } ; onskipbackward in order to handle requests to skip backward via voice, the application should override the onskipbackward callback boolean onskipbackward long offsetseconds ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters offsetseconds the relative position in seconds return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onskipbackward function offsetseconds { console log "onskipbackward " + offsetseconds ; return true; } } ; onskipforward in order to handle requests to skip forward via voice, the application should override the onskipforward callback boolean onskipforward long offsetseconds ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters offsetseconds the relative position in seconds return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onskipforward function offsetseconds { console log "onskipforward " + offsetseconds ; return true; } } ; onsetplayposition in order to handle requests to set play position via voice, the application should override the onsetplayposition callback boolean onsetplayposition long position ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters position the absolute position in seconds return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onsetplayposition function position { console log "onsetplayposition " + position ; return true; } } ; onchangesubtitlemode in order to handle requests to turn the subtitle feature on/off via voice, the application should override the onchangesubtitlemode callback boolean onchangesubtitlemode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangesubtitlemode function mode { console log "onchangesubtitlemode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onchangeshufflemode in order to handle requests to turn the shuffle feature on/off via voice, the application should override the onchangeshufflemode callback boolean onchangeshufflemode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangeshufflemode function mode { console log "onchangeshufflemode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onchangescreenfitmode in order to handle requests to turn the screen fit feature on/off via voice, the application should override the onchangescreenfitmode callback boolean onchangescreenfitmode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangescreenfitmode function mode { console log "onchangescreenfitmode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onzoom in order to handle requests to zoom in/out via voice, the application should override the onzoom callback boolean onzoom mediazoommode zoom ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters zoom media_zoom_in zoom in / media_zoom_out zoom out return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onzoom function zoom { console log "onzoom" ; switch zoom { case "media_zoom_in" console log "zoom in" ; break; default console log "zoom out" ; break; } return true; } } ; onrotate in order to handle requests to rotate left/right via voice, the application should override the onrotate callback boolean onrotate mediarotatemode direction ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters direction media_rotate_left rotate left / media_rotate_right rotate right return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onrotate function direction { console log "onrotate" ; switch direction { case "media_rotate_left" console log "rotate left" ; break; default console log "rotate right" ; break; } return true; } } ; onchange360mode in order to handle requests to turn the 360 feature on/off via voice, the application should override the onchange360mode callback boolean onchange360mode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchange360mode function mode { console log "onchange360mode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onchangerepeatmode in order to handle requests to change the repeat mode via voice, the application should override the onchangerepeatmode callback boolean onchangerepeatmode mediarepeatmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_repeat_off repeat mode off / media_repeat_one repeat this track / media_repeat_all repeat all tracks return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangerepeatmode function mode { console log "onchangerepeatmode" ; switch mode { case "media_repeat_one" console log "one" ; break; case "media_repeat_all" console log "all" ; break; default console log "off" ; break; } return true; } } ; onrequestcontentcontext in order to support the voice title selection via voice, the application should override the onrequestcontentcontext callback, return the jsonobject string for the current content context list showing domstring onrequestcontentcontext ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value domstring domstring containing jsonobject string for the content context list since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onrequestcontentcontext function { console log "onrequestcontentcontext " ; var result = []; try { var item = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 1,1,"test", ["test set", "test title"], true ; result push item ; var item2 = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 2,1,"test2", ["test set 2", "test title 2"], false ; result push item2 ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; } } ; onadditiontolist in order to handle requests to add this context to list via voice, the application should override the onadditiontolist callback boolean onadditiontolist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_bookmarks bookmarks / list_watch_later watch later / list_preference preference / list_subscription subscription return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onadditiontolist function list { console log "onadditiontolist" ; switch list { case "list_bookmarks" console log "add this context to bookmarks" ; break; case "list_watch_later" console log "add this context to watch later" ; break; case "list_preference" console log "like this context" ; break; case "list_subscription" console log "subscribe to context" ; break; default break; } return true; } } ; onremovalfromlist in order to handle requests to remove this context from list via voice, the application should override the onremovalfromlist callback boolean onremovalfromlist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_bookmarks bookmarks / list_watch_later watch later / list_preference preference / list_subscription subscription return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onremovalfromlist function list { console log "onremovalfromlist" ; switch list { case "list_bookmarks" console log "remove this context from bookmarks" ; break; case "list_watch_later" console log "remove this context from watch later" ; break; case "list_preference" console log "dislike this context" ; break; case "list_subscription" console log "unsubscribe from this context" ; break; default break; } return true; } } ; onplaylist in order to handle requests to play this context from list via voice, the application should override the onplaylist callback note this feature is only available for 25y tv models at the moment boolean onplaylist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_preference preference / list_subscription subscription / list_watch_later watch later return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onplaylist function list { console log "onplaylist" ; switch list { case "list_preference" console log "play liked content" ; break; case "list_subscription" console log "play subscription content" ; break; case "list_watch_later" console log "play watch later content" ; break; default break; } return true; } } ; onbrowselist in order to handle requests to browse this context from list via voice, the application should override the onbrowselist callback note this feature is only available for 25y tv models at the moment boolean onbrowselist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_preference preference / list_subscription subscription / list_watch_later watch later return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onbrowselist function list { console log "onbrowselist" ; switch list { case "list_preference" console log "browse liked content" ; break; case "list_subscription" console log "browse subscription content" ; break; case "list_watch_later" console log "browse watch later content" ; break; default break; } return true; } } ; onskipad in order to handle requests to skip ad content via voice, the application should override the onskipad callback note this feature is only available for 25y tv models at the moment boolean onskipad ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "player"; }, onskipad function { console log "onskipad" ; return true; } } ; 3 full webidl module voiceinteraction { enum voiceapplicationstate { "none", "home", "list", "player", "setting", "search", "unknown" }; enum voicenavigation { "nav_previous", "nav_next", "nav_left", "nav_right", "nav_up", "nav_down", "nav_show_more", "nav_unknown" }; enum mediafunctionmode { "media_function_on", "media_function_off" }; enum mediarotatemode { "media_rotate_left", "media_rotate_right" }; enum mediazoommode { "media_zoom_in", "media_zoom_out" }; enum mediarepeatmode { "media_repeat_off", "media_repeat_one", "media_repeat_all" }; enum listitem { "list_bookmarks", "list_watch_later", "list_preference", "list_subscription", "list_unknown" }; [nointerfaceobject] interface voiceinteractionmanagerobject { readonly attribute voiceinteractionmanager voiceinteraction; }; webapi implements voiceinteractionmanagerobject; [nointerfaceobject] interface voiceinteractioncontentcontext { attribute long positionx; attribute long positiony; attribute domstring title; attribute boolean bfocused; }; [nointerfaceobject] interface voiceinteractionmanager { domstring getversion ; void setcallback voiceinteractioncallback callback ; void listen ; voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ; domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; }; [callback, nointerfaceobject] interface voiceinteractioncallback { voiceapplicationstate onupdatestate ; boolean onnavigation voicenavigation voicenavigation ; boolean onplay ; boolean onpause ; boolean onselection long voiceselection ; boolean ontitleselection domstring title ; boolean onfastforward ; boolean onrewind ; boolean onchangeappstate voiceapplicationstate state ; boolean onchangeprevioustrack ; boolean onchangenexttrack ; boolean onrestart ; boolean onskipbackward long offsetseconds ; boolean onskipforward long offsetseconds ; boolean onsetplayposition long position ; boolean onchangesubtitlemode mediafunctionmode mode ; boolean onchangeshufflemode mediafunctionmode mode ; boolean onchangescreenfitmode mediafunctionmode mode ; boolean onzoom mediazoommode zoom ; boolean onrotate mediarotatemode direction ; boolean onchange360mode mediafunctionmode mode ; boolean onchangerepeatmode mediarepeatmode mode ; domstring onrequestcontentcontext ; boolean onadditiontolist listitem list ; boolean onremovalfromlist listitem list ; boolean onplaylist listitem list ; boolean onbrowselist listitem list ; boolean onskipad ; }; };
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
You have successfully updated your cookie preferences.