-
Posts
1,340 -
Joined
-
Last visited
Never
Everything posted by Samsung Newsroom
-
Start Date Jun 24, 2020 Location Online OpenJS Foundation’s annual event brings together the JavaScript and web ecosystem including Node.js, Electron, AMP and more. In 2020, we’re going virtual to learn and engage with leaders deploying innovative applications at massive scale. Ada Rose Cannon, a developer advocate on the Samsung Internet team, will be giving a talk. She will run through what WebXR can do today, how you can use it to build Virtual Reality and Augmented Reality enabled websites, and show what WebXR has planned for the future. View the full blog at its source
-
This is part of a 2 hour Tizen workshop that you can find here: https://youtu.be/5xp8jFpXOm8 In this video, you will learn to use the wearable device sensors and modify a project to detect the user's heart rate. You can also connect with me, Diego, a Sr. Developer Evangelist, on Twitter: https://twitter.com/hielo777 Have questions? Post them in our forums: https://forum.developer.samsung.com/ Check out other videos, blog posts, and tips to improve your Tizen app development. Check out the Tizen Tidbits playlist on our YouTube channel, and learn more about the wide selection of Samsung technologies on our developer portal. View the full blog at its source
-
We continue to celebrate the top performing apps in creativity, quality, design, and innovation, as we interview winners of our Best of Galaxy Store Awards. Today, we're talking with Greg Borrud from Niantic about building games that take players out of their homes and into the real world. Tell us about Niantic Niantic is probably best known as the developer of Pokémon GO, but we are much more than that! Niantic is an Augmented Reality company that helps get people out into the world - exploring with others and having meaningful and engaging experiences. We are both a game developer/publisher as well as a technology company focused on bringing new games and experiences to the world through location-based and AR technology. Can you share how Niantic has pioneered real world gaming experiences? It started with Ingress - a game that asked you to go out and battle for control of points of interest in the real world. This then exploded with the launch of Pokémon GO in 2016. We all remember packs of people searching for Pokémon throughout their neighborhoods. We have continued to evolve our Real World Platform with more information about the world (we’ve mapped hundreds of millions of places around the world so far), with a focus on creating new gameplay experiences that encourage people to go outside and explore. Your premise has been to include a combination of maps and gaming in your app development. Can you share how this is done? We’ve built a robust platform that is a map of all the unique and interesting places in our world. This map is curated and updated by our players all the time and we strive to keep it as accurate as we can. That forms the foundation for our new game development. We want to have a wide variety of games and experiences, so we don't have too many restrictions on what a Niantic product can be. We want to let the creativity of our teams and our developer partners lead us to entirely new gameplay concepts. What programming languages do you use in development of your games? We use a variety of languages depending on what part of the code our engineers are working in. We primarily develop in C# for the player’s device and Java for our servers. Occasionally we'll also use C++ or a scripting language like Python. At Niantic, your work represents the culmination of decades of obsessing about geospatial technology. How important is this technology to your game experiences? Critically important. Our games are a reflection of the real world. They literally take you outside, exploring neighborhoods and cities, so without precise mapping, we couldn’t build what we offer today. We often hear stories from our Pokémon GO community about how walking with our games has uncovered hidden gems and historic monuments in their neighborhoods that they never knew existed. Our next area of focus is building a dynamic 3D map of the world so that we can progressively layer in augmented reality and other features into our games to make exploring the world more interesting and fun. At the end of the day, the game/experience needs to be fun no matter what technology it is built on top of. You have developed some of the biggest game titles, including Pokémon GO and Harry Potter: Wizards Unite, winner of the Best of Galaxy Store Awards 2019 for Best AR Game. How does Augmented Reality enhance your games and bring them to life? AR allows us to turn the world outside your door into one of the most amazing, dynamic game boards you can imagine. Through AR, your world can be filled with Pokémon or Wizards. And we’re just in the infancy of what AR can offer. We’re excited to share some of the new AR technologies we are cooking up. Your games are highly rated on the Galaxy Store. How do you maintain your games' quality? We try to learn from and listen to our players as much as we can. Although it’s impossible to please everyone all of the time, we do take player feedback very seriously, and we are constantly striving to improve our games by listening, then iterating fast. How has the Galaxy Store badge supported your game discovery on the Galaxy Store? The Galaxy Store badge is supported on a variety of our marketing materials, including the product's website, so players know the game is available on their preferred platform. With all of your success, do you still experience challenges when developing your games? That is one of the great things about making games - there are always new challenges. As technologies, devices, and player preferences evolve, we are challenged every single day we come to work. You have to love (and live for) challenges if you want to be happy in this industry. Are there common errors made by developers while programming games? A common error is not testing in a way that replicates a player’s real experience. When tested in isolation, something might ‘work’. But the key is constant testing while looking through the lens of the players. What advice do you have for indie developers attempting to develop a successful game business? Start with a small, simple game loop and build it. Get it into the hands of your friends and then iterate. It’s an incredible world for game developers right now, as the ability to build something on your own has never been easier. I’m a firm believer in learning by doing. As you continue to pioneer new technologies and gameplay mechanics, what trends do you expect to see? As our mapping and AR technologies continue to evolve and converge, we envision a 3D map of the world that will truly be the ultimate game board. If we can pair that with wearable devices in the future, we believe we will develop new entertainment experiences unlike anything you have seen before. What is ahead for Niantic? We’ve got a lot of exciting stuff coming in the near term. As the end of June nears, we’re fast approaching our first anniversary of Harry Potter: Wizards Unite, which put magic in the hands of witches and wizards all around the world last summer. For that product, we’re thinking of some exciting new ways to immerse players in the wizarding world with new upcoming features, content releases, and fun in-game events. The fourth anniversary of Pokémon GO is also approaching this July, and we’ve reimagined our tentpole Pokémon GO Fest event to be playable by the global player base on July 25-26th, wherever they may be. Over the past four years, Trainers have accomplished some amazing feats; notably walking a collective 28 billion kilometers and making over 280 billion visits to unique points of interest around the world. In the long term, our ultimate goal is to create meaningful and purposeful gameplay experiences. We think these will come in a wide variety of shapes and sizes, and to that extent we have more than 10 new games and AR experiences in different stages of development. We hope to release two new titles in the next six months, with a goal to sustain that cadence annually. We hope these experiences will have a long lasting impact on those who play them. Thanks to Greg Borrud for sharing how Niantic creates successful game franchises. Follow us on Twitter @samsung_dev for more developer interviews and tips for building games, apps, and more for the Galaxy Store. Find out more about our Best of Galaxy Store Awards. View the full blog at its source
-
Start Date Jun 19, 2020 Location Online Close out your week with a chat about web gaming with Srushtika Neelakantam, developer advocate at Ably Realtime. Srushtika will join us for our developer "office hours" to talk about her real time space invaders game. Join us for the discussion! Agenda Time (UTC) Time (PDT) Topic 17:30 PM GMT+1 9:30 AM PDT Welcome, Latest Samsung Internet News 17:40 PM GMT+1 9:40 AM PDT Web Gaming Discussion 18:20 PM GMT+1 10:20 AM PDT Q&A 18:30 PM GMT+1 10:30 AM PDT Event Ends About Srushtika Srushtika Neelakantam is a Developer Advocate for Ably Realtime. She is a passionate tech advocate, with a keen interest in real-time and web technologies. She loves spending time fiddling around with tech and then simplifying that for others by speaking or writing about it. She is a co-author of “Learning Web-Based Virtual Reality” and supports the open web by volunteering with Mozilla's Tech Speaker and Reps programs. View the full blog at its source
-
Are you interested in designing mobile UI themes for Galaxy devices? You can now submit your portfolio to Samsung and apply to become a Galaxy Themes seller. The submission window is open June 17 - July 1. Watch the video below for an overview of the process and what you need to prepare. Then download the Themes Submission Starter Kit and let the creative juices flow. The application process is very selective, and only the best of the best are selected. Think you have what it takes? We can't wait to find out. View the full blog at its source
-
Start Date Jun 17, 2020 Join Samsung Evangelist Tony Morelan and special guest, John Shih from X9 Studios as they talk Galaxy Themes designing, publishing, marketing and more! X9 Studios won Best Indie Themes Designer at the 2019 Best of Galaxy Store Awards and continues to be a top developer on the Galaxy Store. Join the discussion and receive live support from a pro! View the full blog at its source
-
Start Date Jun 17, 2020 Join Samsung Evangelist Tony Morelan and special guest, John Shih from X9 Studios as they talk Galaxy Themes designing, publishing, marketing and more! X9 Studios won Best Indie Themes Designer at the 2019 Best of Galaxy Store Awards and continues to be a top developer on the Galaxy Store. Join the discussion and receive live support from a pro! View the full blog at its source
-
Congrats! You've published your app on the Galaxy Store. Now it's time to let the world know with a Galaxy Store badge. For some publishers, the Galaxy Store may be the only place your content is listed. For others, your app may be available on multiple app stores. Either way, a Galaxy Store badge lets consumers know exactly where to find your content. In addition to the badge image, the Galaxy Store badge service provides short links that deep link directly to your content in the store. While you can use the full, long URL, using the galaxy.store short link will allow you to better track any traffic you drive to your content from your website or digital marketing promotions. You can generate your short link in the promotion section of the Seller Portal. If you've been a Galaxy Store badge user for a while, here are a few quick tips to ensure you're completely up-to-date with the latest brand requirements. First make sure you're using the latest badge image. The badge should not include the Samsung lettermark and should not say Galaxy Apps. You can download the image above here. Next, make sure you update your short link from the older galxy.us domain to galaxy.store. Your badge name remains the same. The Galaxy Store badge makes it easy for users to find and download your content. Get started today! View the full blog at its source
-
The new Developer Economics survey, administered by Slash Data, is now live for Q2 2020! Speak out about the type of projects you're working on and your favorite languages, tools, technologies, or platforms. In return, you enter prize drawings to win new dev gear to upgrade your workstation or courses and licenses to learn something new, worth over USD $15,000 in total. You will also get a free, complimentary report and graphs which compare your skills to the global average. The survey is available in eight languages and is open to students, hobbyists, and professionals. Whether you developing for the web, IoT, voice, mobile, games, or other platforms, we and Slash Data want to hear from you. View the full blog at its source
-
What is Water lock mode? Water lock mode was introduced on the Galaxy Watch to prevent accidental touches and wake-up gestures on your screen while swimming. And the thrilling news for developers is that you can enable Water lock mode directly from your app. If you have a fitness-related app, you can use this feature to enhance your app’s capability for various water-based exercises like swimming, water aerobics, and aqua teaser. Let’s dig into the details of how to do this in a Tizen web app. How do you enable Water lock mode from your app? This implementation is quite simple. Water lock mode can be enabled using the Application launch API. It involves three simple steps: Configure your app with privileges Retrieve application ID Enable Water lock mode Let’s get started. Configure your app with privileges First, add the following privileges to the config.xml file. <tizen:privilege name="http://tizen.org/privilege/application.launch"/> <tizen:privilege name="http://tizen.org/privilege/application.info"/> <tizen:privilege name="http://tizen.org/privilege/power"/> http://tizen.org/privilege/application.launch - Allows the application to open other applications http://tizen.org/privilege/application.info - Allows the application to retrieve information related to other applications http://tizen.org/privilege/power - Allows the application to control power-related settings Retrieve application ID You can enable Water lock mode directly using the launch() method of the Application API. The launch() method launches an application with the given application ID. That’s why we need to know the application ID of the Water lock mode pop-up. Retrieve the app ID using the following code snippet in the JS file. The following code snippet returns the list of all applications installed on the watch. Among them you can choose the exact ID of the app which you need to launch. For example, we picked the ID com.samsung.clocksetting.water-lock-popup to enable Water lock mode. function onListInstalledApps(applications) { for (var i = 0; i < applications.length; i++) console.log("ID : " + applications[i].id); } tizen.application.getAppsInfo(onListInstalledApps); Figure 1: Installed application list Enable Water lock mode Once you get the app ID, you can enable Water lock mode with following code snippet in the JS file: tizen.application.launch("com.samsung.clocksetting.water-lock-popup"); And that’s it. Water lock mode is launched. Please note that, if the mode is launched for the first time in the device, a pop-up appears with a permission message. When Water lock mode is enabled, the touchscreen, as well as the wake-up gesture feature, is deactivated. So, there is no user interaction between the user and your app. Meanwhile your application runs in the background. So if you want to keep your app running in the foreground, you can use the Power API. To set the power state, the request() method is called. To manage the screen and CPU state, use the following code snippet in the JS file: tizen.power.request(“SCREEN”, “SCREEN_NORMAL"); tizen.power.request("CPU", "CPU_AWAKE"); tizen.power.release("SCREEN"); tizen.power.release("CPU"); For example, here I have added a time counter while the Water lock mode is on using an open source library named EasyTimer.js. First, add the JS library to the HTML file. <script src="lib/easytimer/dist/easytimer.min.js"></script> After that, add the following code snippet to the JS file to implement a time counter. var timerInstance = new easytimer.Timer(); timerInstance.start(); timerInstance.addEventListener('secondsUpdated', function (e) { document.getElementById("excercise_timer").textContent=timerInstance.getTimeValues().toString(); }); document.getElementById("counting_done").addEventListener("click", function(){ timerInstance.stop(); }); Figure 2: Water lock enabled To disable Water lock mode, users must long press the Home key. After disabling Water lock mode, the user can start interacting with your app immediately. For example, the user can stop the time counter using the Done button in the sample app (see Figure 2). Quite simple, right? You can check out the sample app here. If you have any questions, you can post your queries to Samsung Developer's forum. View the full blog at its source
-
The new SmartThings Core SDK for JavaScript is now available as a developer preview. With the new Core SDK, you can easily integrate the core SmartThings REST APIs into your JavaScript applications. We’ve built the SmartThings Core SDK with professional developers and hobbyists alike in mind - so that you can freely control and automate thousands of Works with SmartThings devices from your web server, Express app, and more. Let’s say you wanted to build a dashboard and display all of your SmartThings devices. Here is a sample Node app to get you started - you can use the below code with an OAuth or PAT token to get a list of devices: Getting Started If you want to jump right in, we recommend using npm to install the Core SDK for JavaScript. npm install @smartthings/core-sdk You can use the Core SDK for JavaScript Wiki to learn more about all of the endpoints available. If you are not sure where to start, visit the SmartThings Community for video tutorials and ideas. The SmartThings development team has put a lot of effort into building this SDK - we are excited to share it with you. Now, we invite you to start building, ask questions on the SmartThings Community, and provide open feedback. Thank You! View the full blog at its source
-
In this episode of POW!, we interview Ash Nazir, Editor in Chief for the website IoT Gadgets. Ash was an early advocate for Tizen OS, building a huge following, Tizen Experts. With that success, Ash and his team launched the website IoT Gadgets as a way to expand their coverage of hardware, software and all things internet. In addition to IoT Gadgets, Ash also runs the largest Facebook Group dedicated to Samsung Galaxy Watch with over 75k members. Topics Covered: • Tizen OS • Maemo • MeeGo • Linux Foundation • Tizen Experts • Writing for IoT Gadgets • Facebook Group, Samsung Galaxy Watch View the full blog at its source
-
Tizen is continuously improving Tizen .NET development tools to increase developer productivity. Today, we are pleased to announce the beta release of Tizen Template Studio. Tizen Template Studio is a Visual Studio 2019 Extension that uses a wizard to help you create a Tizen .NET app. You create a new project by selecting the type of project, UI pages, and features in the wizard. Once selection is finished, the wizard generates the project, including code templates where the specified UI pages and features are composed. You can use these templates as starter code to quickly build Tizen .NET apps and develop UI and commonly used features. Tizen Template Studio currently supports the creation of Tizen .NET apps running on Samsung Galaxy Watch. Templates are designed to help you write apps optimized for Galaxy Watch using Xamarin.Forms and the Tizen .NET framework. If you are new to Tizen .NET, we encourage you to review Get Started with .NET Applications. Meet Tizen Template Studio Let's get started with Tizen Template Studio by creating a new Tizen .NET app project. Launch Visual Studio 2019 and, from the Create a new project menu, select Tizen Template Studio. Enter a name for your new Tizen .NET app and click Create. Tizen Template Studio appears and walks you through four steps to create the desired project. Step 1: Project Type First, select the project type for the app you are about to generate (Application, Watch Face, Widget, or Service). Tizen Template Studio provides standard project templates that include essential project configuration and files to help you start your development. Step 2: Design Pattern Once you have selected a project type, you can select a coding pattern, either Code Behind or MVVM Basic. Step 3: Pages Next, build your app's user interface. Tizen Template Studio provides UI page templates to help you create beautiful and usable apps that follow UI design guidelines and best practices. Select the UI pages that you want to add into your app. You can add as many of each page as you need. Step 4: Features Lastly, you can select which Tizen .NET framework features you want to use in your app. Tizen Template Studio provides a variety of templates to help you use Tizen .NET framework APIs easily. Templates help you follow best practices, reduce writing boilerplate code, and free you from handling manifest files, so you can focus on building functional apps. Get Started Today Tizen Template Studio beta is available now and you can install the Visual Studio 2019 Extension from the Visual Studio Gallery. Once installed, you should then see Tizen Template Studio in the Create a new project menu of your Visual Studio 2019. Note: Before you install the extension, you must have an environment for developing Tizen .NET apps. For more information, see Installing Visual Studio Tools for Tizen. What's Next? We care about your Tizen .NET app development experience. As we continue to add in new features and templates, Tizen Template Studio will continue to help you write high quality apps. Try building a Tizen .NET app with Tizen Template Studio and let us know what you think! If you find a bug or issue, don't forget to file an issue. View the full blog at its source
-
Calling all mobile game publishers! Have you published your game in the Samsung Galaxy Store yet? We have a new set of resources to help you reach millions of active Samsung device users. From Samsung In-App Purchase to marketing tools to performance analysis, there are resources to help both new and experienced game developers. View the full blog at its source
-
The S Pen is a stylus exclusive to Samsung’s Note series devices, powered by Bluetooth technology. The S Pen for Note10 devices has accelerometer and 3D gyroscope modules, which enable the stylus to detect air actions, such as single and double button presses, and directional gestures, such as up, down, left, right, clockwise circle, and counter-clockwise circle gestures. You can use the S Pen Remote SDK to map S Pen actions and gestures to features in your application. To help you avoid making the same mistakes as I did when I was developing my application with the S Pen Remote SDK, this article describes some common implementation mistakes and their solutions. Note: The S Pen for Note9 devices do not support the S Pen Remote SDK, but you can implement single and double button press actions for it in the application configuration file. Mistake #1: Too many remote action activities The S Pen Remote SDK allows one remote action activity for each application. If you define multiple remote action activities, only one activity is functional. Figure 1: Remote action activity in the AndroidManifest.xml file Mistake #2: Air actions are disabled When you install an application on a device, such as to test it, you must manually enable air actions for the application before the application can respond to S Pen gestures. To enable air actions for your application, on the device, go to Settings > Advanced features > S Pen > Air actions, select the application from the App actions list, and toggle the Off switch to On. Figure 2: Enable the application in the Air actions settings If you want the application to have air actions enabled by default, you need special permission from Samsung to add the enable_key attribute to the remote-actions element in the remote_action.xml file. To obtain permission, submit the following information about your application to [email protected]: Application name Package name Information about how air actions are used in your application: Does the application use the media session? Does the application support background playback? Describe the user scenarios in which air actions are used. Mistake #3: Remote_action.xml configuration problems If your application is installed on the device but does not appear in the Air actions settings, check that the remote_action.xml file content is defined correctly. Common problems include: Duplicate action priorities: The priority attribute is a mandatory part of the action element. A smaller number denotes a higher priority. Make sure each action has a unique priority number. Figure 3: Priority attributes in action elements Incorrectly defined action labels: In the remote_action.xml file, make sure that the label attributes of the action elements refer to resource IDs. You cannot directly implement a text string in the label attribute. You must first define the string as a resource in the strings.xml file within the values directory, then refer to the string’s resource ID in the label attribute of the action element. Figure 4: Assign resource IDs to label strings Figure 5: Refer to resource IDs in the label attribute Hope this blog helps you to integrate the S Pen Remote SDK smoothly by avoiding these mistakes. You can also study the sample application for guidance. View the full blog at its source
-
Did you miss the game development Live Chat with Samsung Sr. Developer Evangelist Diego Lizarazo? If so, this is your chance to watch the replay. In this Live Chat, we talked about game development with Samsung technologies. It was aimed to answer questions of developers already creating games, or that are interested in finding out how to create games for the Galaxy Store. Below are links to helpful resources that were covered during this live chat session: Developer Portal Samsung Developer Program resources. This is your point of entry for most Samsung technologies, SDKs, documentation and tutorials. Enrolling in the Galaxy Store The Samsung Galaxy Store is a boutique of expertly curated apps from major brands, as well as Samsung games, watch apps, watch faces, and Themes. Intro to Wearable Apps Development All the documents and data you need to develop Galaxy Watch apps. Samsung In-App Purchase SDK Samsung In-App Purchase (IAP) is a payment service that makes it possible to sell a variety of items in applications for the Samsung Galaxy Store. This page will cover the basics on what you can do with this service and how to get started. Creating companion apps This tutorial shows you how to create and configure a basic Tizen .NET application project in Visual Studio. Galaxy Watch sensors A Tizen powered device can have various physical and virtual sensors. This page lists the different sensors you can access and control in your apps Code samples This page lists the readily available .NET Tizen samples that you can modify and use as starting points to create your own apps. Anime.js Anime.js is a lightweight JavaScript animation library with a simple, yet powerful API. You can easily integrate it with your web apps in Tizen Studio. Phaser.js Open source framework for web based games. It has a long list of samples and tutorials that you can modify and improve for wearable devices. Three.js Three.js is a lightweight cross-browser JavaScript library/API used to create and display animated 3D computer graphics on a Web browser. Construct 2 Construct is an HTML5-based 2D game editor. The latest version, Construct 3, is web based and allows for cross-platform game development. Events Find events that will build your skills. This is where you will hear about new Live Chats and workshops. Forums Connect with the Samsung Developer community in our forums. Visit the Samsung Developer Program to become a part of the Samsung developer community today! View the full blog at its source
-
The new SmartThings Core SDK for JavaScript is now available as a developer preview. With the new Core SDK, you can easily integrate the core SmartThings REST APIs into your JavaScript applications. We’ve built the SmartThings Core SDK with professional developers and hobbyists alike in mind - so that you can freely control and automate thousands of Works with SmartThings devices from your web server, Express app, and more. Let’s say you wanted to build a dashboard and display all of your SmartThings devices. Here is a sample Node app to get you started - you can use the below code with an OAuth or PAT token to get a list of devices: Getting Started If you want to jump right in, we recommend using npm to install the Core SDK for JavaScript. npm install @smartthings/core-sdk You can use the Core SDK for JavaScript Wiki to learn more about all of the endpoints available. If you are not sure where to start, visit the SmartThings Community for video tutorials and ideas. The SmartThings development team has put a lot of effort into building this SDK - we are excited to share it with you. Now, we invite you to start building, ask questions on the SmartThings Community, and provide open feedback. Thank You! View the full blog at its source
-
Start Date Jun 03, 2020 Location Online Join Senior Developer Evangelist Diego Lizarazo Rivera to discuss game development with Samsung technologies. If you are already creating games, or are interested in finding out how to create games for the Galaxy Store, join this conversation. Not interested in games? That's ok! Bring your development questions and get live support. View the full blog at its source
-
Have you been waiting for information on how to optimize your app for the Galaxy Z Flip and Flex mode? Check out the new Jetpack WindowManager library in Android. With WindowManager, you can optimize your app's layout when the device is in the partially-folded state. This allows you to place the controls on the bottom and the content on the top for easier viewing. Read on for details. View the full blog at its source
-
In this episode of POW!, special guest host David Bitton, Senior Global Account Manager at Samsung, interviews Aurelien Lavaud, Global Associate Director of Business Development at Gameloft. David and Aurelien not only talk about the amazing success of the Asphalt franchise racing game, but also the partnership between Samsung, Gameloft, and the Vivendi Group, the global entertainment and media company that owns Gameloft. Topics Covered: • Gameloft history • Samsung partnership • The Vivendi Group • Asphalt 9 • Licensing • Best of Galaxy Store Awards 2019 Try Asphalt 9 on your Samsung device, and drive your favorite hyper-car to become a racing legend today! View the full blog at its source
-
In this episode of POW!, special guest host David Bitton, Senior Global Account Manager at Samsung, interviews Aurelien Lavaud, Global Associate Director of Business Development at Gameloft. David and Aurelien not only talk about the amazing success of the Asphalt franchise racing game, but also the partnership between Samsung, Gameloft, and the Vivendi Group, the global entertainment and media company that owns Gameloft. Topics Covered: • Gameloft history • Samsung partnership • The Vivendi Group • Asphalt 9 • Licensing • Best of Galaxy Store Awards 2019 Try Asphalt 9 on your Samsung device, and drive your favorite hyper-car to become a racing legend today! View the full blog at its source
-
Whether you are an enthusiast or veteran TRON developer, Samsung is here to help your decentralized application (Dapp) reach more people. By using the features in the Samsung Blockchain Platform SDK, you can enable millions of users to access your Dapp on their Samsung Galaxy devices. In a few easy steps, this article demonstrates how to make a simple Android application that can integrate with an existing Web Dapp. Start by using the Samsung Blockchain Platform SDK to connect to a hardware wallet. Next, use the account manager to retrieve the user’s TRON account. Finally, display the Web Dapp using Cucumber WebView and enable it to send and receive payments. Let’s get started! Initialize Samsung Blockchain Platform SDK Before using the Samsung Blockchain Platform SDK, include the required supporting libraries. To learn more about the prerequisite libraries and supported hardware wallets, refer to the Samsung Blockchain Platform SDK Getting Started guide. To begin, initialize the Samsung Blockchain Platform SDK for your application. The SBlockchain object enables you to use the Samsung Blockchain Platform SDK features. try { mSBlockchain = new SBlockchain(); mSBlockchain.initialize(this); } catch (SsdkUnsupportedException e) { handlePlatformSDKUnsupportedError(e); } Connect to a hardware wallet Many Samsung Galaxy devices, such as the Galaxy Note10 and S20, already have a hardware wallet available: the Samsung Blockchain Keystore. You will connect to it in this demonstration. However, you can adapt the following code to connect to other supported hardware wallets, such as the Ledger Nano X, simply by changing the hardware wallet type. private HardwareWallet connectedHardwareWallet; ListenableFutureTask<HardwareWallet> connectionTask = mSBlockchain.getHardwareWalletManager().connect(HardwareWalletType.SAMSUNG, true); connectionTask.setCallback(new ListenableFutureTask.Callback<HardwareWallet>() { @Override public void onSuccess(HardwareWallet hardwareWallet) { connectedHardwareWallet = hardwareWallet; setupAccounts(connectedHardwareWallet); } @Override public void onFailure(ExecutionException e) { Log.e(LOG_TAG, "Connecting to Hardware Wallet failed."); Log.e(LOG_TAG, e.getMessage()); } @Override public void onCancelled(InterruptedException e) { Log.e(LOG_TAG, "Connecting to Hardware Wallet cancelled."); Log.e(LOG_TAG, e.getMessage()); } }); Once successfully connected to the hardware wallet, you can retrieve the accounts associated with it. Retrieve TRON accounts The Samsung Blockchain Platform account manager can retrieve the list of accounts associated with the hardware wallet. AccountManager accountManager = mSBlockchain.getAccountManager(); List<Account> accountList = accountManager.getAccounts(connectedWallet.getWalletId(), COIN_NETWORK_INFO.getCoinType(), COIN_NETWORK_INFO.getNetworkType()); To retrieve the account list, specify the wallet ID from the connected hardware wallet, the coin type (cryptocurrency), and the desired network type, such as MAINNET or SHASTA_TESTNET. In this case, the cryptocurrency is TRON. If the account list is empty, the account manager can generate a new account, based on the connected hardware wallet and the specified cryptocurrency and network. accountManager.generateNewAccount(connectedWallet, COIN_NETWORK_INFO).setCallback(new ListenableFutureTask.Callback<Account>() { @Override public void onSuccess(Account newAccount) { defaultAccount = newAccount; Log.d(LOG_TAG, "Account fetched."); } After the account is retrieved, you can proceed to loading the Web Dapp using Cucumber WebView. Initialize Cucumber WebView The next step is to prepare the Cucumber WebView and enable it to make transactions through the Dapp. dAppWebView = findViewById(R.id.dapp_web_view); dAppWebView.addCoinServiceConnector(COIN_NETWORK_INFO.getCoinType(), tronCoinService, defaultAccount, transactionListener); To communicate with the TRON blockchain network, use the CoinService interface of the Samsung Blockchain Platform. The coin service enables you to retrieve the information needed for the transaction, and also uploads the signed transaction to the blockchain network. Browser-based Web Dapps built using the TronWeb library typically use TronLink as their TRON Web provider. In your mobile application, Cucumber WebView acts as the TRON Web provider and forwards the TRON Web Javascript-prepared transaction to the BaseOnSendTransactionListener event handler, which handles the transaction created by the Web Dapp. After preparing the transaction, a payment intent powered by the Samsung Blockchain Platform SDK can be launched, which provides an interactive UI with the transaction details. CoinService tronCoinService = CoinServiceFactory.getCoinService(MainActivity.this, COIN_NETWORK_INFO); BaseOnSendTransactionListener transactionListener = new OnSendTronTransactionListener() { @Override public void onSendTransaction(@NotNull String requestID, @NotNull TronPaymentType tronPaymentType, @NotNull TronAccount fromAccount, @NotNull String toAddress, @org.jetbrains.annotations.Nullable BigInteger productPrice, @org.jetbrains.annotations.Nullable String tokenID, @org.jetbrains.annotations.Nullable BigInteger tokenValue, @org.jetbrains.annotations.Nullable String data, @org.jetbrains.annotations.Nullable BigInteger feeLimit) { //Write code for what happens when transaction is sent Intent paymentIntent = dAppWebView.createTronPaymentSheetActivityIntent( MainActivity.this, requestID, connectedHardwareWallet, fromAccount, toAddress, productPrice); MainActivity.this.startActivityForResult(paymentIntent, 0); } }; dAppWebView.addCoinServiceConnector(COIN_NETWORK_INFO.getCoinType(), tronCoinService, defaultAccount, transactionListener); Your Cucumber WebView (dAppWebView) is now ready to load the Web Dapp using its URL. dAppWebView.loadUrl("https://www.example.com"); When the marketplace has loaded, the Samsung Blockchain Platform prompts the user to allow the Dapp to connect to their hardware wallet. The Samsung Blockchain Platform’s payment intent UI enables the user to easily purchase items from the marketplace. Bonus: display transaction ID In addition to enabling users to sign in and send a transaction with your Dapp, the Samsung Blockchain Platform SDK can also retrieve the transaction ID. The payment intent returns the transaction information, which can be parsed using the onActivityResult method, if desired. @Override protected void onActivityResult( int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 0 && data != null) { dAppWebView.onActivityResult(requestCode, resultCode, data); switch (resultCode) { case Activity.RESULT_OK: String transactionID = data.getStringExtra("txid"); Log.d(LOG_TAG, "TransactionId : " + transactionID); showAlertDialog("Transaction Successful with Id : " + transactionID); break; case Activity.RESULT_CANCELED: Log.d(LOG_TAG, "Transaction canceled by user."); break; default: Log.d(LOG_TAG, "Unknown Activity Result Code. Result Code: " + resultCode); } } } Conclusion With the Samsung Blockchain Platform SDK, your Dapp is no longer confined to PCs. Both new and existing users can have your Dapp at their fingertips on Samsung Galaxy devices. It’s also easy to add support for new crypto-currencies and hardware wallets to your Dapp; the Samsung Blockchain Platform has you covered. Submit your application to the Samsung Galaxy Store and reach millions of new users today! Additional Resources Download the Samsung Blockchain Platform SDK Example App More information on Samsung Blockchain Platform SDK View the full blog at its source
-
El video incluído en la publicación de hoy te dará la información básica para el desarrollo de aplicaciones con Tizen. Podrás ver los diferentes tipos de aplicaciones para relojes inteligentes Samsung, las opciones que tienes en términos de escoger tu lenguage de programación y entorno de desarrollo integrado, y una visión general de la arquitectura de Tizen. Después de la charla en vivo que tuvimos al comienzo del mes, fue claro que la comunidad hispanohablante quiere ver más contenido en Español, así que este es el primer video que traduzco en lo que espero sea una larga serie en la que abordaremos temas de desarollo. Para más preguntas, pueden contactarme en https://twitter.com/hielo777 No olviden dejar sus comentarios y pedir nuevos temas y tutoriales que les interesen. View the full blog at its source
-
El 7 de Mayo tuvimos la primera charla en vivo de la serie Samsung Habla Español y, para sorpresa de nadie, fue todo un éxito. Desarrolladores, de diferentes partes de Latinoamérica y España, se conectaron para conversar con nuestros desarrolladores evangelistas Laura Morinigo (Developer Advocate / Principal Engineer @Samsung Internet) y Diego Lizarazo (Sr. Developer Evangelist @Samsung Electronics of America), y aprendieron un poco más acerca de las tecnología Samsung. En estos tiempos de incertidumbre y aislamiento, nos pareció importante fortalecer los vínculos de la comunidad hispanohablante de desarrolladores, y proporcionar un espacio donde todos los programadores y fanáticos de la tecnología pudieran encontrar respuestas a sus dudas. Este evento fue una charla en vivo, completamente en Español, en la que los participantes pudieron hablar directamente con nuestros expertos y plantearles todas sus dudas sobre cómo desarrollar tus aplicaciones para el mercado global de Samsung. Aquí puedes ver el video de toda la charla: Ya estamos trabajando en los temas para una nueva charla en el mes de Junio. Aprovecha la oportunidad para proponer nuevos temas y preguntas para esta y futuras charlas, puedes escribirnos a [email protected] Puedes conectar con nuestros desarrolladores evangelistas aquí: Laura Morinigo: https://twitter.com/thisislalaok Diego Lizarazo: https://twitter.com/hielo777 Recuerda que este es un espacio para hablar con los expertos y otros desarrolladores sobre tus creaciones y para aprender más sobre la tecnología Samsung, así que te esperamos en Junio con nuevos temas y anuncios. View the full blog at its source