Quantcast
Jump to content

STF News

Administrators
  • Content Count

    31
  • Joined

  • Last visited

    Never
  1. Thanks to everyone who came to Samsung Developer Conference last week or tuned in to the livestream! Here were some of our favorite moments that weren’t covered in the Day 1 and Day 2 recaps. Code Lab Code Lab sat in the center of Tech Square and allowed devs to get hands-on experience with the latest SDKs and developer tools. Samsung engineers were there for support and fun coding challenges gave attendees the chance to win exclusive prizes. PENUP The PENUP app is a social network for designers on the Galaxy smartphone. You can learn how to draw digitally by tracing on top of a video clip or background image – it’s a cool way to turn photos into masterpieces! The PENUP team secured two digital artists for SDC19. The artists roamed around and used a Tab S6 and S Pen to sketch attendees and capture the action at SDC19. There were also great tutorials on the S Pen and S Pen SDK in Tech Square! Laugh and Learn Senior Developer Evangelist Tony Morelan and comedian Corey Rosen had a high-energy comedy and improv presentation on Day 1 called Galaxy Watch Face Design from Concept to Completion. Attendees and designers collaborated in real time to create an interactive Galaxy watch face. It was a fun experiment that demonstrated how easy it is to design without coding. The audience was able to quickly create a playful watch face. Fit @ SDC One theme of SDC19 was collaboration. Samsung is forging new partnerships with brands to help devs have more tools at their disposal and reach a wider audience. Two such partners are Under Armour and Skimble, and each morning they put together a wellness activity that featured their new Galaxy Store apps. Day 1: Yoga-Centric Exercise Class with Skimble This class was led by a trainer from Made for Samsung partner Skimble. Yoga mats and Samsung Galaxy Watch Active2s were available for attendees, and they could download the Workout Trainer by Skimble app to follow along with a Samsung-specific workout. Everyone was able to monitor their heart rate on the watch while getting their move on! Day 2: Fun Run/Walk with Under Armour Under Armour organized a two-mile walk or three-mile run for attendees before the conference. Samsung Galaxy Watch Active2s were given to participants and synced with the Map My Run app to track their distance, pace, and calorie burn. Devs, we hope that SDC19 inspired you to continue innovating. From troubleshooting to new platform training, the Samsung Developer Program is always here to help. If you aren’t a member, consider joining our community today. Check out our post-event site with more highlights, photos, and videos of SDC19. We hope to see you next year! View the full blog at its source
  2. And that’s a wrap for SDC19! We started our morning at Fit @ SDC with Under Armour before heading to the Spotlight Session. If you didn’t get a chance to attend, make sure to watch the video. We also listened to Justin Sun’s tech session at the Theater, along with a few others, and continued exploring Dev Park and Tech Square. There was no shortage of inspiration! Check out some highlights from today: 1. Spotlight Session The Spotlight Session really hit the developer sweet spot. Taher Behbehani spoke about B2B innovation, while Vitalik Buterin dove into blockchain technology. Overall, it highlighted What’s Next for Samsung developers. Keep reading for some key takeaways. Rapid B2B Growth Taher focused on B2B growth and innovation. Samsung has over 700 million devices deployed around the world and serves 50,000 large enterprise customers globally. 2019 especially was a big growth year – our mobile revenue grew by 20% and we doubled our tablet sales. The trends driving this rapid growth are: Growing Device Landscape – new market opportunities in industrial devices and a technology refresh that moves away from single-purpose devices A New Generation of Networks – deployment of private networks Changing Apps – IoT, AI, and edge computing We’re excited to see how our devs take advantage of this sector. Tab Active Pro The Galaxy Tab Active Pro is now available in the US! Its hardware and software will give enterprise devs the tools that they need to innovate. Hardware Updates: It’s purpose-built. Rain, snow, and mud roll right off of Galaxy Tab Active Pro and you can wear while using work gloves. Software Updates: The Galaxy Tab Active Pro includes Samsung DeX, which enables an immersive PC-like experience. It is also mobile POS-ready, allowing you to easily integrate payment and inventory management features in your apps to improve the user experience. It’s ideal for devs who are building apps for mobile food service vendors, delivery, and logistics companies. Check out the video to find out more! Knox and Security Knox provides easy-to-use tools for business users to control devices at every step of the mobile journey. It manages the different layers of the stack to get deeper levels of customization and integration. Today, the Knox Partner Program was introduced. Devs now have access to partners around the world, the latest test devices, and unlimited developer keys. You can also get your apps Knox-validated. Blockchain and Samsung Vitalik spoke about Ethereum and the future of blockchain. He praised Samsung for its efforts integrating Ethereum application support in its devices. Despite the challenges blockchain tech currently faces, Vitalik believes that blockchains are almost ready for mass adoption. He spoke to many scaling solutions and thinks that as 5G gains more traction, it will also help. Inspirational Dev Stories Lori Fraleigh, Senior Director of Developer Relations at Samsung, introduced several inspirational developers to the audience. Daniel Mittendorf: Founder of DigiVoice.io As a Bixby Premier Developer, Daniel works with Bixby Marketplace to share DigiVoice capsules. His capsules are at the forefront of voice tech and can launch sounds that are undetectable to human ears. He’s discovered how to keep mosquitoes at bay and comfort your pets when you’re gone with a single sound. Melanie Lombardi: Echo Visuals Melanie creates stunning themes that transform Samsung phones. She started designing themes four years ago when she got her first Samsung Galaxy S6 edge. Melanie was able to turn a fascinating side project into a successful, income-generating business. Now, Echo Visuals is one of Samsung’s top revenue makers in the Galaxy Theme store. These are just two Samsung devs mentioned during the Spotlight Session that exemplify Where Now Meets Next. We can’t wait to see what our talented developer community comes up with next! 2. Justin Sun at the Theater Justin, founder and CEO of Tron, spoke to a crowd at the Theater during his tech session, “TRON, Blockchain, and Real-World Uses.” TRON is now supported by Samsung Blockchain Keystore SDK, which means that you have direct access to apps that run TRON blockchain while on Samsung devices. Devs will have access to a crypto-ready audience, that can start using their applications with ease! Check out this short interview! 3. Mobile Design Showcase The Samsung Mobile Design Competition challenges professional and student designers to imagine how mobile devices will be used in the future. It also presents a fresh perspective on how the Galaxy will evolve. The winners had a chance to showcase their designs at the Theater today, and were honored during Keynote on Day 1. A huge congrats to all the winners! WALLPAPER WINNERS 3rd: Blossom of Galaxy: Guan Hong Yeoh 2nd: Approachability of Galaxy: Andre Cardoso 1st: Garden of Galaxy: Kalle Järvenpää MOBILE+ WINNERS 3rd: Belt of Galaxy: Alexander Rehn 2nd: Fellas of Galaxy: Ece Demirpence 1st: Stars of Galaxy: André Gouveia 4. Most-Visited Sessions Just like yesterday, we took note of the most-attended tech sessions from Day 2! Check out what fellow devs were most excited about. Become a Leader in Voice AI: Join the Bixby Premier Developer Program Attendees joined Rachel Batish (Audioburst), Piyush Hari (Dilli Labs), Steve Arkonovich (Reed College), and Adam Cheyer (Viv Labs) as they shared insights about the exciting frontier of Voice AI and the benefits of joining the Samsung developer ecosystem as a Bixby Premier Developer. Transforming Consumer Relationships Through Digital Identity Services Bob Reany, Executive Vice President Identity Solutions at MasterCard, and Sang Ahn, VP and Division Head of Content & Services, GM Samsung Pay, discussed how Digital ID addresses pain points and transforms consumers’ lives. Attendees learned how Mastercard’s global digital identity service, developed in partnership with Samsung, works smartly, securely, and seamlessly with mobile devices. One UI: Designed for Everyday Simplicity Huichual Yang, Head of Basic UX Design Group at Samsung, explained One UI 2 design principles and its visual system. He also discussed its grand vision and progress towards creating a single user experience. Thanks to all 5,800 attendees who made SDC19 a success. We’ll see you next year! View the full blog at its source
  3. We are pleased to announce the second milestone release of Tizen 5.5. The Tizen 5.5 Public M2 release provides developers with the Tizen kernel, device drivers, middleware subsystems, and Native/Web/TizenFX APIs. Key highlights of this release are as follows: Support Intelligent information technologies (NNStreamer/NN Runtime/On-Device Vision(based on DNN)) Support Multi-Display/Multi-Window Support Motion APIs based on vector(Lottie) Support Native UI C# APIs Reducing Runtime memory by optimizing D-Bus Policies Support .NET Core 3.0 Support Seamless Layout Transition Effect Support Sticker Framework Support Multi-Device Distributed Web Engine Support User Awareness Framework Please refer to the release information for details. Tags: Tizen 5.5 View the full article
  4. We are pleased to announce the second milestone release of Tizen 5.5. The Tizen 5.5 Public M2 release provides developers with the Tizen kernel, device drivers, middleware subsystems, and Native/Web/TizenFX APIs. Key highlights of this release are as follows: Support Intelligent information technologies (NNStreamer/NN Runtime/On-Device Vision(based on DNN)) Support Multi-Display/Multi-Window Support Motion APIs based on vector(Lottie) Support Native UI C# APIs Reducing Runtime memory by optimizing D-Bus Policies Support .NET Core 3.0 Support Seamless Layout Transition Effect Support Sticker Framework Support Multi-Device Distributed Web Engine Support User Awareness Framework Please refer to the release information for details. Tags: Tizen 5.5 View the full article
  5. We are pleased to announce the release of Tizen Studio version 3.5. This release includes new features to further improve the performance of the Tizen Studio IDE and its tools. Key features: Java 12 Oracle/Open JDK support has been added to make the IDE and tools work with Java 12. Tizen 5.5 Platform support has been added. Template Creation Project Wizard has been refined to add Flat View which provides a different view for the purpose of project creation. Support for Add-on and Component based type applications has been provided for tizen 5.5 applications. Support for adding dependent package information provided in config and manifest editor from Tizen 5.5. Support for "api-version" attribute in application manifest from Tizen 5.5. Support for "visibility" attribute in app-control element from Tizen 5.5. iot-headed & iot-headless extensions have been updated to support Tizen 5.5. For more information about the new features and bug fixes, see Release Notes. To download Tizen Studio, visit https://developer.tizen.org/development/tizen-studio/download View the full article
  6. Developers, designers, and partners all gathered in the San Jose Convention Center for Day 1 of SDC19. The day unfolded with big announcements, inspiring messages, and new updates on tools and SDKs that allow developers to scale their services across billions of devices through an extensive, secure and connected ecosystem. Check out the highlights below! 1. Keynote Samsung is advancing experience innovation, in collaboration with developers and partners. In the keynote, DJ Koh and other Samsung leaders laid out the roadmap for the company’s future and highlighted some important product announcements. From new mobile computing experiences with One UI 2 to the SmartThings Rules API. Highlighting AI expansion with Bixby templates, DevJam, Bixby Views, and Natural Language Categories, there was plenty to help developers reach more customers on more devices than ever before. SDC19 also showcased how Samsung is forging new partnerships with brands such as IBM, Microsoft, Intel, and more. If you couldn’t attend the Keynote, watch the livestream video here or check out these key announcements on What’s Next for Samsung: Redefining the Mobile Experience Samsung is dedicated to expanding and improving the mobile experience. One UI 2 was announced at SDC19’s Keynote and is designed for everyday simplicity. It includes new features that declutter the user interface making interactions more natural. Now, the developer and user should have consistent experiences across all devices, not just smartphones. One UI 2.0 also show how Samsung inspires developers with new experiences across devices and new form factors in the foldable category. Devs, get excited! 2. Best of Galaxy Store Awards Samsung celebrated app devs and designers at SDC19 today by announcing its Best of Galaxy Store Awards 2019 selections — an annual list of what we consider to be the best content available in the Galaxy Store. Here’s the full list of winners! Best Theme Designer (big brand) Cogul Planet Best Theme Design Echo Visuals Whimsical Woods (Premium Animated AOD) Best Indie Theme Designer X9 Studio Best Theme Brand Collaboration Cogul Planet MLB Themes Best Watch Designer (big brand) Matteo Dini Best Watchface Design Summer Vacation Best Indie Watch Designer Vienna Studios Best Watch App iGear Radio Best App to Relax With Headspace Best Productivity App Degoo Best Made for Samsung App Rosetta Stone 1:1 English Tutoring for Samsung Best Social App TikTok Best Streaming App Mixer Best Creative App Concepts Best Indie App HomeAdvisor Best Travel App App in the Air for Samsung Best Use of Galaxy Badge Skillz Best Indie Game Two Dots Best Multiplayer Badland Brawls Best AR Game Harry Potter Wizards Unite Best Choose Your Own Adventure Hollywood Story Best Casual Game Candy Crush Friends Saga Best Adventure Game Sonic Forces Best Role Playing Game Game of Sultans Best Racing Game Asphalt 9: Legends 3. Key Tech Sessions from Day 1 We took note of the most-attended tech sessions from Day 1! Check out what fellow devs were most excited to learn about. New Era of Data Insights with Samsung Health: 166 people came to hear Jack Ahn share how to extract value from data and verifiable insights to close the loop in the end-to-end user health journey. Attendees discovered how to build insightful services for their users with a data insight platform that encompasses blockchain and ML models on-device. IoT 2.0: The Next Phase of SmartThings: 150 people joined Aloknath De, Yan Rodriguez, and Yeshodhan Kulkarni to learn more about the SmartThings platform service, integrated devices, and future plans for the SmartThings IoT business. This session specifically related back to the Keynote and explored improvements made to the SmartThings platform to enable stronger business growth for partners and developers, and highlighted ways new partners can join the SmartThings ecosystem. Progressive Web Apps and the Evolution of the Web: 129 people wanted to learn more about building and distributing apps using web technologies with Luis Gonzalez-Zuniga, Dongwoo Im, Laura Morinigo, and Jeff Burtoft. Progressive Web Apps (PWA) leverages new capabilities that allow for better integration of your app into the OS. The in-depth session dove into new features and tools and how PWAs can take advantage of WebAPK, OneUI CSS, and more. 4. Devs + Drinks After an exciting first day, attendees connected with fellow devs and industry pros at our spook-tacular evening event with cocktails, Halloween-themed bites, and music. The “Day of the Dev” themed night was complete with music, psychic readings, spooky art activities, and more. So, in the spirit of Devs + Drinks, cheers to Day 2! Check in tomorrow for our Day 2 update and the Spotlight Session livestream, but in the meantime, follow along with #SDC19 on social media for all the latest updates. View the full blog at its source
  7. Samsung Developer Conference is only days away! If you can’t make it to San Jose, you can follow along with our two livestreams for Keynote and Spotlight Session. Tune in for exciting new information and insights on the latest tech and tools from industry leaders. Just head to the Samsung Developer Conference homepage once the event begins to watch. In the meantime, add a livestream calendar reminder to ensure you don’t miss a thing. Opening Keynote Livestream: October 29 at 10 am PST Get ready for big names, exciting announcements, and cutting-edge reveals. Hear Samsung’s vision for the future straight from top leaders like DJ Koh, Eui-Suk Chung, Larry Heck, Adam Cheyer, Jayeon Jung, and more. They’ll discuss updates on everything from Bixby to SmartThings to Galaxy and Smart TV. Tune in to be the first to hear these announcements and insights. Spotlight Session Livestream: October 30 at 10 am PST Learn from Ethereum Co-Founder Vitalik Buterin as he shares how he created one of the most successful blockchain technologies and what he’s currently working on. Taher Behbehani will discuss B2B and how today’s talented developers and most innovative enterprises can collaborate to drive impact and change. Get the scoop from these industry leaders as they discuss their vision for the future and tech’s hottest topics. Plus, check out the Samsung Developer Program blog for daily highlights or follow the hashtag #SDC19 on Twitter for hour-by-hour updates. Make sure you shoot us a tweet while you’re following along — we’d love to hear your thoughts! View the full blog at its source
  8. Since the release of Galaxy Watch Designer 1.7, the Gear S2 watch is no longer supported. This has caused many apps to be rejected by the review team when publishing to the Galaxy Store. When uploading your watch face app to Seller Office you must now deselect all S2 devices within the Supported Devices. After uploading your binary file, the S2 devices can either be deselected individually from the list of 1,300+ device combinations, or selected all at once by following the steps below: Click the red number next to Selected Device(s) to open the Detailed Device Settings dialog box. This number represents the selected Samsung devices that your app will be compatible with. Type Gear S2 in the search field to list all of the selected S2 devices. Uncheck Select All within the Device Group to deselect all S2 devices. Click Save. Click OK to close the WPC Notice. Click the Save button prior to submitting your app. Now that the S2 devices are no longer selected, the red number that represents the compatible devices is reduced by approximately 300. If your app was rejected due to Gear S2 device incompatibility and you still have questions, feel free to search the Galaxy Watch Designer Forum or send an email to [email protected] View the full blog at its source
  9. A big part of converting users from a click to a sale often involves your ratings and reviews. Apps that have strong reviews and scores typically have an edge over apps with few or bad reviews. In today’s world, this is how many users define quality without actually purchasing. How can you get reviews when you’re just starting out? Sometimes, it’s as easy as simply asking. Just Checking In By implementing the code shown below, users are prompted to leave a review on the Galaxy Store after a certain number of logins. By giving users an easy way to leave a 5-star review, you will likely start getting more positive reviews, and your downloads may increase as well. How you implement this is up to you and depends on your app. If you think users have a good understanding of how your app works after just a few logins, then you should prompt them then. However, if your app is more complex and you think users need additional time to see its value, it’s better to prompt them later. The biggest thing to remember is that you only have a small window of time to ask. Waiting too long to ask is the same as not asking at all. public void onClick(DialogInterface dialog, int id) { reviewSubmitted = true; sharedPref.putBoolean("review_submitted",reviewSubmitted); sharedPref.commit(); try { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse( "samsungapps://ProductDetail/<PackageName>")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } catch (android.content.ActivityNotFoundException anfe) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse( "http://www.samsungapps.com/appquery/appDetail.as?appId=<PackageName>" )); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } } Number of Reviews After Three Days – Credit: babich.biz Another thing to keep in mind is not to ask at the beginning of a session. No one likes a pop-up, and users probably don’t want to leave a review just as they are opening your app. Tests prove this to be true, showing that 50% of users close the app after being prompted to leave a review at the beginning of the session. It’s also important to not ask over and over again. Ensure that the user meets a few conditions before you ask, such as after using the app for a few days or after completing certain tasks. This way, you ensure they have used the app before they leave a review. If they haven’t chosen to leave a review after a few prompts, they probably aren’t going to, so it’s better to stop asking rather than risk losing a user. How can you get reviews when you’re just starting out? Sometimes, it’s as easy as simply asking. You should also be a bit more strategic in your ask. Instead of asking users to rate your app, ask them if they are enjoying it. If they say they love it, you can redirect them to the store to leave a positive review. If they think it needs work, ask them to send feedback by email or a dedicated forum. This way, you’re not incentivizing poor reviews, and you’re garnering valuable feedback from your community. Finally, sellers should be aware that the Galaxy Store is implementing conditions for appearing in the “top” lists. As of September 27, 2019 apps that appear in the top lists need to have at least 10 reviews and an average of 2.5 stars. These conditions are based by country, so if your app has 100 reviews and a 4-star rating in the US, but only 5 reviews and a 4-star rating in Korea, your app will appear in the US top list, but not in Korea’s. This makes asking for reviews even more important, but you’ll want to localize first. For more info about localization, check out our localization blog post. Gaining lots of good reviews means taking the time to not only create an amazing app experience, but also knowing when, where, and how to ask each user to leave one. The best thing you can do to gain better reviews is just asking. View the full blog at its source
  10. Testing on the newest OS is essential for all developers to ensure that their content, whether apps, games, or themes, is compatible and runs correctly. With the release of Android Q on Samsung devices right around the corner, we’ve created a handy guide to help developers install Android Q beta, so you can test your apps. Know Your Options The beta opens on October 21, so be sure to mark your calendar. It’s also important to note that the beta program is only for Galaxy flagship phones such as the Note10, S10, Note9, and S9. Depending on your device and carrier, you may have different options for getting beta access. The following table shows the regions and carriers that will have access to the Q OS beta program. If your device falls into one of these categories, you’re in luck! All you need to do is download the Samsung Members App from the Galaxy Store, and follow the registration instructions in the app. After you’re done, your phone updates automatically as soon as possible. Country Carrier Beta Open (10/21) Korea SKC Open KTC Open LUC Open UNLOCKED Open US SPR Open TMB 7,500 registered users UNLOCKED Open UK UNLOCKED Open Germany UNLOCKED Open Poland UNLOCKED Open France UNLOCKED Open Spain UNLOCKED Open India UNLOCKED Open China UNLOCKED Open The beta is available for the carriers and countries shown above, but if you don’t fall into one of these categories or the beta program is full, what can you do? Remote Testing If you cannot update your own personal device, you’re not out of options just yet. We understand not everyone has access to a device that fits these requirements, so as such we are adding phones with the Q OS beta to the Remote Test Lab so that you may remotely test your apps and themes on real Samsung devices. Testing is straightforward and easy on the Remote Test Lab, so you can head to the Remote Testing Lab (RTL) to start testing as soon as the beta version is publicly available. Deregistering You may want to remove the Q OS beta from your device once you’ve finished playing with the new features and testing all your awesome content. To unregister your device, simply open the Samsung Members app and go to the Settings menu in the dropdown in the upper right corner. Once there, click the One UI Beta Program menu item and follow the prompts to unregister your device. Your device automatically returns to its previous OS. OneUI Beta makes kitten happy View the full blog at its source
  11. We’re sure you’ve heard about the exciting sessions and speakers at Samsung Developer Conference. From Samsung leaders announcing the latest dev tools to fireside chats about the future of tech to sessions on emerging topics, SDC19 is full of valuable insights and intriguing information. But the fun doesn’t stop there! It’s also a haven for innovation and inspiration — thanks to these cool activations and exhibits. A Developer’s Playground – Tech Square and Dev Park Tech Square Visit Samsung product zones at Tech Square – from Bixby to Smart TV to Galaxy. Discover the latest SDKs, work 1:1 with Samsung experts, and chat with Samsung partners about their latest work. AI/IoT Zone – Check out areas dedicated to SmartThings, Tizen, and Bixby. Relax in comfy massage chairs powered by Tizen, explore the SmartThings partner showcase, and stop by the Bixby Hackathon and Magic Show. Code Lab – Get hands-on experience with the latest SDKs and developer tools with the help of Samsung engineers. Plus, complete fun coding challenges for the chance to win exclusive tech prizes. Dev Park Play, network, and get inspired with fun activations at Dev Park, like the Designer Zone featuring the winners of Samsung’s mobile design competition, and trending topics at the Theater. Last but not least, swing by to say hi to the Samsung Developer Program and Think Tank teams! Hacker’s Playground – Learn skills like Attack, Defense, and Reversing from expert hackers. We’ll have toy examples with step-by-step guides, and if you complete the tutorial, you might be in for a surprise. Up for a challenge? Show off your hacking skills for a chance to win hot Samsung prizes. It’s open to everyone from newbies to experts, so bring your own laptop and compete for some serious bragging rights. XR: Delusion Experience – Get in the Halloween spirit with our haunted XR experience – Delusion: Lies Within. Experience the latest in Samsung AR and XR as you “interact” with hidden Delusion characters. Workshop with the tech after testing out the TetaVi volumetric rig. Just scan yourself, drop your avatar into Delusion content, and have some spooky fun. Think Tank: ONA Interactive Wall – Check out this multi-touch, multi-user interface with 3D-gesture sensing. ONA tracks your location and movement when you’re using it to play games, making it a literal game changer. Feeling Inspired Yet? These are just a few of the highlights. Don’t miss the rest – register for SDC19 today! Use the code PRIORITY until October 22 to secure exclusive seating near the stage during the Keynote. Only valid for the first 100 people to redeem the code! Check out the full lineup of tech sessions, follow us on social, and keep an eye on #SDC19 for the latest news and updates. We can’t wait to see you in San Jose! View the full blog at its source
  12. Distributed ledger-based technologies are becoming more popular and easy to use. Anyone can now build a new cryptocurrency or token in the Blockchain world. This rise in popularity and value makes crypto assets a big target for hackers. If you want to keep your valuable crypto assets safe, using a hardware cold wallet such as Trezor or Ledger Nano S has become a necessity. Unfortunately, that adds up to one more item in your pocket that you always have to carry around. Thankfully, gone are the days of carrying clunky, old wallets. Recent Galaxy phones, such as the S10e, S10, S10+, and Fold, can now securely store your cryptocurrency wallet using the Samsung Blockchain Keystore (SBK). Along with storing your cryptocurrency wallet, the SBK SDK allows you to get your Blockchain address and sign cryptocurrency transactions. In this article, we explore one of the key features offered by the Keystore SDK–how to get your Blockchain address from the SBK SDK and three ways to share it: Display as QR code Copy to clipboard Share through Android’s share intent Setting up the Project and Handling SBK Data To set up your Android project with the SBK SDK, follow these instructions. To use functionalities offered by the SDK, first fetch an instance of the service. private ScwService mScwService = ScwService.getInstance(); After you have fetched the ScwService instance, you can check whether your device is Keystore-supported. if (mScwService == null) { Log.e("KeystoreApp", "Keystore is not supported on this device."); } If the device is Keystore-supported, you can fetch the address list with getAddressList(): mScwService.getAddressList(addressListCallback, hdPathList); The first parameter to getAddressList() is a ScwGetAddressListCallback, which is executed after getting a response from Keystore. ScwGetAddressListCallback() has two functions: onSuccess(): This function is called when the address list has been fetched successfully from Keystore. onFailure(): This function is called if any errors occur while fetching the address list from Keystore. ScwService.ScwGetAddressListCallback addressListCallback = new ScwService.ScwGetAddressListCallback() { @Override public void onSuccess(List addressList) { //You can share your address from the address list here } @Override public void onFailure(int failureCode) { //Based on the failure code you can show appropriate alerts here } }; The second parameter is an ArrayList of Hierarchical Deterministic (HD) Path(s) whose addresses you want to fetch. If you want to learn more about HD paths, please refer to BIP-44. For example, if you want to find the public address of your first five accounts, pass the following list as a parameter: ArrayList hdPathList = new ArrayList<>(); hdPathList.add("m/44'/60'/0'/0/0"); hdPathList.add("m/44'/60'/0'/0/1"); hdPathList.add("m/44'/60'/0'/0/2"); hdPathList.add("m/44'/60'/0'/0/3"); hdPathList.add("m/44'/60'/0'/0/4"); A Sample App with the SBK SDK Now that we are familiar with getAddressList(), let’s dive into our sample application. Features of our Public Address with SBK app are: Fetch your public address from the Keystore Switch between multiple public addresses Display QR code of the selected account Copy selected address into the clipboard Send the selected address with supported applications with Android’s share intent Initially, only the address of the first account is loaded. When you press the Add button, the HD path of a new account is added to hdPathList, and public addresses are fetched. public void addAccount(View view) { //Account Index is incremented by 1 to get the new account accountIndex++; //HDPath of new account is added to hdPathList hdPathList.add("m/44'/60'/0'/0/" + accountIndex); showToast("HDPath Added to list"); //Public Address of new account is fetched getPublicAddress(); } Public addresses are fetched using the getPublicAddress() function depicted below. If the address list is fetched successfully, onSuccess() is called, and: The spinner’s previous data is cleared. The newly fetched list is added to the spinner. The UI is updated. If an error occurs, it is logged and available from logcat. Common errors such as ERROR_INVALID_SCW_APP_ID can be fixed very easily by enabling Developer Mode from the Keystore application. You can find instructions on how to enable Developer Mode here. private void getPublicAddress() { ScwService.ScwGetAddressListCallback addressListCallback = new ScwService.ScwGetAddressListCallback() { @Override public void onSuccess(final List publicAddressList) { //After Address List has been fetched Spinner is updated with new list runOnUiThread(new Runnable() { @Override public void run() { //Clear existing list spinnerAdapter.clear(); //New list is added spinnerAdapter.addAll(publicAddressList); spinnerAdapter.notifyDataSetChanged(); if (publicAddressList.size() == 1) { showToast(publicAddressList.size() + " address fetched."); } else { showToast(publicAddressList.size() + " addresses fetched."); } } }); } @Override public void onFailure(int errorCode) { switch (errorCode) { case ScwErrorCode.ERROR_INVALID_SCW_APP_ID: Log.e(LOG_TAG,"Developer option not enabled."); break; case ScwErrorCode.ERROR_CHECK_APP_VERSION_FAILED: Log.e(LOG_TAG,"Check internet connection."); break; case ScwErrorCode.ERROR_OP_FAIL: Log.e(LOG_TAG,"Operation Failed"); break; default: Log.e(LOG_TAG,"Error with Error Code: "+errorCode); break; } } }; if (mScwService == null) { Log.e(LOG_TAG, "Keystore is not supported in this device."); } else { //If Keystore is supported on device address list is requested mScwService.getAddressList(addressListCallback, hdPathList); } } After loading all addresses into the spinner, we can now select any address from it. Once an address is selected, its QR Code is generated and displayed. publicAddressSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) { //Get Selected Address from spinner selectedAddress = adapterView.getItemAtPosition(position).toString(); selectedAddressTextView.setText(selectedAddress); qrCodeImageView.setImageBitmap(generateQRCode(selectedAddress)); } In this application, we used “ZXing” to generate the QR bitmap of the selected public address. private Bitmap generateQRCode(String text) { MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); Bitmap bitmap = Bitmap.createBitmap(10, 10, Bitmap.Config.RGB_565); try { //Text encoded to QR BitMatrix BitMatrix bitMatrix = multiFormatWriter.encode(text, BarcodeFormat.QR_CODE, 1000, 1000); BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); //QR Bitmatrix encoded to Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); } catch (WriterException e) { e.printStackTrace(); } finally { return bitmap; } } When you press the copy button, the address is copied to the clipboard. public void copyAddress(View view) { ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clipData = ClipData.newPlainText("Public Address", selectedAddress); clipboardManager.setPrimaryClip(clipData); Toast.makeText(this, "Address Copied", Toast.LENGTH_SHORT).show(); } We can also share the selected public address using the Android ACTION_SEND intent. public void shareAddress(View view) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, selectedAddress); sendIntent.setType("text/plain"); startActivity(sendIntent); } Conclusion Now that you know more about the Samsung Blockchain Keystore SDK, you can use it to enrich your Blockchain application. For more resources on Keystore SDK, visit https://developer.samsung.com/blockchain/keystore/sdk. View the full blog at its source
  13. T-minus 20 days until Samsung Developer Conference! Get ready for an incredible lineup of speakers and tech sessions. Hear the latest announcements straight from Samsung leaders and learn from industry pioneers as they discuss tech’s hottest topics. Plus, get hands-on experience with the newest SDKs and developer tools. Check out some speakers we’re excited about. Business Done Different Taher Behbehani is a successful investor, advisor, and entrepreneur. He began his career engineering medical devices to keep children safe during surgery. Today, he leads Samsung’s mobile enterprise business in the US, working with devs, entrepreneurs, and enterprises to bring meaningful technology solutions to the market. Join him at the Spotlight Session to learn how today’s talented developers and most innovative enterprises can collaborate to drive impact and change. Blockchain to the Masses Founder of TRON and CEO of BitTorrent, Justin Sun is a blockchain pioneer and entrepreneur. TRON has one of the most profound and fastest growing blockchain ecosystems in the world. Hear from Justin at his SDC19 session, where he will share his thoughts on how to take blockchain to the masses. Explore the full list of tech sessions — plus, a few of our highlights below. Monetization Opportunities on Samsung Internet Starting with a new browser extension, this session introduces different ways to partner with Samsung Internet and build an optimized, mobile-friendly extension for Samsung’s native browser experience. Plus, learn how to onboard Samsung Pay as a secure payment method for e-commerce transactions on the web. Tizen 5.5: Platform Update and Developer Environment Join us to discuss cutting-edge features and improvements in Tizen 5.5! This session explores exciting updates like new APIs and developer environment enhancement in Tizen .NET and Web. Plus, we’ll explore SDKs that are sure to excite third-party devs for Samsung Galaxy Watch and Samsung TVs. Digital Marketing and e-Commerce Development for Smart Appliances Whether it’s e-Commerce or digital content, devs are leveraging IoT and other emerging platforms to drive innovation and bring additional convenience to consumers. Find out how partners are collaborating with Samsung to make this happen and what it can mean for you. See a Speaker or Session You’re Interested In? Don’t miss out! If you haven’t bought your ticket yet, fix that [system error] and register today with this hack – use the promo code PRIORITY when you check out. The first 100 people to redeem the code will be invited to sit in a reserved section near the stage during the keynote! In the meantime, check out the full lineup of sessions, follow us on social, and keep an eye on #SDC19 for the latest news and updates. We can’t wait to see you! View the full blog at its source
  14. Rotary event handling, enabled via the bezel, is supported on the Tizen platform. A bezel is a term used to describe the outside frame of a device, and in the case of a Galaxy Watch, the bezel is the outer ring of the device, which can be rotated. Rotary events are triggered from the Galaxy Watch rotary component when the bezel is rotated clockwise or counterclockwise. The event for each rotation is measured in incremental units called “detents.” Bezel interactions can be used in a variety of ways, such as controlling the application page, controlling the snap list, changing the progress bar value, scrolling the page, changing the volume, and setting configurations such as date-time on the date-time picker. This blog discusses how to handle rotary events in Tizen web and native applications. In the following example, you’ll learn how to let a user interact with bezel by using the rotary event to receive or reject a call. The user rotates the bezel clockwise to receive the call and counterclockwise to reject it. Note: Because Galaxy Active devices do not have bezels, rotary features will not work on them. Prerequisites Tizen Web In the Tizen web application, add the following line in the config.xml file: <feature name="tizen.org/feature/input.rotating_bezel"/> Tizen Native In the Tizen native application, include the <system_info.h>header file to use the functions and data types of the system information API. #include<system_info.h> You also must add the following line to the manifest file: <feature name="http://tizen.org/feature/input.rotating_bezel">true</feature> Check capability Tizen Web In the Tizen web application, use the following line to check if the device supports rotary events or if it uses bezel: var isSupport = tizen.systeminfo.getCapability('http://tizen.org/feature/input.rotating_bezel'); console.log(' Bezel = ' + isSupport); The getCapability() function of the Tizen web API returns with information about whether or not the device supports bezel. Tizen Native In the Tizen native application, use the following code to check bezel capability: bool rotaryValue; int rotaryReturn; rotaryReturn = system_info_get_platform_bool("http://tizen.org/feature/input.rotating_bezel", & rotaryValue); if (rotaryReturn!= SYSTEM_INFO_ERROR_NONE) { dlog_print(DLOG_INFO, LOG_TAG, "Rotary error"); return; } dlog_print(DLOG_INFO, LOG_TAG, "Bezel: %s", value ? "Supported" : "Not supported"); Implementation Tizen Web Register the rotarydetent event. After registering an event, ev.detail.direction provides the direction value. If the value is CW, the bezel is rotated clockwise. If the value of direction is CCW, the bezel is rotated counterclockwise. document.addEventListener('rotarydetent', function(ev) { /* Get the direction value from the event */ var direction = ev.detail.direction; var textbox = document.querySelector('.contents'); box = document.querySelector('#textbox'); if (direction == 'CW') { /* Add behavior for clockwise rotation */ console.log('clockwise'); box.innerHTML ="clockwise"; } else if (direction == 'CCW') { /* Add behavior for counter-clockwise rotation */ console.log('counter-clockwise'); box.innerHTML ="counter-clockwise"; } }); Tizen Native Register the rotary event in the app using the following line: eext_rotary_event_handler_add(_rotary_handler_cb, ad); The handle function is defined using following code: Eina_Bool _rotary_handler_cb(appdata_s *data, Eext_Rotary_Event_Info *ev) { if (ev->direction == EEXT_ROTARY_DIRECTION_CLOCKWISE) { dlog_print(DLOG_DEBUG, LOG_TAG, "Rotary device rotated in clockwise direction"); } else { dlog_print(DLOG_DEBUG, LOG_TAG, "Rotary device rotated in counter-clockwise direction"); } return EINA_FALSE; } If the rotation direction is equal to EEXT_ROTARY_DIRECTION_CLOCKWISE, the bezel is rotated clockwise. Otherwise, the bezel is rotated counterclockwise. Demo Two sample apps are attached: • Rotary Native • Rotary Web Web When you run the web sample app and turn the bezel clockwise, the following text appears on the watch face: When you turn the bezel counter counterclockwise, “counterclockwise” appears on the watch face: Native When you run the native sample app and turn the bezel clockwise, the following text appears on the watch face: When you turn the bezel counterclockwise, the following text appears: For more information The bezel is the physical controller of some Samsung wearable devices. Understanding the physical characteristics of the bezel will help you design better interactions. References: https://developer.tizen.org/development/guides/web-application/user-interface/tizen-advanced-ui/applications-circular-ui/handling-rotary-events https://developer.tizen.org/development/guides/native-application/user-interface/efl/hardware-input-handling/managing-rotary-events https://developer.tizen.org/design/wearable/interaction/bezel-interactions?langswitch=en View the full blog at its source
  15. Health monitoring is a very popular feature in smart watches, and Tizen provides various APIs for this purpose. One API is HumanActivityMonitor, which allows users to monitor health by providing metrics such as heart rate, step count, and stress level. This blog describes how to measure heart rate using this API. A sample web app combined with a widget is attached. This sample app measures heart rate and stores data by timestamp, and the widget shows the last measured heart rate. This blog focuses on how to measure heart rate using the device sensor, stored data, and communication between an app and a widget. Create and run a Tizen project 1. Create a project in Tizen Studio. Because our target is an app that is combined with a widget, select the Widget template to create this project. 2. Add the Tizen Advanced UI (TAU) framework library to your project. You can create and manage various UI functionalities using the TAU library as an alternative to designing a UI with HTML and CSS components. 3. Link the tau.circle.min.css and tau.min.js in the app’s index.html file. <link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css"> <link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)" href="lib/tau/wearable/theme/default/tau.circle.min.css"> <script src="lib/tau/wearable/js/tau.min.js"> </script> Measure heart rate and manage data To measure heart rate using the HumanActivityMonitor API, add the following feature and privilege to the config.xml file: <feature name="http://tizen.org/feature/humanactivitymonitor"/> <tizen:privilege name="http://tizen.org/privilege/healthinfo"/> Applications must request a user’s permission for privacy-related features. The tizen.ppm.requestPermission() method invokes the permission pop-up. When users give permission through the pop-up, they can then use the app features related to that privilege. To measure heart rate, users must give permission to access the sensor using the following code snippet: function onSuccess() { function onchangedCB(hrmInfo) { console.log(‘heart rate:’ + hrmInfo.heartRate); tizen.humanactivitymonitor.stop('HRM'); } tizen.humanactivitymonitor.start('HRM', onchangedCB); } function onError(e) { console.log("error " + JSON.stringify(e)); } tizen.ppm.requestPermission("http://tizen.org/privilege/healthinfo",onSuccess, onError); Note that the HumanActivityMonitor API provides heart rate data directly in BPM (beats per minute). If you need the raw data of the sensor, you can use SensorHRMRawData. The following screenshots show how to measure heart rate using the sample app: The Web Storage API stores data in key-value format. This API offers two types of storage – Local and Session. In the sample, we use local storage, along with Date as key and heartRate as value. The Date key retrieves data according to date, week, and month. If you do not want to retrieve history according to date, you can use a different key, such as an integer value; just make sure there is no repetition in key value. Create a Date object to get the current time stamp. localStorage.setItem() puts the key (Date)-value (heartRate) pair in local storage. var date_key = new Date(); localStorage.setItem(date_key, hrmInfo.heartRate); To retrieve data, filter according to the key. Date and month are retrieved from the Date object and filter data using localStorage.getItem(localStorage.key(i)). var date = new Date(); var lastdate = new Date(localStorage.key(i)); if (lastdate.getDate() == date.getDate() && lastdate.getMonth() == date.getMonth()) { console.log(localStorage.key(i)+ " :" + localStorage.getItem(localStorage.key(i))); The following screenshots show how the history is categorized by day, week, and month: Communication between the app and a widget The sample widget shows the last measured heart rate value, and heart rate history is stored in the local storage of the web app. To establish communication between the app and widget, we’ll use the Preference API. The Preference API stores key-pair values, allowing web widgets to communicate with their parent apps. In the app, data is stored with ‘KEY’: tizen.preference.setValue('KEY', hrmInfo.heartRate); In the widget, data is retrieved using the same ‘KEY’: if (tizen.preference.exists('KEY')) { console.log(‘Last Measured: ‘ + tizen.preference.getValue('KEY')); } The following screenshot of the sample widget shows the last measured heart rate: Launch the app from a widget To launch an app from widget, add the following privilege to config.xml: <tizen:privilege name="http://tizen.org/privilege/application.launch"/> To launch an app, provide your app ID in tizen.application.launch(). tizen.application.launch(YourAppID); In the sample widget, the user taps Measure to launch the heart-rate measuring page or History to launch the heart-rate history page, and Preference can be used to determine which one is clicked. To implement, a different key-value pair is set for each page in the widget, and in the web app, key values are checked to detect which page is clicked. For example, in the widget, the open_measure key is set to 1 to link to the Measure Page. The app then launches. tizen.preference.setValue(‘open_measure’, 1); tizen.application.launch(YourAppID); The app checks for the open_measure key. If the key exists, the user is redirected to the Measure Page with tau.changePage(). window.onload = function() { if (tizen.preference.exists(' open_measure ')) { tau.changePage(YourPageID); } } You can also use the HumanActivityMonitor API to implement a step counter, stress level reading, GPS, and other features in your wearable device. Because enabling other features is similar to implementing the heart rate monitor, you can use this blog as a guide and the attached sampleHeartRateMonitor to enable a full range of health monitoring metrics to your Galaxy Watch. View the full blog at its source


×
×
  • Create New...