Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Filter
Learn Code Lab
codelabcreate a watch face using tag expressions objective learn how to create a watch face that responds based on the date, time, step count, heart rate, and battery level using tag expressions in watch face studio in this code lab, you will create a basic watch face with complications such as step count, heart rate, and battery level later, you will improve its functionalities and make it visually dynamic using tag expressions overview watch face studio is a graphic authoring tool that enables you to create watch faces for wear os it offers a simple and intuitive way to add images and components, and to configure the watch movement without any coding watch face studio supports watch faces for the galaxy watch4 or newer version, and other watch devices that run on the same platform tag expressions are conditions in watch face studio that allows you to customize watch face through dynamic configuration of its movement and data set up your environment you will need the following watch face studio galaxy watch4 or newer any supported wear os watch start your project create a new project and input project name a blank studio will show upon clicking ok add analog hands and index watch face studio allows you to add components like text, image, shape, analog hands, and index in a watch face for your watch to have the look and feel of an analog watch, add the following components time > index time > analog hands > minute time > analog hands > hour notethe index and watch hand images used in this code lab are no longer included in the latest version of the watch face studio however, you can choose a design for the index and watch hands from available images in the resources folder you can also create and add your own design you will see that the hands move automatically and in sync with the device time select all the newly added components and click group rename the group as group_analogtime use a progress bar for seconds a component like a progress bar can be used to show how much of the process is completed and how much is left in this step, you will use it to show how far or close the next minute is to use a progress bar as seconds click add component and select progress bar rename the component to seconds move seconds behind group_analogtime in properties of seconds, do the following a adjust the dimension width and height to 395 b align the component to the center c drag the background slider to 0% d make sure that the type is a circular progress bar; otherwise change it e in range setting, change value to 0 and click tags beside it to open the tags window f type in [sec] it means that the value from 0 will increment as the value of the second increases g set max value to 59 since it is the maximum value of [sec] notein this scenario, the progress bar disappears in the canvas as the preview only uses the base value, which is 0 however, the component is still present in run format and position a digital clock in this step, you will learn how grouping works and affects its components you will also learn how to format the date and time using tags to format and position a digital clock, you need to add a digital clock > time twice rename them as hour and minute, respectively add a digital clock > date and rename the component as date put them in one group and rename it as group_digitaltime go to the properties of hour and change the text appearance to 80 do the same for minute adjust the text size of date to 15 adjust the y placements of the individual components to look like the image below when you change a certain component, it won’t affect other components in the group format hour to only show the time in hour a go to its properties and click the tags button in text field b replace text field value with [hour_0_23_z] to show the current hour with leading zero do the same for minute but replace the text field value with [min_z] to show the current minute in an hour with leading zero go to group_digitaltime placement properties and align it horizontally after that, place it to the left you will see the components adjusted as a group utilize health features and battery level watch face studio also allows you to utilize data like step count, heart rate, and battery level follow the steps below to show these real-time data using tags on texts or progress bar battery level add a circular progress bar and rename the component as battery level drag the background slider to 0% go to value properties replace the value with 0 and, in tags, input or choose [batt_per] to use the current battery percentage as the value add a circle complication slot and rename it as battery icon complications are a set of components that can be handled as one group set the type to fixed and change the default provider to watch battery select short text as complication type and choose icon + text for layout select and move battery level and battery icon together to the bottom right heart rate add a circular progress bar and rename the component as heart rate drag the background slider to 0% go to value properties replace the value with 0 and, in tags, input or choose [hr] to use heart rate as value set the max value to 240 since it's the maximum heart rate a person can have add a text component and rename it as heart rate label in the text field, input heart rate and change the text size to 12 change the y placement to 195 add another text component and rename it as heart rate text in the text field, input [hr] and change the text size to 30 group heart rate, heart rate label, and heart rate text together rename the group as group_heartrate move the group_heartrate placement to the center right step count add a circular progress bar and rename the component as step count drag the background slider to 0% go to value properties replace the value with 0 and, in tags, input or choose [sc_per] to use the current percentage to the goal of step count add a circle complication slot and rename it as step count text set the type to fixed and change the default provider to step count select short text as complication type and choose text + title for layout it will now show "steps" as title and step count as text place the step count text in the center horizontally select and move step count and step count text together to the top right select group_digitaltime, group_batterylevel, group_heartrate, group_stepcount, battery icon, and step count text drag them behind group_analoghands and seconds by doing this, the analog hands would overlap the components make use of tag expressions you already have three progress bars that show data of battery level, heart rate, and step count this time, you will make these features more functional by changing the progress bars' color to red using tag expressions tag expressions are conditions that allow you to change the rotation, placement, behavior, and opacity of a component based on tag values it can alter your watch face's appearance dynamically as the tag value changes tag expressions support different types of operators – arithmetic, relational, logical, and ternary for this step, you will apply tag expressions on the color opacity but first, you will have to duplicate all the circular progress bars seconds, battery level, heart rate, and step count move all the duplicates to a new group called group_colorchange make sure that group_colorchange is behind all other groups change individual component’s color to #ffffff or white duplicate this group and rename it as group_background move it behind group_colorchange drag the background slider to 16% and remove tags in the value properties of each component of group_background change group_colorchange color to #ff001e or red group_colorchange will be used as components underneath when you set the opacity of the main components to 0 using tag expressions group_background will serve as gap fillers of each progress bar below are conditions that will trigger the opacity of the main components to become 0 and reveal the duplicated red components change the color of the battery level to red if the battery level is equal to or less than 20% go to group_batterylevel and select battery level navigate to color properties check if the color opacity value is 100 this will serve as the base value in tags, input [batt_per]<=20?-100 0 to subtract 100 from the base value of opacity if the battery level is equal to or less than 20 otherwise, the base opacity value remains the same in the run pane, adjust the device > watch battery to 20% or less, and you will see how the color will change to red change the color of step count to red if the goal hasn't been reached yet and the time is already 18 00 6 00 pm or beyond go to group_stepcount and select step count navigate to color properties check if the color opacity value is 100 this will serve as the base value in tags, input [sc]<[sc_goal] * [hour_0_23]>=18 ?-100 0 to subtract 100 from the base value of opacity if the step count is less than the goal, and if the value of hour in a day is 18 or beyond otherwise, the base opacity value remains the same play with the time control bar in the run pane and health > steps data to see how the color will change from blue to red change the color of the heart rate and seconds to red if the heart rate is below or above the normal go to group_heartrate and select heart rate navigate to color properties check if the color opacity value is 100 this will serve as the base value in tags, input [hr]<60 + [hr]>100 ?-100 0 to subtract 100 from the base value of opacity if the heart rate is below or above the normal 60-100 otherwise, it remains the same do the same for seconds test it in the run pane by adjusting the health > heart rate to below 60 or above 100, and you will see how the color will change to red prolong the battery life now that you already know what group and tag expressions are, it's about time for you to use both to your advantage it is observed that the darker a watch face design is, the longer the battery life can be to help the watch stay powered even when there’s a little battery left, you will need to decrease the opacity of the watch face when the battery level is equal to or less than 10% to do this, you have to select and combine all created groups and components, except for group analogtime, battery icon, and step count text, to a new group called group_watchface go to group_watchface color properties and change the base opacity value to 20 in tags, input [batt_per]<=10?0 80 to add 0 to the base value of opacity if the battery level is equal to or less than 10 otherwise, it adds 80 to the base value, making the watch face 100% visible adjust the device > watch battery to 10% or less, and you will see how most components' opacity decreased choose components for always-on always-on display is a feature that allows your galaxy watch to show the time without checking on it by pressing a button or lifting your hand in watch face studio, you can choose which group or component to display on the always-on by following these steps go to the always-on tab, to see the same set of components you added and grouped click the eye icon next to the group name to hide or make it visible hide group_watchface, battery icon, and step count text at this point, your always-on display will display a basic analog watch face whenever your watch is in idle mode test the watch face to test your watch face, you need to connect a watch device to the same network as your computer in watch face studio, select project > run on device select the connected watch device you want to test with if your device is not detected automatically, click scan devices to detect your device or enter its ip address manually by clicking the + button you're done! congratulations! you have successfully achieved the goal of this code lab now, you can create and design a watch face using tag expressions by yourself! if you're having trouble, you may download this file tag expression complete project 272 71 kb to learn more about watch face studio, visit developer samsung com/watch-face-studio
technical_insights cloud services, account management
blogsamsung account is a global account service that brings the samsung universe together, from all samsung services to online and offline stores. it handles large-scale traffic with security and reliability. as a core samsung service, all tasks on samsung account, from general service deployments to cloud infrastructure upgrades, must be carried out without interruption to the service. this blog introduces the architecture designed for an elastic kubernetes service upgrade and shares our experience with upgrading the cloud infrastructure without interruptions to the high-traffic samsung account service. what is samsung account? samsung account is an account service that brings together more than 60 services and applications in 256 countries with over 1.7 billion user accounts. it is used for samsung electronics services including samsung pay, smartthings, and samsung health, as well as for authentication on various devices such as mobile, wearable, tv, pc, etc. samsung account helps deliver a secure and reliable customer experience with one account on a variety of contact points from online stores (such as samsung.com) and offline stores to our customer services. evolution of current samsung account architecture as the number of user accounts and connected services has grown, the infrastructure and service of samsung account has also evolved. it switched to the aws-based cloud for service stability and efficiency in 2019, and is currently servicing 4 regions: 3 global regions (eu, us, ap) and china. currently, samsung account consists of more than 70 microservices. in 2022, samsung account switched to the kubernetes base in order to reliably support microservices architecture (msa). kubernetes is an open-source orchestration platform that supports the easy deployment, scaling, and management of containerized applications. in 2023, samsung account reinforced disaster recovery (dr) to be able to provide failover across global regions, and expanded the ap region to improve user experience. in other words, samsung account has repeatedly evolved its infrastructure and services, and is currently running stably with traffic over 2.7 million requests per second (rps) and over 200k db transactions per second (tps). each aws-based samsung account region, with its own virtual private cloud, (vpc) is accessible through user devices, server-to-server, or the web. in particular, the web access provides a variety of features such as samsung.com and tv qr login on aws cloudfront, a content delivery network (cdn). samsung account microservices are being serviced on containers within elastic kubernetes service (eks) clusters, and internal communication between regions uses vpc peering. samsung account is using several managed services from aws to deliver various features. it is using aurora, dynamodb, and managed streaming for apache kafka (msk) as storage to build data sync between regions, and it provides account services based on different managed services including elasticache, pinpoint, and simple queue service (sqs). let's elaborate on the aws managed services that samsung account uses. the first is eks, which is a kubernetes service for running over 70 microservices on msa. next, aurora is used to save and query data as an rdb and dynamodb does the same but as a nosql database. along with them, elasticache (redis oss) is used to manage cache and sessions and msk handles delivering events from integrated services and data sync. if you’re building an aws-based service yourself, you would probably use these managed services as well. frustrating upgrades contrasting the convenience of managed services there is a major challenge to consider when you use these managed services, though. end of support comes, on average, after 1.5 years for eks and 2 years for aurora. various other services like elasticache and msk face the same problem. such service support termination is natural for aws, but upgrading these services when support ceases is often a painful task for those running them. because operation resources are often reduced upon switching to the cloud, large-scale upgrades that come around every 1 or 2 years have to be performed without enough resources for emergency response. these managed service upgrades put a major burden on samsung account. more than 60 integrated services have to be upgraded without causing interruptions, and the upgrades must be rolled out across a total of 4 regions. on top of that, samsung account is developing and running more than 70 microservices, so a significant amount of support and cooperation from development teams is required. the most challenging of all is that the upgrades need to be performed while dealing with traffic of over 2.7m rps and db traffic of 200k tps. eks upgrade sequence and restrictions you might think upgrading eks on aws is easy. in general, when upgrading eks, you start with the control plane including etcd and the apis that manage eks. afterwards, you move to the data plane where the actual service pods are on, and finally to eks add-ons. in theory, it is possible to upgrade eks following this sequence without any impact to the service operation. however, there are restrictions to general eks upgrades. if an upgrade fails in any of the 3 steps above due to missing eks api specs or incompatibility issues, a rollback is not available at all. in addition, it is difficult to do a compatibility check for the services and add-ons in advance. multi-cluster architecture for non-disruptive eks upgrades after much thought, samsung account decided to go with a simple but reliable option to perform eks upgrades. it's possible that many other services are using a similar way to upgrade eks or run actual services. samsung account chose to upgrade eks based on a multi-cluster architecture with 2 eks clusters. the architecture is built to enable an existing eks version to continue providing the service, while a new eks version on a separate cluster performs a compatibility validation with various microservices and add-ons before receiving traffic. the advantage of this method is that you can implement a rollback plan where the old eks version takes over the traffic if any issues occur when switching to the new eks version. a lesson we have learned from providing the samsung account service under high traffic is that there will be issues when you actually start processing traffic, no matter how perfectly you've built your infrastructure or service. for these reasons, it is essential to have a rollback plan in place whenever you deploy a service or upgrade your infrastructure. when you perform a multi-cluster upgrade, traffic must be switched between the old and new eks clusters. simply put, there are 2 main approaches. one approach is to switch traffic by placing a proxy server between the 2 clusters. the other approach is to switch the target ip using dns. needless to say, there may be a variety of other ways to accomplish this. in the first option, using a proxy server, you may encounter overload issues when handling high-volume traffic, such as with samsung account. additionally, there are too many application load balancers (albs) used for approximately 70 microservices, making it impractical to create a proxy server for each alb. in the second option, using dns, the actual user, client, and server replace the service ip of the old eks with that of the new eks during a dns lookup, redirecting requests to a different target at the user level. the dns option does not require a proxy server, and switching traffic is easy by simply editing the dns record. however, there is a risk that the traffic switch might not happen immediately due to propagation-related delays with dns. the dns-based traffic switch architecture was applied to achieve a non-disruptive eks upgrade for samsung account. let us describe the dns layers of samsung account with a hypothetical example. the top domain is account.samsung.com, and there are 3 global region domains under it, classified based on latency or geolocation. for us.account.samsung.com, the layers are split into service.us-old-eks.a.s.com and service.us-new-eks.a.s.com, representing the old and new domains. this is a simple, hypothetical example. in reality, samsung account uses more dns layers. during the recent eks upgrade, we switched traffic between the internal domains of the 2 eks clusters based on weighted records while adjusting the ratio, rather than switching all at once. for instance, when a user sends a request to account.samsung.com, it goes through us.account.samsung.com, and the actual eks service ip is applied at the end based on the specified weight. retrospective of the non-disruptive eks upgrade in summary, i would say "it's a successful upgrade if the connected services haven't noticed." with this eks upgrade, we deployed and switched traffic for a total of 3 regions, 6 eks clusters, and more than 210 microservices over the course of one month. the traffic switch was conducted with ratios set based on each service's load and characteristics, and no issues with connected services were reported during this one month eks upgrade. of course, as they say, "it's not over until it's over." we did have a minor incident where there were insufficient internal ips in the internal subnet due to many eks nodes and service pods becoming active simultaneously, which scared us for a moment. we secured the ip resources by reducing the number of pods for kubelet and add-ons by about a thousand and quickly scaling up the eks nodes. one thing we realized while switching traffic with dns is that 99.9% of the entire traffic can be switched within 5 minutes when the dns weight is adjusted. closing note richard branson, co-founder of virgin group, once said, "you don't learn to walk by following rules. you learn by doing, and by falling over." samsung account has been growing and evolving, addressing many bumps along the way. we continue to resolve various challenges with the stability of our service as the priority, keeping this "learning while falling over" spirit in mind. thank you.
Je-Min Kim
Develop TV Seller Office
docentering application information this guide explains how to register and update information in the tv application registering application image in the "applications > app images" menu, you can register and edit application icons and screenshot images to be displayed on the tv input field description displayed on tv icon images register icon images to be used when your application is displayed on the smart tv warningwhile the certification and verification are in progress, the application icon cannot be changed once the process is finished, this restriction is lifted yes screenshot images register screenshot images to be used when your application is introduced on the smart tv app store yes two sizes of application icons must be registered 1920x1080 and 512x423 pixels for the 1920x1080 size icon, if you upload a logo image and a background image separately, 16 9 and 1 1 full-color asset images are automatically created, and the 1 1 size icon can be replaced with another image for the logo image, upload a transparent image sized 1920x1080 pixels, in the 32-bit png rgba format, and with a file size of 300kb or less for the background image, upload an image sized 1920x1080 pixels, in the 24-bit png rgb or jpg format, and with a file size of 300kb or less for the 512x423 size icon, upload an image sized 512x423 pixels, in the png format, and with a file size of 300kb or less you must register 4 screenshots of your application upload the screenshot images sized 1920x1080 pixels, in the jpg format, and with a file size of 500kb or less screenshots are displayed on the tv in order of numbers you can change the order of screenshots by dragging and dropping if your application has in-app purchase feature, register a screenshot with price information at number 4 screenshot number 3 may not be displayed depending on the tv model notefor detailed specifications of application icons and screenshot images, refer to the app icons and screenshots guide after entering all the application images, click the "save" button to complete the registration entering application title and description in the "applications > title/description on tv" menu, you can register and edit the application title and description that are shown on the tv enter the application title and description for each language so that users can view the application information according to the tv's language selection and enter the search keyword so that the user can discover your application through the search you can add and delete multiple languages by clicking the "add/delete language" button one of the languages can be designated as the default language, which is then used if there is no application information in the language selected by the user input field description displayed on tv app title enter the application title for the given language unlike application names that cannot be changed, you can freely change the application titles displayed on the tv importantthe application title written in the default language and the application title specified in the configuration file of the application package must be identical otherwise, the pre-test will fail during the deployment request process warningwhile certification and verification processes are in progress, the default language and the application title in the default language cannot be changed once the processes are finished, this restriction is lifted yes description feel free to enter a description of the application for the given language, up to 4000 characters yes tag enter at least 3 search keywords for the given language multiple keywords are separated by comma , no a blue complete icon is displayed for languages where all information is entered, including the title and description of the application, and tags for search, and the gray incomplete icon is displayed for languages where it has not the icon can distinguish whether information has been entered if there are any languages left with no information entered, you cannot register, so delete unnecessary languages from the list after entering the application title and description for each language, click the "save" button to complete the registration entering service information in the "applications > service info" menu, you can register and modify service information provided to the tv input field description displayed on tv service category choose the smart tv app category to provide your app from the categories presented videos, game, sports, lifestyle, information, education, etc warning service categories cannot be changed while certification and verification processes are in progress once the processes are finished, this restriction is lifted for apps serving a global country if the country of service includes china and other countries , you cannot select a videos category unless the app is allowed yes rating choose the age rating of the content in some countries, an additional rating certificate may be necessary if the application content is not suitable for the selected age rating, the service may not be released, and if this issue occurs after release, the service may be discontinued all applications must not contain violence, pornography, or abusive language applications with an age rating of 18 years or older cannot be offered in korea for more information, please refer to the age rating guide yes language enter the application languages the user can select when using the application yes privacy policy if your application collects personal information from users, you need to register the privacy policy url so that it can be explained on the smart tv yes seller information according to korean and european laws, register seller information to service your application need to the seller information such as the seller name, customer support email address, home page url, representative name, phone number, mailing address, and registration number duns, vat number, lei code, ein, ust-idnr, company number, siren, abn, acn, korean business registration number, etc if your group's account type is "individual", no registration number is required notewhen registering an application, a seller group's information is used for it by default, but you can change the information for each application note that the seller group's information changes, the application's seller information does not change accordingly, and vice versa to change the seller information displayed on the tv, you need to edit the seller information in the application, not the seller group information yes doc for eaa if you intend to release and register your application in eu member states except bulgaria , you are required to declare that your application conforms to the requirements under the european accessibility act, or the eaa if applicable, please attach the doc declaration of conformity document for the european accessibility act no when selecting service categories, please refer to the following description cagegory description education any kind of educational content includes all ages animation ages 12 and under children’s books, educational vod, educational games, etc game action/arcade, puzzles, board games, shooting, sports, card games, etcgames specifically for educational purposes should be placed in the others category information content which is beneficial to daily lifenews information, broad casting news, news magazines, journals, news papers, etccommerce, weather, traffic, financial, encyclopedias, and regional information lifestyle leisure & hobby music, social networking, gallery, cooking, travel, shopping, pets, fashion & entertainment magazines etc“how to” contentutilities diary, calendars, and home improvementssocial work, spiritual, and religious content sports sports broad castingsports, health, & fitness informative, lessons, instructional videos, workout routines, healthcare, medical care, beauty, meditationdoes not include sports games these would be included in the game category video vod, movies, drama, tv series, culture, documentaries, music videos, animations, and user created content warningfor apps serving a global country if the country of service includes china and other countries , you cannot select a videos category unless the app is allowed if the applications collect user's personal information, you must enter a url where the user can view privacy policy to comply with legal requirements related to personal information, review samsung's privacy guide, as well as the legal requirements of the countries in which the service is offered after entering all service information, click the "save" button to complete the registration setting service country in the "applications > service country" menu, you can set the country/region where the application will be released partner sellers can launch tv application services in any country, including the us, whereas public sellers can only launch in the us input field description displayed on tv rating certification if you are issued a rating certification, you must register the certificate no country or region select countries where your application is offered no some countries require a certificate to launch the application in order to release the application for the brazilian market, you need to select an age limit and upload a certificate issued by mj/dejus the age limit may be changed according to review by samsung sidia applications with an age rating of 18 years or older cannot be launched in korea for vod applications if the service category or mapping category is videos , you cannot service global countries, including china, unless the applications are specifically allowed to release the application, you must also either exclude china or set the application to only release in china under the eu's digital services act dsa , to service an application in a country/region covered by the dsa regulations, you must provide the registration number identifying your company/business for more information, see the entering service information section when you change the service country of an application that has already been released and is being offered on the tv, you must enter a reason for the change, and the change is deployed after samsung reviews the reason therefore, it is recommended to contact the samsung content manager first before making any changes, as changes made without prior agreement may be rejected after setting the service country, click the "save" button to complete the registration if the service country of an application being offered on the tv is changed, the change is not implemented immediately, but only after samsung's review process warningthe service country and certificate cannot be changed while certification and verification processes are in progress or while an beta test or an alpha test is in progress once that process is complete, this restriction is lifted the same restriction also applies if a previously requested service country change has not yet been completed entering billing information in the "applications > billing info" menu, you need to enter whether the application has a payment function if there is no payment function, select 'free' feature description samsung checkout select if your application uses the embedded billing function in samsung smart tv 3rd party billing select if your application uses a partner's own billing function you need to also select the billing type, either transaction-based or subscription-based free select if your application does not have a billing function if the samsung checkout option is selected, you need to check all items in the integration checklist after reviewing the guidelines presented checklist guide test in-app purchase in dpi sandbox environment at least once before submitting your app before submitting an app for qa, we require you to complete testing the in-app purchase with actual payment methods for any items to test your product, you need to create your product at dpi you can manage your products at samsung checkout dpi enter your company's bank information correctly for settlement and remittance, we need your company's bank account information please enter your bank account information at samsung checkout dpi for more information, see the managing bank account information guide make sure that your product sku is created at dpi before submitting your app to sell your product to smart tv users, you need to create the product at dpi please make sure that you register your product at dpi the app must check checkout-available country before calling the billing api please ensure that checkout is supported in your service country by using the billing service available country check api once confirmed, your application can call the billing api at checkout service country/location in addition, to use the samsung checkout function, the related privilege api must be defined in the application package configuration file applications that do not have the privilege defined cannot be submitted for more information on the api, refer to the billing api guide after selecting the billing function, click the "save" button to complete the registration any changes made are reflected when you submit a new version of the application warningif your billing information is checking from samsung checkout, you cannot change this information and you cannot change this information if you are joining or moving a group entering application feature information if smart tv features are implemented in the application, you need to check it in the "applications > app feature info" menu the feature you checked previously is selected by default as a feature of this application, so the same information will be applied when you submit a new version unless you change it if you change this information, it will be applied from the new application version you will submit if none of the features are applicable, select "not applicable" but please note that when you select "not applicable" if you have previously selected features, all of them will be deselected feature description caption select if your application supports caption this feature does not refer to subtitles, but ip video closed captioning which is used mainly in the us subtitles are located under player features external devices select if your application uses external devices such as usb storage, camera, or microphone, and describe all external devices used game platform integration select if your app supports game platform integration service on samsung tv hdr select if your application supports high dynamic range in-app ad select if your application is connected to an advertising platform for monetization an application is not considered to be ad-supported if the advertisements are not connected to an advertising platform an embedded, static image in an application is not classified as an advertisement importantif you are using in-app ads, but do not specify as such, your app may be rejected also, apps that support in-app advertisements must be updated to use relevant api’s documented here mobile device select if your application works with mobile devices and attach the corresponding mobile application however, if the mobile application was developed using the 'samsung smartview sdk', select the 'smart view' feature instead overlay select if your application supports overlay pip the overlay technique means the pip is located in an html element in a tizen web application player select if your app uses a video streaming solution smart view select if your application supports a mobile application developed through the ‘samsung smartview sdk’ tts select if your application supports text to speech umd search make sure to select this if your content ingested on umd for universal guide/universal search if you unchecked this, all you content catalogue on umd are not populated on universal guide/universal search if you have any question for this feature, please contact your app spm/tam after selecting all implemented functions, click the "save" button to complete the registration any changes made are reflected when you submit a new version of the application if you select the caption, in-app ad, player, or smart view functions, you need to additionally enter detailed information for each function in the sub-menu importantcaption and tts functions must be implemented in order to release an application to a model group subject to fcc regulations applications that do not support caption or tts functions cannot be submitted to model groups subject to fcc regulations caption information if the caption function is applied, enter the caption application method and details in the "applications > app feature info > caption" menu to comply with the fcc's ip video subtitle rules, content providers must support subtitles for ip video applications are considered part of the device and strict rules apply, and cps must use their own or manufacturer's solutions for captions you can download and refer to the 'video caption implementation guide' and 'user interface accessibility compliance manual' through the "fcc guide document download" button input field description displayed on tv solution for captioning select what solution was used for captioning select cea-708/cea-608 or smpte-tt/sami if using samsung's solution, or application ui if you use your own solution no content title and location provide the video title and url to play with caption no after entering the caption details, click the "save" button to complete the registration any changes made are reflected when you submit a new version of the application importantcaption and tts functions must be implemented in order to release an application to a model group subject to fcc regulations applications that do not support caption or tts functions cannot be submitted to model groups subject to fcc regulations in-app ad information if the in-app ad feature is applied, enter additional items from the "applications > app feature info > in-app ad" menu if your application is ad-supported, you can supply a developer url path for your app-ads txt file as per iab documentation on authorized digital sellers this will generate a unique app store url you need to enter whether to use tifa tizen identifier for advertising tifa is a device identifier that is compliant with the iab guidelines for targeting and ad tracking in accordance with samsung terms and conditions, tifa is a required parameter to be passed from the application through samsung’s ads api if you select yes/no and your app uses tifa in ways that don’t match your answers, the app could be rejected during pre-testing in this case, resubmit the app again after you correct the answers or fix your app following tifa guideline input field description displayed on tv application developer url enter or update the developer url path to where your app-ads txt file is located for example, you must enter "https //www samsungtvplus com/" not "https //www samsungtvplus com/app-ads txt" importantto verify that this domain is valid, add "/app-ads txt" to the developer url to open it if the url does not load the app-ads txt file, a different url should be supplied once the developer url is entered, the bundle id is automatically generated and displayed in the section, which can be used to access the app store url noteto access your unique app store web page, add the bundle id to the url "https //www samsung com/us/appstore/app/" for example, if your bundle id is "g15147002586", the url of your page will be "https //www samsung com/us/appstore/app/g15147002586/ " the developer url, bundle id, and app store id are then displayed in the metadata on that page use the bundle id and app store url in your ad tags or bid requests to support app-ads txt verification no use tifa select if your application uses tifa for advertising purposes collecting or using tifa information for any other purpose is prohibited no confirm tifa guideline if the application is using tifa, you need to check the requisite guidelines and terms and conditions and select the check box no after entering additional details for the in-app ad feature, click the "save" button to complete the registration and update the developer url and bundle id information are reflected immediately, and the change for tifa yes/no will be reflected from the time you submit a new version of the application noteto use the in-app ad feature, the related privilege api must be defined in the application package configuration file applications that do not have a privilege defined cannot be submitted for more information on the api, refer to the adinfo api guide player information if the player function is supported, enter the details of the video streaming solution in the "applications > app feature info > player" menu feature description video codec select the video codec spec between divx, h 263, h 264, hevc, motion jpeg, mpeg1, mpeg2, mpeg4, mvc, rv8/9/10, vc1, vp6, vp8, vp9, wmv7, wmv9, xvid, and other audio codec select the audio codec spec between aac, ac3, adpcm, aiff, alac, ape, dts, flac, he-aac, lpcm, midi, mp3, vorbis, wav, wma, wma/dd+, and other container select the container spec between 3gpp, asf, avi, mkv, mp4 fmp4 , mpeg-ts, mstroska, ps, vob, vro, webm, and other drm select the drm spec between aes-128, playready, verimatrix, widevine classic , widevine modular , and other streaming engine select the streaming engine spec between hls, http https , mpeg-dash, smooth streaming, and other player api select the player api spec between avplay, c#, mse, and other subtitle select the subtitle spec between close caption, smpte-tt, webvtt, and other other describe if there are other player specifications not listed above after entering the player details, click the "save" button to complete the registration any changes made are reflected when you submit a new version of the application smart view information if the smart view function is selected, enter detailed information about the smart view function and mobile application in the "applications > app feature info > smart view" menu input field description displayed on tv service logo upload the mobile application icon or website logo no service title register the mobile application title on the app store or website no service access provide at least one of the following application source, website url, other no additional features select features you added on your smart view enabled application, between ble bluetooth low energy discovery, wow wake on wireless lan , and speaker no for the logo image, upload an image sized 512x512 or 1020x1024 pixels, in the 24-bit png format, and with a file size of 300kb or less images with transparency are also permitted depending on the service access method selected, upload the application source directly or enter the url information to access it if there are other ways to access the mobile application, explain them after entering the smart view details, click the "save" button to complete the registration any changes made are reflected when you submit a new version of the application entering verification information this information will be used by the samsung smart tv certification and verification team, and the process may be rejected if it is missing please check if you can fully test your application with the information you provide and update it if there is any invalid information input field description displayed on tv app description file provide application documentation to help samsung testers understand the application's workflow and user scenarios for detailed specifications of the application description document file, refer to the application ui description guide no geo ip block select if geo-filtering is used for application content make sure that all ip addresses used by samsung testers are allowed on your servers no test accounts if your application requires a login to use, provide the credentials for test accounts you must provide at least 1 test account for each model group that your application supports each test account must have enough credit to comprehensively test all the application features on a specific platform importantthe application is tested simultaneously across all requested model groups consequently, you must provide a number of test accounts equal to or greater than the number of requested model groups insufficient test accounts can cause your application to fail verification at the testing phase additionally, if the content and user experience vary depending on the account, provide accounts that can test each specific scenario example if the presence of ads, live tv, or premium vod differs by account id samsungtest1@samsung com ads provided id samsungtest2@samsung com 4k content provided id samsungtest3@samsung com live tv provided no voucher code if you have content to use after payment, enter voucher information for testing no after entering the test information, click the "save" button to complete the registration and update any changes for geo ip block, test account, and voucher code information are reflected immediately, and the change for app description file will be delivered with the app package when you submit a new version of the application
Develop Galaxy Watch for Tizen
docrelease note introduction release version 2 0 1_beta release date 01 september, 2021 known issues macos hotkey command+q makes program exit without asking to save current job swt issue the following psd features are not yet supported group show/hide status effects arabic language doesn't support icu format 'eeeeee' six 'e', two-letter abbreviation read-only attribute of text and combo control are ignored on macos when use specific language ex vietnam due to galaxy watch os version update to tizen 4 0, user may have to re-create distributor certificate in windows pc, if first component is text, bold and italic don't show properly in editor and preview with opacity change in mac os "about galaxy watch studio" and "preferences" in "galaxy watch studio" menu don't work designers need to use "edit -> preferences" and "help -> about" instead change history galaxy watch studio 2 0 1_beta new added invalid font popup when adding invalid font added validation of component name, app id and project name updated maximum length of component name to 50 characters updated maximum length of author certificate password to 128 characters removed psd file support when import image disabled ungroup option inside group disabled bmp and gif image import as animation frame disabled characters <, >, &, ", \ for bitmap font fixed an issue where application doesn't open in macos bug sur fixed an issue where text editing in aod mode behave incorrectly fixed an issue where name of the animation displays randomly fixed an issue where toolbar align options are enabled for locked components fixed an issue where properties ui jump when changing anything from text editing mode fixed an issue where custom font is not showing for multiple text selection fixed an issue where tag expression was enabled for opacity and rotate fixed an issue where bitmap font alignment is top in editor fixed an issue where bitmap font characters overlapped in native viewer fixed an issue where tool tip is still displayed although tooltip turned off in preference fixed an issue where properties doesn't show when component is unlcoked fixed an issue where rename a locked component was allowed fixed an issue where large animation image name gets cut off fixed an issue where user can click on any button when add device pop up still display fixed an issue where complication save with action image doesn't work fixed an issue where adding complication with bitmap font in newly unsaved project causes crash fixed an issue where invalid image can be added in editor fixed an issue where complication import in aod mode is not working as expected fixed an issue where outline of frame is showing in wrong position when editor is in animation editing mode fixed an issue where search function in timeline doesn't work for long component name fixed an issue where adding jpeg images cause unexpected behavior fixed an issue where component doesn't disappear from editor after undo the add component operation fixed an issue where components with same name exist when import same complication twice fixed an issue where undo of group operation doesn't work fixed an issue where component naming was possible with special character fixed an issue where search result in timeline does not update after renaming the component fixed an issue where palette was active in animation editing mode fixed an issue where native viewer watchface blinks while transitioning aod mode fixed an issue where "save as to original folder" and "show tool tips" in preference don't work fixed an issue where same character with uppercase and lowercase doesn't work in bitmap font character list fixed an issue where project save does not work when disable set as button fixed an issue where removed image still shows on preview for image change action fixed an issue where icu format text box is empty fixed an issue where divide by zero in tag expression is a valid expression fixed an issue where tooltip still have shown even though bitmap is deleted fixed an issue where backgroud component opened as image component when project loaded fixed an issue where saved project's backgroud open as image fixed an issue where action is not applied after save as complication fixed an issue where hide icon is missing after making a group with all hidden components fixed an issue where search text does not disappear after sort by region in language fixed an issue where 9 languages were not included to any region fixed other issues and ui improvement done galaxy watch studio 2 0 0_beta one ui applied in toolbar, properties and run preview added scrollbar for condition line layers added search feature for condition line layers added new tag "year" in tag expression dialog added sort by region feature in language setting dialog added search box in language setting dialog added lunar calendar support for digital clock component added group/ungroup button in timeline added style, gridline every, and subdivisions settings in preference view section modified preference dialog, language setting dialog and tag expression dialog fixed an issue where animation frame selection doesn't work when animation editing mode changed fixed an issue where auto update download percentage was incorrect fixed an issue where too long label is trimmed in editor fixed an issue where battery status action does not work with weather components fixed an issue where ip and port validation added in proxy server input pop-up fixed an issue where weather auto refresh time couldn't take minute value fixed an issue where custom complication does not work for aod mode fixed other issues and ui improvement done galaxy watch designer 1 8 1_beta added custom complication feature added support for two more islamic calendars added warning message when creating a new group disabled condition line for group components disabled resize and rotate for the components of a group removed "workout status" from preview -> health tab removed support for icu format vvv city name fixed an issue where auto update pop-up don't appear sometimes fixed an issue where remainder % operator doesn't work in tag expression fixed an issue where day of year d tag in tag expression doesn't work as expected fixed an issue where sync with device doesn't work without selecting it from time zone dropdown fixed an issue where complication -> workout -> digital_steps_b showing resource not found error fixed an issue where digital clock disappears with weather component when default language set to english fixed an issue where default language of digital clock doesn't work with weather component fixed an issue where bitmap font image modification don't appear in realtime fixed an issue where button for watch hand doesn't work with weather component fixed an issue where gyro and condition line don't work together on real device fixed an issue where view label is dimmed when ruler is grid is checked and outline is unchecked fixed an issue where clicking on project menu crashes application when project not exist fixed an issue where latitude and longitude displayed in run preview when current location has no city name fixed an issue where watchface does not launch on real device after re-installation fixed an issue where text does not show correctly in run preview while changing font type fixed an issue where component context menu is big when component name is too long fixed an issue where default language help tooltip does not work in language settings fixed an issue where precision property does not work when humidity display type set to "%d % " fixed an issue where language settings for digital clock does not work correctly with java 11 fixed an issue where id of android displayed instead of device's name in uninstall dialog fixed an issue where lightness and saturation of adjust color can take input value greater than 100 fixed an issue where city name displayed null when no city selected from map and changes the forecast data fixed other issues and ui improvement done galaxy watch designer 1 8 0_beta added watchface support for galaxy watch active 2 added multiple components property change feature for dimension, placement, rotate, appearance and text appearance property added layer color feature to draw outline of the component with layer color added horizontal scroll bar for timeline frame added show/hide and lock/unlock options in layer menu added change time zone change capability with action "time zone selector -> sync with device" added real time change in editor when properties value modified by mouse drag or arrow keys added multiple language support for bitmap font in digital clock updated layer item and component icon updated aod high enable popup text and button updated view > outlines sub menu order and functionality updated time zone selector notice popup text updated gwd help -> promote link updated opr value limit exceed warning pop up behaviour it will show each time when aod mode toggled and opr value over 15% updated tooltip texts in edit > preferences > apis removed align and font option from properties when weather type set to icon fixed an issue where gwd memory leak occurs when moon phase is used as text component or tag expression fixed an issue where bitmap font in digital clock doesn't work real device for different locale fixed an issue where bitmap font is changed to low-bit color image issue fixed fixed an issue where gwd can't connect to galaxy watch sometimes fixed an issue where application got stuck when fetching weather data from internet fixed an issue where rotated text gets distorted and much larger on watch in native viewer fixed an issue where both run preview and watch device display city name "unknown city" with icu format "vvv" for digital clock component fixed an issue where text overflows the text box if its length is higher than the text box in native viewer fixed an issue where run preview doesn't show watch hand simulation for rotation property "sync with conditions" with values step count and others fixed an issue where week number of year was shown incorrectly fixed an issue where time zone selector action doesn't work in native viewer fixed an issue where weather type icon isn't visible in native viewer fixed other issues and ui improvement done galaxy watch designer 1 7 1_beta added highlight options for components when mouse is moved in editor view additional action "change temperature unit" and "update weather" added for weather components run controller values can be changed by "click and drag" on labels slider values can be changed by mouse "hover and scroll" added arrows in conditional part to scroll frames icu more popup search options updated and redesigned run preview capture implementation is changed run preview ui is slightly changed and size set to 100% enabled "set as button" when tag expression used on opacity due to platform issue, time zone selector disabled for double tap on digital clock asset creator template url is updated sdb version updated to 4 1 5 sync with device option added on time zone selector moved text styles to text properties time zones values for few cities are updated fixed an ui issue where placement expression box can be seen when group item is being resized fixed an issue where gyro effect was not working for text and digital clock fixed an issue where group item name can be renamed fixed an issue where tap action did not work on other non-overlapping components, if action used on watch hand fixed an issue where selected languages would disappear on build project popup fixed an issue where watch hand position would be wrong if rotation is used fixed an issue where "space evenly horizontal" did not work properly fixed an issue where movement effect setting did not work properly fixed an issue where steps % over 100 is discarded fixed an issue where gwd may fail to update fixed an issue where "b" bold option for text style did not work in run preview fixed an issue where "&&" was showing on application installation popup fixed an issue where "steps goal" run controller value was not reset fixed an issue where weather controllers do not reset when no location is selected fixed an issue where device cannot be connected via wi-fi due to very large network size fixed an issue where weather type "main" text on run preview did not match with editor text fixed an issue where weather type "description" text language did not work on run preview fixed other bugs galaxy watch designer 1 7 0_beta run preview has been redesigned and added directly to main window few new run controllers added all run controllers are now separated into 3 tabs "watch", "health" and "weather" added run preview controller reset options watch preview added in run controller user can see how their watch looks on real device right from run preview windows version now only supports windows 64bit java requirement for windows is also changed from 1 8 32bit to 1 8 64bit or higher support for jdk 11 is added resource preview is removed gwd license agreement has been updated components and properties window size has been reduced to give more space on editor view support for band and rectangular devices has been removed support for tizen version lower than tizen 3 0 has been removed low color aod mode has been removed movement effect for placement, rotate, opacity tag expression added google location api has been replaced with here map api new font can be added through font properties second hand sweep effect can be used without any bindings tag script dialog has been redesigned tag expression sweep effect can be viewed on run preview capture image can be taken with watch and strap also through new dialog, user can go to directory where captured image is stored when installing gwd 1 7 0, previous font and res directory will be automatically migrated fixed an issue where changed background image was set as icon fixed forward and rewind issues in timeline fixed play head position issue for 'battery %' and 'steps &' conditions tab fixed a timeline loop issue fixed an issue where text position in run preview and on-device did not match fixed an issue where build did not work properly when opr value was high fixed an issue where rotation did not work for bitmap fonts fixed 'steps %' issue on tizen 4 0 devices fixed an issue where sweep effect did not work on devices fixed background and hand color change issue on actual device when opacity was used fixed an issue where second hand is not displayed in real device when an angle is applied fixed an issue where digital clock not displayed when all language support added fixed an issue where color and opacity could not be used together on text and digital clock fixed an issue where index did not work if color was adjusted fixed an issue where images could not be copied from normal to aod mode fixed tag expression problem for text component fixed an issue where hand did not show on actual device if filters were used fixed battery drain issue on certain watchface with weather data fixed an issue where application start popup is not displayed when tapped on run preview fixed script windows scroll problem on windows 7 fixed language settings issue on where after bitmap fonts are set, returning to truetype font selects all language fixed toast "invalid character" displayed when tab on outer pivot-x/y fixed and issue where color still applied when color picker is closed by close button fixed dropdown width issue on rotation properties tab fixed text left pad issue on gear device fixed hsl values not updated issue when style copy/paste is used for images includes various ui updates fixed various other bugs galaxy watch designer 1 6 2_beta fixed opr check error issue fixed gyro not working on the native viewer fixed gwd exception fixed km/mile condition add code to check resource available when building tpk disable opacity for group fixed bugs galaxy watch designer 1 6 1_beta fixed x,y coordination error for grouping hot-fix galaxy watch designer 1 6 0_beta changed application name gearwatchdesigner > galaxywatchdesigner add tag expression on rotate, placement, opacity add build option for target platform api to provide runtime permission popup changed mac installed style changed the latest tizen library add build option for changing app preview image fixed gyro opacity value error fixed mac freezing issue fixed km/mile display error on the lock screen modified circle hands resource name fixed bugs galaxy watch designer 1 5 4_beta added a floor condition in the run preview added the dummy value on preview image battery 100, battery level 4, pedometer steps 3457, floor 3 added and fixed shortcut keys zoom in/out, fit in window, actual size, locking added selecting action at edit text field in the properties window added a range label to indicated meaning of gyro xy range added an unloop menu for multiple layers fixed the opr check stopping issue fixed x, y coordination error with action fixed a "weather gwd" build stopping issue fixed errors of image component with action and condition status in the run preview fixed a gyro effect for weather gwd sample galaxy watch designer 1 5 3_beta fixed hand component editing guideline issue when button action enabled fixed image component location issue in the device when button action and timeline condition enabled together fixed 'precision' field not display issue for temperature text component fixed all component display issue in the native viewer that has 'loop' condition when aod -> normal mode fixed animation and second-hand sweep stop issue in the native viewer at midnight fixed 'maximize' button not working issue on the mac pc fixed crash issue in the device if bitmap font is not filled fully added gyro property to text, digitalclock components fixed 'step %' not working issue on the device if the group is used fixed tpk file generate failure issue even after the build galaxy watch designer 1 5 2_beta added gyro x and y property to support individual control added new sample projects and complication preset that includes gyro effect increased text component left-pad property range max from 4 to 6 added steps/distance/heart rate/speed/calorie injectors to the run window fixed precision property not working issue on temperature text in the device fixed 'select all' language property issue that property is cleared when reloading the project added watch face uninstall functionality on the device fixed value roundup issue when 'step %' condition used in the condition window fixed 1 sec delay issue in the device when loop is used fixed version compatibility popup text not correct issue when installing watch face that km/mile or multi-language is used to the gear fit, fit2 pro device fixed native viewer flickering issue after 3 0 fota changed a gwd file schema to increase functionality therefore, a new project can't be loaded in v1 5 1 or previous version fixed build stop issue at 40% that happens on the specific pc added button action support for hand component galaxy watch designer 1 5 1_beta increased 'change image' button action limit from 12 to 100 added km/mile condition tab that changes accordance with device ‘s health’ setting fixed project reload failure issue when bitmap font used that special character is assigned added 12h/24h and km/mile controls to the run window display overwrite option when try 'save as' with the same project name fixed combo dropbox width issue on the mac pc added bitmap font support in the low-bit color mode added 'on-next-second', 'on-next-minute' and 'on-next-hour' as animation play option support for multi-language digital clock when selected language type is not 'sync to device' galaxy watch designer 1 5 0_beta added unit, precision support for 'distance', 'speed' text sources fixed run in device failure when a native viewer is enabled and a package name has been changed in the build window added loop/unloop functionality in the condition window fixed a watch restart issue on a bitmap font enabled native viewer when switching from always on mode to normal mode added a 12h/24h condition tab changed a gwd file scheme to increase functionality therefore, a new project can't be loaded in v1 4 1 or previous version added gear sport model support added play/pause functionality in the run window galaxy watch designer 1 4 1_beta fixed bugs and compatibility issues in 1 4 0 version fixed a hand component loading failure when sweep property is applied in the previous version fixed a project loading failure when a project is generated with a previous version of 1 2 0 fixed a locked image loading failure which was locked with a previous version fixed a hang or terminate issue when running preview of the watch face added a warning for the not supported ttf font which is a 'symbol' type encoding 'unicode bmp' type encoding is supported only added fahrenheit, kelvin unit types to the ‘current temperature’ source galaxy watch designer 1 4 0_beta fixed a watch face display failure when an icu format string "h", "e", "e", or "ee" are used in gear s fixed a watch face bitmap font display failure when 'others' or 'custom' category items are used in gear s fixed a gear s wgt install failure when project name includes ' ' or ' ' fixed a gyro effect issue that happens when a timeline condition is added to a component added a weather support openweathermap apis are used fixed an icon resolution issue on a mac dock bar fixed a 15 frame animation sync issue 'jump hour/minute' property is added to hour/minute hand 'frequency' property is added to a sweep effect of second hand added a preference setting galaxy watch designer 1 3 2_beta fixed ' ttf' custom font import failure issue fixed gwd project file corruption issue when deleting files in the resource window fixed samsung account login failure when additional agreement is required for that account fixed gyro effect to become more smoother in the device fixed broken help link for gyro effect property added 4k monitor support windows pc only fixed deleting 'font' folder issue during version upgrade fixed sluggish animation in the device after updating firmware to 2 3 2 3 version fixed button action setting failure issue when custom app id is used galaxy watch designer 1 3 1_beta fixed component id renaming issue during always-on mode auto migration fixed install failure issue during 61% added appearance property in high color always-on mode fixed digitalclock dst issue in the preview window fixed 'package_not_found' issue during install fixed bitmap font display location issue that is not same with preview fixed to select layer window entry even if component is locked new project dialog concept has changed removed redundant resources in the project file fixed certificate creation failure issue when samsung account id is a phone-number added bluetooth connection to the device via android device fixed 'step %' condition issue that component is not displayed in the device added 'floors' app support for gear s3 open app button action added iap support added custom color functionality on the color picker window added gyro property support fixed battery drain issue when use 'alarm' app as button gear s3 only galaxy watch designer 1 3 0_beta added project custom location support added calendar & timezone property support on digitalclock component added snap, grid, ruler support in the editor window added gwd file clean up when close the project added experimental support for bluetooth direct connection support to the device if pc supports bluetooth windows os pc only added experimental support for importing photoshop file format psd the following features are not yet supported group, 2 show/hide status added complications support in the always-on mode fixed digitalclock issue that height become 9999 added drag & drop support to the editor window added new splash added mouse wheel scroll support in the editor window added group/ungroup support added gwd file encryption option added always-on mode analyze support in the run window galaxy watch designer 1 2 1_beta fixed adjust color property issue when happens turn on always on mode fixed image component angle issue that look is not same with preview if it is rotated fixed 'day of year' source issue that value is not correct in the preview fixed custom app id update issue in the open app action property fixed gear s issue that image component disappear when battery % becomes 100 fixed text component issue that location is not same with preview if it is rotated fixed 'minutes in hours' select fail issue that happens in the high color always on mode added low-bit color always-on mode analog watch automatically if high color always-on mode is turned on only galaxy watch designer 1 2 0_beta added gear s3 model support added 'schedule', 's-health today' and 'floor' to openapp button action gear fit2 only fixed tpk build fail when project includes text/digitalclock components only fixed tpk build fail when resource file name includes specific character like 'e acute' 'adjust color' property concept was changed similar to photoshop 'hue/saturation adjustment' fixed gear s issue that battery condition doesn't works for the image component opr onpixelratio limit in the always-on mode has changed from 20% to 15% added overwrite option to the file conflict warning popup added shortcuts - show pivot ctrl + p , send backward ctrl + '[' , bring forward ctrl + ']' , send to back ctrl + shift + '[' , bring to front ctrl + shift + ']' , align center ctrl + e , component copy alt + drag , multi select shift + click increased 'change image button action max count' from 6 to 12 gwd file schema was changed to increase functionality therefore, v1 1 1 or previous version can't load it fixed gear s issue that 'm', 'mm' icu format, and 'day of week' source shows 1 small value than normal in the device added 'day of year' source fixed to do not display decimal point for the 'steps %', 'speed', 'distance', 'calories' sources high color always-on mode supported gear s3 only galaxy watch designer 1 1 1_beta added experimental support for gear s model the following features are not yet supported on gear s launch after install, 2 always on mode, 3 button action, 4 hands tension, 5 steps % source, 6 adjust color hsb filter , and 7 text attribute bold, italic, strike-through fixed 'moonphase type' and 'moonphase position' display issue in the run window support for multi language text when selected font is 'sync to device' fixed 'copy device id to clipboard' issue fixed am/pm issue in the 'digital_neon' sample fixed loading v1 0 3 index components failed issue support for use of '-', '_' and shift key in the property name edit box display more detail on installation progress galaxy watch designer 1 1 0_beta gwd file format was changed to increase functionality therefore, v1 0 3 can't load it added gear fit2 model support changes in the editing window is automatically reflected in the run window 'frame' scale was removed in the timeline window whenever tool crashes, last project status will be restored in the next launch author certificate password will be required during build pivot concept was changed so that only supported by hands and index component display more readable device name on the runondevice dialog 'lock' and 'visible' status are shown when loading the project support for multiple devices distributor certificate added battery charging source added background component will be placed in backward automatically ctrl + and ctrl - key works for the editor zoom added kilo x1000 unit support for 'burned calorie' and 'moved distance' sources fixed icon file issue on macbook pro retina galaxy watch designer 1 0 3_beta added moonphase position and moonphase type source fixed runondevice installation failed issue when project name includes space character sdb update 2 2 72 —> 2 2 78 fixed runondevice installation stop issue on mac sync text component font fallback policy with the device change 'temp' font folder location; only those with admin rights can write to that folder fixed 'merged_' prefix issue on index component image file added 'disconnect' and 'copy device id to clipboard' shortcut in the runondevice dialog in the runondevice dialog, device that doesn't have a distributor certificate will be prompted with a warning replaced text box with combo box in the distributor certificate dialog, supports multiple devices increase device scan timeout from 10 to 12 seconds updated help —> tutorial menu link added 's-voice' in the button action galaxy watch designer 1 0 2_beta fixed crash that happens during change rotate/movement property updated sdb executable to fix connection issues on mac 2 2 67 —> 2 2 72 updated sdblib to fix installation issues on mac new version works for double quoted string parameter fixed ‘from_air’/’hippity_hop’/’climb1’ sample timeline condition fixed crash that happens while handling custom font fixed crash that happens during change button image action fixed crash that happens during copy/paste image after undo fixed crash that happens when ‘outline with label’ is turned on in some conditions fixed crash that happens during modify pivot removed not supported app list running, s-voice in the button app launch action fixed image disappearing issue while style copy fixed crash that happens when a non-numeric value is entered to start/end rotate property fixed crash that happens when a device is selected in the runondevice window without generating distributor certificate for that device fixed random crash that happens because of ‘no more handle’ exception fixed focus issue on edit —> image submenu fixed step% condition issue where the image/text is not showing on the device when the value exceeds 100 fixed text component rotate angle load fail issue when text has source add warning popup & texts for the author certificate overwrite case change icon file name policy to fix gear manager thumbnail issue icon png —> [project_name] png galaxy watch designer 1 0 1_beta fixed timeline condition issue where the last condition item close to 24 hour is not showing on the device fixed timeline condition issue that saves a wrong value for the condition item that has a resolution time under a minute added scan device progress ux in runondevice added ‘connect by ip address’ ux in runondevice added help —> community, help —> tutorial menu fixed on pixel movement issue when hand component become 180 degrees fixed launch fail issue that happens when a non-image file exists under the ‘res’ folder fixed launch fail issue that happens when the default font failed to load fixed crash that happens after adding swap image button action removed font popup during installation changed certificate relay server port number 8443 —> 443 to remove proxy setting updated index component preset that shows yellow color fixed crash that happens when loading specific complication more than two times fixed style copy issue when the button action is copied together galaxy watch designer 1 0 1_beta initial version
Distribute Galaxy Store
doccontent publish api reference this page lists the parameters, country codes, and language codes used with the view seller’s app details contentinfo response and modify app data contentupdate request in the content publish api [ { "contentid" "000007654321", "apptitle" "the best app ever!", "icon" "https //img samsungapps com/content/d33aazz11a/2021/0214/iconimage_20210214000000000 png", "iconkey" null, "contentstatus" "registering", "defaultlanguagecode" "eng", "applicationtype" "android", "longdescription" "the app that solves all your problems ", "shortdescription" "", "newfeature" "", "agelimit" "0", "chinaagelimit" "0", "opensourceurl" "", "privatepolicyurlyn" "n", "privatepolicyurl" "", "youtubeurl" "", "copyrightholder" "", "supportemail" "support@mycompany com", "supportedsiteurl" "", "binarylist" [ { "filename" "app_filename apk", "versioncode" "3", "versionname" "3", "packagename" "my package name", "nativeplatforms" null, "apiminsdkversion" "26", "apimaxsdkversion" null, "iapsdk" "n", "gms" "y", "filekey" null } ], "standardprice" "0", "paid" "n", "autoaddcountry" false, "publicationtype" "01", "startpublicationdate" null, "stoppublicationdate" "2023-01-02", "usexportlaws" true, "reviewcomment" null, "reviewfilename" null, "reviewfilekey" null, "edgescreen" null, "edgescreenkey" null, "edgescreenplus" null, "edgescreenpluskey" null, "notifyresult" [], "sellcountrylist" [ {"countrycode" "aut", "price" "0"}, {"countrycode" "deu", "price" "0"}, {"countrycode" "esp", "price" "0"}, {"countrycode" "fra", "price" "0"}, {"countrycode" "ita", "price" "0"}, {"countrycode" "jpn", "price" "0"}, {"countrycode" "kor", "price" "0"}, {"countrycode" "nld", "price" "0"}, {"countrycode" "tur", "price" "0"} ], "supportedlanguages" ["deu", "eng", "fra", "ita", "jpn", "kor"], "addlanguage" [ { "languagecode" "deu", "newfeature" "", "description" "the app that solves all your problems ", "apptitle" "the best app ever!", "screenshots" [ { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_202102230000000002 png", "screenshotkey" "screenimage_202102230000000002_filekey", "reuseyn" false }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_2021022300000000 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_20210223000000009 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_202102230000000001 jpeg", "screenshotkey" null, "reuseyn" true } ] } ], "screenshots" [ { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000000 png", "screenshotkey" "screenimage_20210218000000000_filekey", "reuseyn" false }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000001 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000002 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000003 png", "screenshotkey" null, "reuseyn" true } ], "category" [ { "name" "others", "type" "one_depth_category" }, { "name" "music", "type" "general_category" } ], "heroimage" "https //img samsungapps com/content/d33aazz11a/2021/0219/eng/coverimage_20210219000000007 png", "heroimagekey" null } ] general parameters name type description addlanguage addlanguage[] add local languages in which you want to provide application information dismiss when null is entered neither add nor delete content , remove all when an empty distribution is entered see addlanguage parameters agelimit int the samsung age rating of the app see age category under age rating for more information valid values 0, 4, 12, 16, 18 chinaagelimit string age restriction for china required value if any of the code values in the defaultlanguagecode or addlanguage list are in chinese valid values 0, 3, 8, 12, 16, 18 apptitle string the name of the app that is displayed in your galaxy store listing maximum 100 bytes the app title can be unique or the same as any other app title registered in seller portal or distributed in galaxy store per the app id policy, if you register an app title with an app id that are the same title and id of a previously registered app, then you cannot choose the distribution devices and countries as the previously registered app autoaddcountry boolean automatically distribute the app to a new country or group when it initially becomes available y distribute your app to a new country or group n do not distribute your app to a new country or group binarylist binaryinfo[] in a response, a list of binaries not supported in a request see binarylist parameters to edit the binary list, use add new binary, modify binary, or delete binary after contentpublish has been called and the app is in the registering state category category[] one or more app store groups that best describe the app see category parameters cannot be modified contentid string required in a request the unique 12-digit identifier of the app copyrightholder string for apps that have copyrighted content, the name of the copyright holder of the app maximum 100 bytes if a company is the holder, enter the company name if an individual is the holder, enter the individual's name when specified, the copyright holder's name is displayed in the galaxy store listing instead of the seller's name when not specified, the seller's name is displayed as the copyright holder defaultlanguagecode string required in a request the language in which you provide application information see language codes for addlanguage and defaultlanguagecode for a list of supported languages note if the app is published in more than one country, in order to pass app review, this must be set to "eng" edgescreen image file name of the image file app icon or logo file that must be a png file, 160x2560 pixels, and up to 1024 kb edgescreenkey string the filekey associated with the uploaded file in a request, you must create a session id and then upload the file to obtain the filekey edgescreenplus image file name of the image file app icon or logo file that must be a png file, 550x2560 pixels, and up to 1024 kb edgescreenpluskey string the filekey associated with the uploaded file in a request, you must create a session id and then upload the file to obtain the filekey heroimage image file name of the image file in some countries, the image file displayed at the top of the app detail page jpg or png file, 1200x675 pixels, and up to 1024 kb you can use this field if you select a category name of games heroimagekey string the filekey associated with the uploaded file in a request, you must create a session id and then upload the file to obtain the filekey icon image file name of the image file app icon or logo file for an android app, it must be a png file, 512x512 pixels, and up to 1024 kb iconkey string the filekey associated with the uploaded file in a request, you must create a session id and then upload the file to obtain the filekey longdescription string explanation of the app including a description, features, requirements, and supported languages that is displayed in your galaxy store listing maximum 4000 bytes if the app has two or more distribution countries, the description must be in english for non-english apps, the description must contain a warning stating that the full features of the application may not be available on devices that do not support the app's languages for link-follower galaxy watch apps, the description must inform users that the linked app must be installed miitdata miitdata{} miit app registration number, company name and business number, and province from which the app registration number was issued see miitdata and miitdatalang parameters newfeature string explanation of the changes made to an updated app maximum 4000 bytes use this field if the app is being updated notifyresult string[] email address es that are notified when the status of the app registration changes maximum 20 email addresses opensourceurl string for apps that use or include open source software, the url of the open source license maximum 200 bytes paid boolean required in a request whether or not app download requires a user payment y users must pay to download the app n the app is free, users can download it without payment privatepolicyurlyn boolean required in a request whether or not a privacy policy url exists y a privacy policy url exists n there is no privacy policy url privatepolicyurl string for apps that have a privacy policy that require a separate notification, the url of the app privacy policy maximum 200 bytes if a privacy policy is not specified, the category may be changed during certification required if the kids category is selected optional for all other app categories publicationtype string required in a request when the app is published 01 publish automatically publishes the app after the pre-review phase has completed 02 publish on date when the app has passed the pre-review phase, the app sale starts automatically on the date specified by startpublicationdate 03 publish manually the seller must publish the app after all phases of the review process have successfully completed reviewcomment string information to help with the evaluation of the app to determine whether or not the app is to be distributed maximum 4000 bytes reviewfilekey string the filekey associated with the uploaded file in a request, you must create a session id and then upload the file to obtain the filekey screenshots screenshot[] dismiss when null is entered neither add nor delete content see screenshots parameters sellcountrylist sellcountry[] countries and groups of countries to which the app is to be distributed dismiss when null is entered neither add nor delete content see sellcountrylist parameters shortdescription string a single sentence that is a brief explanation of the app it appears under the app title in the app list and search results in galaxy store maximum 40 bytes standardprice string standard price in usd united states of america dollars that determines the default country-specific price for all distribution countries startpublicationdate string enter as yyyy-mm-dd hh mm ss when distribution of the app in galaxy store begins when publicationtype is set to 02 stoppublicationdate string enter as yyyy-mm-dd when distribution of the app in galaxy store stops supportedlanguages string[] one or more languages that the app presents graphically or audibly in its ux, instructions, or other ways communicating to users see language codes for supportedlanguages for a list of supported languages supportemail string email address of the person to whom app end-users can send inquiries maximum 100 bytes supportedsiteurl string url of the available end-user support site for the app maximum 200 bytes usexportlaws boolean whether or not you certify that the app is in compliance with all applicable u s export laws for export to other countries y you certify your app is in compliance n you do not certify your app if your app is not in compliance, it cannot be submitted for validation and distribution youtubeurl string youtube url including the youtube video id the initial screenshot and hyperlink of the video is automatically displayed in the first screenshot location of the galaxy store listing example http //www youtube com/watch?v={videoid} addlanguage parameters "addlanguage" [ { "languagecode" "deu", "newfeature" "", "description" "the app that solves all your problems ", "apptitle" "the best app ever!", "screenshots" [ { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_202102230000000002 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_2021022300000000 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_20210223000000009 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_202102230000000001 jpeg", "screenshotkey" null, "reuseyn" true } ] } ] name type description languagecode string required if you are updating addlanguage add a language in which you want to provide application information see language codes for addlanguage and defaultlanguagecode for a list of supported languages newfeature string explanation of the changes made to an updated app maximum 4000 bytes description string required if you are updating addlanguage explanation of the app including a description, features, requirements, and supported languages that is displayed in your galaxy store listing maximum 4000 bytes for non-english apps, the description must contain a warning stating that the full features of the application may not be available on devices that do not support the app's languages for link-follower galaxy watch apps, the description must inform users that the linked app must be installed apptitle string required if you are updating addlanguage the name of the app in the selected language that is displayed in your listing of a galaxy store that supports the language screenshots screenshot[] dismiss when null is entered see screenshots parameters miitdatalang miitdatalang{} miit app registration number, company name and business number, and province from which the app registration number was issued see miitdata and miitdatalang parameters to remove all content from this parameter, leave it blank in the request for example, "addlanguage" [] to keep the existing content for this parameter neither add nor delete content , set it to null for example, "addlanguage" "null" binarylist parameters cautionthe binarylist parameters have been deprecated since march 2025 the contentinfo response may continue to contain these parameters and contentupdate may continue to accept requests with these parameters however, if you attempt to edit the binary list using binarylist, unexpected errors may occur starting in july 2026, contentupdate will no longer accept requests with the binarylist parameters if you attempt to edit the binary list using binarylist, your request will fail instead, to edit the binary list, use add new binary, modify binary, or delete binary after contentpublish has been called and the app is in the registering state "binarylist" [ { "filename" "app_filename apk", "binaryseq" "1", "versioncode" "3", "versionname" "3", "packagename" "my package name", "nativeplatforms" null, "apiminsdkversion" "26", "apimaxsdkversion" null, "iapsdk" "n", "gms" "y", "filekey" null } ] name type description apimaxsdkversion int the maximum api level or os version supported by the binary file apiminsdkversion int the minimum api level or os version supported by the binary file binaryseq int required when changing existing binary data copy the value from the contentinfo response this value is not visible in seller portal filekey string required for new registration or replacement of a binary file the filekey associated with the uploaded file in a request, you must create a session id and then upload the file to obtain the filekey filename string name of the binary file gms boolean required if you are updating binarylist whether or not the app provides the user with any google™ services such as google maps™, gmail™, and talk y the app provides one or more google services n the app does not provide any google services the distribution of an app that provides the user with any google services is prohibited in some countries such as china and is automatically enforced by seller portal when registering a new version of a binary file, this setting can be changed, if needed iapsdk boolean whether or not the app provides in-app purchase items using samsung in-app purchase iap sdk y the app uses samsung iap n the app does not use samsung iap nativeplatforms string supported architecture information valid values null, 32bit, 32/64bit, or 64bit packagename string the app id maximum 1,000 bytes versioncode string integer value that represents the version of the app code in the binary file relative to other versions versionname string the release version of the app code in the binary file that is displayed in galaxy store category parameters "category" [ { "name" "others", "type" "one_depth_category" }, { "name" "music", "type" "general_category" } ] name type description name string one or more app store groups that best describe the app available categories and sub-categories depend on the platform, binary files, permissions, and other factors unless governed by distribution country requirements, the app is listed in galaxy store under one or both categories and sub-categories if the category selected is not suitable for the application, it may be changed automatically select from one of the following kids, games, travel, social, music, decoration, office, photo, book, lifestyle, tool, video, system, finance, shopping, education, or traffic health type string required if a name is specified that has a subcategory see next table one or more app store sub-groups that best describe the app category name sub-category type kids valid values play, learning, story games valid values puzzle, online game, action/adventure, shooting, racing, strategy, board, role playing, arcade, card, casino, casual, music, simulation, sports, trivia, wordby selecting a specific game sub-category arcade, card, casino, casual, music, simulation, sports, trivia, word , you are not allowed to select china for the country of sale miitdata and miitdatalang parameters "miitdata" { "miitnum" "陕icp备202503328号-1a", "miitcmpnynm" "company", "miitbiznum" "99630104mmm128x82x", "miitlocation" "安徽省 anhui" } "miitdatalang" { "miitnum" "陕icp备202503328号-1a", "miitcmpnynm" "company", "miitbiznum" "99630104mmm128x82x", "miitlocation" "安徽省 anhui" } name type description miitnum string miit app registration number miitcmpnynm string name of the company that registered the app with miit miitbiznum string the business number of the company that registered the app with miit miitlocation location the province from which the app registration number was issued noteall fields must match the information registered with miit in china screenshots parameters "screenshots" [ { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_202102230000000002 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_2021022300000000 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_20210223000000009 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0223/deu/screenimage_202102230000000001 jpeg", "screenshotkey" null, "reuseyn" true } ] name type description screenshotpath image file image file of app screenshot to be displayed in your galaxy store listing jpg or png file, 320-3840 pixels with a maximum 2 1 aspect ratio you must register 4-8 screenshots if more than eight screenshots are uploaded, only the first eight images are displayed if you register a link to a youtube video, a screenshot of the video and the link is displayed automatically in the first screenshot location of the galaxy store listing screenshotkey string set to null if you are re-using the same screenshot if you want to replace the screenshot, set this to the image filekey create a session id and then upload the file to obtain the filekey and set the reuseyn parameter to false reuseyn boolean required if you are updating screenshots whether you want to continue using the existing screenshot true re-use the screenshot false replace the screenshot enter the filekey to the image using the screenshotkey parameter to keep the existing content for this parameter neither add nor delete content , set it to null for example, "screenshots" "null" if you want to remove one or more screenshots, remove it from the request parameters for example, if these are the screenshots parameters in the contentinfo response "screenshots" [ { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000000 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000001 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000002 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000003 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000004 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000005 png", "screenshotkey" null, "reuseyn" true } ] to remove the last two screenshots, change the screenshots parameters to this in the request "screenshots" [ { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000000 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000001 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000002 png", "screenshotkey" null, "reuseyn" true }, { "screenshotpath" "https //img samsungapps com/content/d33aazz11a/2021/0218/eng/screenimage_20210218000000003 png", "screenshotkey" null, "reuseyn" true } ] sellcountrylist parameters "sellcountrylist" [ {"countrycode" "aut", "price" "0"}, {"countrycode" "deu", "price" "0"}, {"countrycode" "esp", "price" "0"} ] name type description countrycode string required if you are updating sellcountrylist countries and groups of countries to which the app is to be distributed see country codes for sellcountrylist for the list of country codes price double country-specific price in the local currency the price must fall within the minimum and maximum allowable price for the country, if applicable prices may vary by country if the price is below the minimum allowable price for a country, it is changed to the minimum payment amount if the price is above the maximum allowable price for a country, it is changed to the maximum payment amount if the price is null or is not set, the standard price is applied if this is a paid app, the price cannot be set to 0 zero if this is a paid app and the price is set to 0, an error is returned see entering information on country/region and price for more details to keep the existing content for this parameter neither add nor delete content , set it to null for example, "sellcountrylist" "null" country codes for sellcountrylist sorted by region, then alphabetically by country name europe "aut" "austria", "bel" "belgium", "bgr" "bulgaria", "hrv" "croatia", "cze" "czech", "dnk" "denmark", "est" "estonia", "fin" "finland", "fra" "france", "deu" "germany", "grc" "greece", "hun" "hungary", "irl" "ireland", "ita" "italy", "lva" "latvia", "ltu" "lithuania", "lux" "luxembourg", "nld" "netherlands", "nor" "norway", "pol" "poland", "prt" "portugal", "rou" "romania", "srb" "serbia", "svk" "slovakia", "esp" "spain", "swe" "sweden", "che" "switzerland", "tur" "turkey", "gbr" "united kingdom" cis "blr" "belarus", "kaz" "kazakhstan", "rus" "russia", "ukr" "ukraine" asia "aus" "australia", "chn" "chinese", "hkg" "chinese hong kong", "twn" "chinese taiwan", "ind" "india", "idn" "indonesia", "jpn" "japan", "kor" "korea", "mys" "malaysia", "nzl" "new zealand", "phl" "philippines", "sgp" "singapore", "tha" "thailand", "vnm" "vietnam" america "arg" "argentina", "bra" "brazil", "can" "canada", "chl" "chile", "col" "colombia", "mex" "mexico", "per" "peru", "usa" "usa" middle east and africa "dza" "algeria", "bhr" "bahrain", "egy" "egypt", "irn" "iran", "irq" "iraq", "isr" "israel", "jor" "jordan", "kwt" "kuwait", "lbn" "lebanon", // only free applications are available "lby" "libya", "mar" "morocco", "omn" "oman", "qat" "qatar", "sau" "saudi arabia", "zaf" "south africa", "tun" "tunisia", "are" "united arab emirates", "yem" "yemen" groups "glb" "global a", "glf" "global a free", // only free applications are available "isu" "global free", // only free applications are available "gpb" "pan latin free", // only free applications are available "gpf" "pan-africa english ", // only free applications are available "gpa" "pan-africa french ", // only free applications are available "gpl" "pan-latin" "bts" "beta test store" // only free applications are available language codes for addlanguage and defaultlanguagecode sorted alphabetically by language "ara" "arabic", "bul" "bulgarian", "zho" "chinese simplified", "002" "chinese traditional", "hrv" "croatian", "ces" "czech", "dan" "danish", "nld" "dutch", "eng" "english", "est" "estonian", "fin" "finnish", "fra" "french", "gla" "gaelic", "deu" "german", "ell" "greek", "heb" "hebrew", "hun" "hungarian", "ind" "indonesian", "ita" "italian", "jpn" "japanese", "kaz" "kazakh", "kor" "korean", "lav" "latvian", "lit" "lithuanian", "nor" "norwegian", "fas" "persian", "pol" "polish", "por" "portuguese", "ron" "romanian", "rus" "russian", "srp" "serbian", "slk" "slovakian", "spa" "spanish", "swe" "swedish", "tha" "thai", "tur" "turkish", "ukr" "ukrainian", "vie" "vietnamese" language codes for supportedlanguages sorted alphabetically by language "ara" "arabic", "hye" "armenian", "asn" "assamese", "aze" "azerbaijani", "eus" "basque", "ben" "bengali", "bul" "bulgarian", "cat" "catalan", "zho" "chinese simplified", "002" "chinese traditional", "hrv" "croatian", "ces" "czech", "dan" "danish", "nld" "dutch", "eng" "english", "est" "estonian", "fas" "farsi", "fin" "finnish", "fra" "french", "glg" "galician", "kat" "georgian", "deu" "german", "ell" "greek", "guj" "gujarati", "hau" "hausa", "heb" "hebrew", "hin" "hindi", "hun" "hungarian", "isl" "icelandic", "ibo" "igbo", "ind" "indonesian", "gle" "irish", "ita" "italian", "jpn" "japanese", "kan" "kannada", "kaz" "kazakh", "khm" "khmer", "kor" "korean", "lao" "lao", "lav" "latvian", "lit" "lithuanian", "mkd" "macedonian", "msa" "malay", "mal" "malayalam", "mar" "marathi", "mon" "mongolian", "bur" "myanmar", "nep" "nepali", "nor" "norwegian", "ori" "oriya", "pol" "polish", "por" "portuguese", "pan" "punjabi", "ron" "romanian", "rus" "russian", "srp" "serbian", "sin" "sinhala", "slk" "slovakian", "slv" "slovenian", "spa" "spanish", "lat" "spanish_latin", "swe" "swedish", "tam" "tamil", "tel" "telugu", "tha" "thai", "tur" "turkish", "ukr" "ukrainian", "urd" "urdu", "uzb" "uzbek", "vie" "vietnamese", "yor" "yoruba"
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
You have successfully updated your cookie preferences.