Partner Apps is an exclusive feature of Samsung Health that allows users to discover engaging health and fitness apps. To enable data exchange between your app and Samsung Health, please apply for Partner Apps. An approved app is added to Samsung Health > Partner Apps.
Apply for Partner AppsIf you want to provide a seamless service, you can apply for partner apps first before your app publication.
The developer is responsible for making sure that the application is seamlessly integrated with Samsung Health and is free of bugs.
Samsung Health SDK helps application developers and healthcare providers thrive in an open environment that connects devices and partner services. Samsung Health’s partners get benefits that they can supply various health service experiences to their users through Samsung Health SDK.
Samsung Health is an engaging app for fitness and wellbeing that runs on Android devices not only on Samsung devices. It keeps track of the users' health data and builds up the user’s health habits. Samsung Health and its partners can share the user’s data with Samsung Health SDK. The SDK provides secure health data access with applicable data types. It allows health data sharing after the user's explicit consent. The user can select detailed data sharing settings including which partner will access the user’s data, and which data will be read or written. Inserted data from the Samsung Health’s partner is shown in Samsung Health’s main screen.
If you want to find out more about Samsung Health app, please visit Samsung Health Website. For general enquiries and suggestions for Samsung Health, please email to appcs.sec@samsung.com. Note that dev.shealth@samsung.com is a contact for Samsung Health’s partners to use Samsung Health SDK.
Samsung Health SDK is composed of Health Data and Health Service.
Health Data has the following features:
Samsung Health SDK keeps users' health data secured. The health data store handles the service connection. It helps to read Samsung Health’s data or write the partner’s health data to Samsung Health.
It provides useful predefined types and custom data types. Each data type is designed to contain a given health data’s information fully with the data’s characteristics. It is used to access the health data store’s data.
The user’s health data are sensitive information. Handling data with the SDK is only available with the user’s consent. Health Data provides a unified user interface to make the users control the data sharing settings easily for each data type.
Health Service has the following features:
The tracker manager helps to launch a specific Samsung Health’s tracker like "Steps" or "Food". The app can select its wanted tracker that Samsung Health supports. The launched tracker can be used to check the latest health data or save a new data though Samsung Health. It is a very helpful feature to add new data conveniently in a case that an app wants to implement a data insertion feature separately. Recorded data through the Samsung Health’s tracker are saved in Samsung Health.
The tracker tile manager enables an app to define and post its tracker tile on Samsung Health. The app’s tracker tile can be visualized with the app icon, relevant health data, and a button with an action in three types of the tile form. A posted tracker tile would be displayed on the main screen of Samsung Health. The user can select the app’s tile enabling in Samsung Health > Manage items.
Partner Apps is an exclusive feature of Samsung Health that allows users to discover engaging health and fitness applications. To enable data exchange between your app and Samsung Health, please apply for Partner Apps. An approved partner app is added to Samsung Health > Partner Apps page.
Samsung Health supports various health and fitness accessories, equipment and connectivity protocols including ANT and BLE. You can find connected devices in Samsung Health > Accessories page. If you want to join Partner devices, please let us know.
Samsung Health’s partner apps connect to Samsung Health with Samsung Health SDK. Unified interfaces in partner apps for connection with Samsung Health make users comfortable. Please follow the branding guidelines.
An app’s launching screen, event pop-up, or information space is a good approach to notify of connection with Samsung Health. A partner app needs to make a notification for it with the concrete description.
A partner app should provide a menu with a convenient interface that the user can change the data sync setting with Samsung Health.
Samsung Health’s app name and its icon in a partner app should be used properly as its branding guide.
The SDK runs on devices with Android 4.4 KitKat (API level 19) or above.
The SDK needs Samsung Health installation. The required minimum version of Samsung Health is 4.0 or above.
Samsung Health is available on all Samsung smartphones since Galaxy S3 and also non-Samsung Android smartphones with KitKat or above if the phones follows regular Android codes.
The SDK provides APIs to check whether the device supports the SDK. See FAQfor more information.
Please send any feedback regarding Samsung Health SDK to dev.shealth@samsung.com and email any business-related inquiries to biz.shealth@samsung.com.
The developers can discuss technical questions and share tips when developing applications with Samsung Health SDK in Samsung Developers Forum.
Samsung Health app is a most popular health app and has more than 50 million of monthly active users. It works not only on Samsung smartphones but also non-Samsung phones if the device supports Android KitKat or above. It consist a big ecosystem including various health apps and connected devices.
Samsung Health SDK enables your app to manage the user’s health data with the unified interface by connecting to Samsung Health app. You can have more enhanced chances with a partnership of Samsung Health.
Even though Samsung Health is installed in Android smartphones with KitKat or above including Samsung and non-Samsung smartphones, some phones cannot support Samsung Health. Its check code needs to be added to prevent a relevant situation.
The Health Data 1.1.0 or above has a solution to check for it through HealthConnectionErrorResult.hasResolution(). If the app meets both following error cases, it includes the meaning that the device is not available for Samsung Health.
• HealthDataStore.connectService() gives a failure event.
• HealthConnectionErrorResult.hasResolution() returns false.
See an example for failure exception handling.
All data type interfaces extend the HealthConstants.Common interface basically. Some data types extend HealthConstants.DiscreteMeasurement and others extend HealthConstants.SessionMeasurement depending on whether the end measured time exists.
For example, HealthConstants.Sleep extends:
HealthConstants.CommonHealthConstants.SessionMeasurementYou can set HealthConstants.Sleep’s following properties including its own ones.
HealthConstants.Common.DEVICE_UUIDHealthConstants.SessionMeasurement.START_TIMEHealthConstants.SessionMeasurement.END_TIMESee the "Properties" description of each data type interface in API Reference for more information.
Sleep data can be set as the example shown below.
public class HealthDataExample {
// The state of connection
private HealthDataStore mStore;
private void insertSleepData(long start, long end, long offset) {
HealthDevice myDevice = new HealthDeviceManager(mStore).getLocalDevice();
HealthData data = new HealthData();
data.setSourceDevice(myDevice.getUuid());
// Fills all mandatory properties out
data.putLong(HealthConstants.Sleep.START_TIME, start);
data.putFloat(HealthConstants.Sleep.END_TIME, end);
data.putLong(HealthConstants.Sleep.TIME_OFFSET, offset);
HealthDataResolver resolver = new HealthDataResolver(mStore, null);
HealthDataResolver.InsertRequest insRequest = new HealthDataResolver.InsertRequest.Builder()
.setDataType(HealthConstants.Sleep.HEALTH_DATA_TYPE)
.build();
// Do something
}
}
You can get each source device’s step count data through HealthConstants.StepCount. But handling all use cases for the phone device and linked multi-accessory is not easy with it because the phone device and accessory can provides step count data at the same time or not depending on how many devices are carried by the user.
HealthConstants.StepCountis useful to get the user’s real-time step count in the phone that Samsung Health is installed.
Samsung Health provides a custom data type for the user’s daily step count summary data with:
A summarized step count data is created at about 00:00:00 UTC every day with step_daily_trend and updated every minute until the next day comes.
"source_type" of "com.samsung.shealth.step_daily_trend" " is a very useful property to get the user’s valid step count easily under the multi-accessory environment. It indicates the kind of data sources like the wearable device, the activity tracker, or all. It’s different with the data’s source device from HealthConstant.Common.DEVICE_UUID..
See its available values in API Reference. The most used value is -2. It gets the user’s valid step count without duplicated steps in multi-devices including partner apps, local device, wearable accessories, and activity trackers. You can query it as the following example.
// The state of connection
private HealthDataStore mStore;
public void readDailyStepCountData() {
// Suppose that the required permission has been acquired already
// Create a filter for all source types
Filter filter = Filter.eq("source_type", -2);
ReadRequest request = new ReadRequest.Builder()
// Set the StepCount data type to aggregate data
.setDataType("com.samsung.shealth.step_daily_trend")
// Set the source type with a filter
.setFilter(filter)
// Set the sort order
.setSort("day_time", HealthDataResolver.SortOrder.DESC)
// Build
.build();
HealthDataResolver resolver = new HealthDataResolver(mStore, null);
try {
resolver.read(request).setResultListener(mStepCountListener);
} catch (Exception e) {
Log.e(MainActivity.APP_TAG, e.getClass().getName() + " - " + e.getMessage());
}
}
private final HealthResultHolder.ResultListener<ReadResult> mStepCountListener =
new HealthResultHolder.ResultListener<ReadResult>() {
@Override
public void onResult(ReadResult result) {
Cursor c = null;
try {
c = result.getResultCursor();
if (c != null) {
while(c.moveToNext()) {
long dayTime = c.getLong(c.getColumnIndex("day_time"));
int stepCount = c.getInt(c.getColumnIndex("count"));
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Log.d(APP_TAG, dateFormat.format(dayTime));
Log.d(APP_TAG, "Step Count: " + stepCount);
}
} else {
Log.d(APP_TAG, "The cursor is null.");
}
}
catch(Exception e) {
Log.e(APP_TAG, e.getClass().getName() + " - " + e.getMessage());
}
finally {
if (c != null) {
c.close();
}
}
}
};
If new data is inserted to the health data store, CREATED_TIME, UPDATED_TIME of HealthConstants.Common are assigned by the system automatically. So you don’t need to set them separately. Data’s START_TIME or END_TIME indicates its UTC measurement time in milliseconds. Be careful not to set START_TIME or END_TIME as the device’s current local time.
TIME_OFFSET is indicated by the time zone and daylight saving time in milliseconds and it helps in showing the health data’s measured time properly in the device. The following example shows getting the current device’s TIME_OFFSET.
import java.util.TimeZone;
public class HeathDataExample {
long getTimeOffset(long intakeTime) {
return TimeZone.getDefault().getOffset(intakeTime);
}
}
TIME_OFFSET includes time zone and daylight saving time.
Let’s think about a business trip. This example is the time zone difference but it can be applied to the daylight saving time also. The daylight saving time can be matched with the time difference as one hour.
["Real walking" in the figure]
It shows the user scenario as following user’s action. The navy-blue colored data are the user’s measured health data in Seoul. The sky-blue colored data indicates the measured data in San Francisco (SF). There is time difference between the navy-blue and sky-blue. Each data is saved with the measured UTC time and TIME_OFFSET.
["Query result" in the figure]
The data in Samsung Health are saved as the "Query result" figure

If your query uses AggregateRequest, please refer to the following example.
• This example shows hourly step count on a day.
• 'startOfTheday' param of readStepCountBinning() indicates the wanted day’s UTC 00:00.
• TIME_OFFSET is set with setTimeGroup().
• The filter for time is set as considering the day’s available all time period.
• The specific day’s minimum time caused by the time difference is "UTC 00:00 – 12 hours".
• The specific day’s maximum time caused by the time difference is "UTC 24:00 + 14 hours".
private void readStepCountBinning(final long startOfTheDay, String deviceUuid) {
// For gathering data from UTC 00:00-12h ~ UTC 24:00+14h
Filter filter = Filter.and(Filter.greaterThanEquals(StepCount.START_TIME, startOfTheDay - 12 * ONE_HOUR),
Filter.lessThan(StepCount.START_TIME, startOfTheDay + 38 * ONE_HOUR),
Filter.eq(StepCount.DEVICE_UUID, deviceUuid));
// Get one hour binning data of the particular day and device
AggregateRequest request = new AggregateRequest.Builder()
.setDataType(StepCount.HEALTH_DATA_TYPE)
.addFunction(AggregateFunction.SUM, StepCount.COUNT, "count")
.setTimeGroup(TimeGroupUnit.HOURLY, 1, StepCount.START_TIME, StepCount.TIME_OFFSET, "binning_time")
.setFilter(filter)
.setSort("binning_time", SortOrder.ASC)
.build();
try {
mResolver.aggregate(request).setResultListener(new HealthResultHolder.ResultListener<AggregateResult>() {
@Override
public void onResult(AggregateResult result) {
List <Integer> binningCountList = new ArrayList<Integer>();
Cursor c = null;
try {
c = result.getResultCursor();
if (c != null) {
while (c.moveToNext()) {
String binningTime = c.getString(c.getColumnIndex("binning_time"));
int binningCount = c.getInt(c.getColumnIndex("count"));
// ... Use these hourly counts
}
}
} finally { /* Close the cursor */ }
// ... Display binningCountList as a chart for the specified day's detail
}
});
} catch (Exception e) { /* Handle exceptions */ }
}
Its result is retrieved as the following table.
Your wanted data are blued painted rows in the table.
Even the white colored rows are not used in the result, the time filter (from -12 hour to +14 hours) setting is required still.
(We’re planning the advanced query considering TIME_OFFSET.)
| binning_time | count |
|---|---|
| "2016-11-13 12" | 523 |
| ... | ... |
| "2016-11-13 23" | 720 |
| "2016-11-14 00" | 256 |
| "2016-11-14 01" | 82 |
| "2016-11-13 12" | 523 |
| ... | ... |
| "2016-11-14 23" | 0 |
| "2016-11-15 13" | 0 |
For ReadRequest query, see the following example.
• The time filter setting is same with AggregateRequest.
• 'startOfTheday' param of readStepCountBinning() indicates the wanted day’s UTC 00:00.
• Only today’s data are used in the result.
private void readStepCountBinning(final long startOfTheDay, String deviceUuid) {
// For reading data from UTC 00:00-12h ~ UTC 24:00+14h
Filter filter = Filter.and(Filter.greaterThanEquals(StepCount.START_TIME, startOfTheDay - 12 * ONE_HOUR),
Filter.lessThan(StepCount.START_TIME, startOfTheDay + 38 * ONE_HOUR),
Filter.eq(StepCount.DEVICE_UUID, deviceUuid));
// Get all records of the particular day and device
ReadRequest request = new ReadRequest.Builder()
.setDataType(StepCount.HEALTH_DATA_TYPE)
.setProperties(new String[] {StepCount.START_TIME, StepCount.TIME_OFFSET, StepCount.COUNT})
.setFilter(filter)
.setSort(StepCount.START_TIME, SortOrder.ASC)
.build();
try {
mResolver.read(request).setResultListener(new HealthResultHolder.ResultListener<ReadResult>() {
@Override
public void onResult(ReadResult result) {
List<Integer> binningCountList = new ArrayList<Integer>();
Cursor c = null;
try {
c = result.getResultCursor();
if (c != null) {
while (c.moveToNext()) {
long localTime = c.getLong(c.getColumnIndex(StepCount.START_TIME));
localTime += c.getLong(c.getColumnIndex(StepCount.TIME_OFFSET));
if (localTime >= startOfTheDay && localTime < startOfTheDay + 24 * ONE_HOUR) {
// ... Use this data point
} // Ignore this data point, otherwise
}
}
} finally { /* Close the cursor */ }
// ... Display binningCountList as a chart for the specified day's detail
}
});
} catch (Exception e) { /* Handle exceptions */ }
}
TrackerTileManager.post() should be called in the implemented TrackerEventListener.onSubscribed() to post your tracker tile.
@Override
public void onSubscribed(Context context, String trackerId) {
// User changed the subscription state of your tracker to subscribe.
// Post your tracker tile here to show it on the Samsung Health's main screen
// by calling TrackerTileManager.post().
// Use TRACKER_TILE_TYPE_1 if there is no data yet.
Looking for Community?
Meet other developers in the forums. Share information through
the Samsung Developer Site, and participate actively in the forums.
READ CAREFULLY BEFORE USING THE SDK: THIS SDK LICENSE AGREEMENT (“AGREEMENT”) IS A LEGAL AGREEMENT BETWEEN YOU(“LICENSEE”) AND SAMSUNG ELECTRONICS CO., LTD.(“SAMSUNG”) AND IS EFFECTIVE UPON YOUR ACCEPTANCE. BY CLICKING ON THE “I AGREE” BUTTON, INSTALLING, COPYING OR OTHERWISE USING THE SDK, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT CLICK ON THE “I AGREE” BUTTON AND DO NOT INSTALL OR USE THE SDK.
The SDK is not intended to enable the design of Applications that (i) are used in any medical, life-saving or life sustaining systems (ii) used for the diagnosis of disease or the cure, mitigation, treatment, or prevention of disease or for any use that is intended to affect bodily structure or function or (iii) to be used as an accessory to a regulated medical device or to transform a computing platform into a regulated medical device.
In this Agreement, the following capitalized terms shall have the meanings below:
"Affiliate" shall mean any corporation or other entity that is controlled by, or is under common control with a party (a corporation or other entity shall be deemed to control another if it owns or controls more than fifty percent (50%) of the voting stock or other ownership interest of the corporation or entity).
"Application" means a software program developed by Licensee for specific use with the SAMSUNG products in compliance with the Documentation and the program requirements and under Licensee’s own trademark and/or brand, including, in respect of such software programs, all bug fixes, enhancements, modifications, new releases, new versions, revisions, supplements, updates and upgrades.
"Authorized Users" means Licensee’s employees or other authorized contractors who have written and binding agreements with Licensee to protect the unauthorized use and disclosure of SAMSUNG’s and other third party Confidential Information (to the extent they will have access to such Confidential Information).
"Confidential Information" has the meaning given in Clause 5.1.
"Documentation" means any technical specifications and other specifications or documentation that SAMSUNG may make available or provide to Licensee relating to or for use in connection with the SDK.
"Open Source Software" means any software or software component, module or package that contains, or is derived in any manner (in whole or in part) from, any software that is distributed as free software, open source software or similar licensing or distribution models, including, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL); (b) the Artistic License (e.g., PERL); (c) the Mozilla Public License; (d) the Netscape Public License; (e) the Sun Community Source License (SCSL); (f) the Sun Industry Standards License (SISL); (g) the BSD License; and (h) the Apache License.
"Published API(s)" means the documented Application Programming Interface(s) contained in the SDK.
"Sample Code” means the software marked as “sample” or delivered in a folder marked “sample” that may be included as a part of the SDK. Sample Code may be in source code or object code format.
"SDK" means Samsung Enterprise SDK, which includes the APIs, applications, Documentation, data, files, libraries, materials, IDE (Integrated Development Environment), Sample Code, software (source code and object code), simulators and tools provided or made available to Licensee by SAMSUNG pursuant to this Agreement for use in connection with the development of Applications, including any Updates that SAMSUNG may provide or make available. For the purpose of clarity, SDK is SAMSUNG’s proprietary information and software is considered neither as open source nor in the public domain.
"Term" means the term of this Agreement as specified in Clause 1.
"Third Party Software" shall mean any software, computer programming code or accompanying documentation owned by any third party including, but not limited to, any of following:
"Updates" means, in respect of the SDK or any part of the SDK, bug fixes, enhancements, modifications, new releases, new versions, supplements, updates or, upgrades.
This Agreement is effective upon Licensee’s acceptance, by clicking on the “I AGREE” button, and continues to be effective until terminated by Licensee or SAMSUNG in accordance with Clause 9 (“Term”).
Subject to the provisions of this Agreement, SAMSUNG hereby grants Licensee a limited, non-exclusive, personal, revocable, non-sub licensable and non-transferable license during the Term to:
Licensee acknowledges and agrees that an Application must satisfy SAMSUNG’s technical standards before it can be tested on the relevant SAMSUNG product pursuant to SAMSUNG’s internal quality assessment process. SAMSUNG reserves the right to reject any Application at its sole discretion. SAMSUNG’s testing of an Application shall not be construed as Samsung’s approval on the Application on any aspect. If a material change is made to the Application, Licensee must submit the revised version for SAMSUNG’s approval.
Licensee must ensure that the SAMSUNG copyright disclaimers and other proprietary notices that appear in the SDK and Documentation are retained and reproduced in full in all copies of the SDK and Documentation that Licensee makes as permitted under this Agreement.
Licensee must not, directly or indirectly, sell, redistribute, rent, lease, lend or sublicense all or any part of the SDK, or enable or allow others to do such things. Licensee must not use the SDK for any purpose that is not expressly permitted under this Agreement. Except to the extent permitted by licensing terms in respect to the Third Party Software components or Sample Code included in the SDK, Licensee must not, directly or indirectly, copy (except as expressly permitted under this Agreement), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part thereof, or enable or allow others to do such things. The foregoing restrictions apply except as prohibited by applicable law and only to the extent of such prohibition.
Licensee must not exploit the SDK in any unauthorized way, including but not limited to, by way of trespass or burdening network capacity. Any attempt to do so constitutes a violation of the rights of SAMSUNG and licensors of the SDK.
Except for the limited license granted to Licensee in this Agreement, all rights, title, and interest in and to the SDK and any Updates that are made available to Licensee under this Agreement remain, at all times, the sole and exclusive property of SAMSUNG. Licensee agrees to cooperate with SAMSUNG to maintain SAMSUNG's ownership of the SDK, and Licensee agrees to promptly provide notice of any claims or threatened claims relating to the SDK. Apart from the license rights expressly set out in this Agreement, SAMSUNG does not grant to Licensee and Licensee does not receive, whether by implication, estoppel or otherwise, any ownership right, title or interest nor any security interest or other interest in any intellectual property rights relating to the SDK, nor in any copy of any part of the foregoing, nor any other licenses, immunity or rights, express or implied.
Except as expressly permitted under this Agreement, nothing in this Agreement grants Licensee any right to use any of SAMSUNG’s trademarks, trade names, copyrights, service marks, logos, domain names, patents, trade secrets, other brand features distinctive to SAMSUNG or other intellectual property, which remain, at all times, the sole and exclusive property of SAMSUNG.
SAMSUNG may, at any time without notice, extend, enhance, or otherwise modify the SDK. If SAMSUNG makes available Updates, such Updates will be governed by this Agreement (unless a separate license is provided with the Update, in which case the terms of that license will govern the Update). Licensee acknowledges that SAMSUNG has no obligation, whether express or implied, to announce or make available any Updates. Where an Update is made available, such Update may have APIs, features, services and/or functionality that are different from those found in the SDK licensed under this Agreement.
From time to time during the Term, SAMSUNG may provide Licensee with test versions of the SDK. Licensee acknowledges and agrees that Licensee must not rely on such test versions to perform in the same manner as a final-release commercial-grade product and Licensee must not use such test versions with data that is not sufficiently backed up on a regular basis.
SAMSUNG has no obligation to provide any maintenance, technical or other support in respect of the SDK.
If the Application is distributed, offered, resold, or licensed ("Distribute") under the white-labeling of a third party, SAMSUNG may object to such Distribution if SAMSUNG deems the Distribution adversely affects SAMSUNG's business. In that case, Licensee shall immediately cease to Distribute the Application and discuss in good faith to find an alternative which should be mutually beneficial to both Licensee and SAMSUNG.
Licensee acknowledges and agrees that the Applications must comply with the conditions and requirements set out below, as modified by SAMSUNG from time to time:
Licensee acknowledges and agrees that the SDK (including all test versions of the SDK) constitute "Confidential Information" for the purposes of this Agreement, unless SAMSUNG expressly indicates otherwise or makes the terms and conditions of the SDK publicly available. Notwithstanding the foregoing, Confidential Information does not include information that Licensee can demonstrate by written evidence:: (i) information that is generally and legitimately available to the public through no fault or breach by Licensee, (ii) information that SAMSUNG makes generally made available to the public, (iii) information that Licensee independently develops without use or reliance of any Confidential Information, (iv) information that Licensee lawfully obtains from a third party who has the right to transfer or disclose the information to Licensee without limitation, or (v) any Open Source Software included in the SDK, the licensing terms of which do not contain obligations of confidentiality.
Licensee must protect Confidential Information using a degree of care that is no less than that which Licensee uses to protect Licensee’s own confidential information of the same or similar importance (and in any event, no less than a reasonable degree of care). Licensee may use Confidential Information solely for the purpose of exercising Licensee’s rights and performing Licensee’s obligations under this Agreement and Licensee must not use Confidential Information for any other purpose, or for Licensee’s own or any third party’s benefit, without the prior written consent of SAMSUNG. Licensee may disclose Confidential Information to the extent required by law, provided that Licensee takes reasonable steps to notify SAMSUNG of the relevant requirement prior to disclosing the Confidential Information and Licensee takes reasonable steps to obtain protective treatment against disclosure of the Confidential Information.
Licensee must not issue any press releases or make any other public statements relating to this Agreement, its terms and conditions, or Licensee’s relationship with SAMSUNG without the express prior written approval of SAMSUNG.
SAMSUNG EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTIBILITY, FITNESS FOR A PARTICULAR PUPOSE AND NON-INFRINGEMENT. FURTHER, SAMSUNG DOES NOT REPRESENT OR WARRANT THAT ANY PORTION OF THE SDK IS FREE OF INACCURACIES, ERRORS, BUGS OR INTERRUPTIONS, OR IS RELIABLE, ACCURATE, COMPLETE, OR OTHERWISE VALID. THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT ANY WARRANTY OF ANY KIND FROM SAMSUNG.
LICENSEE’S USE OF THE SDK IS AT ITS OWN DISCRETION AND RISK, AND LICENSEE WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE THAT RESULTS FROM THE USE OF THE SDK INCLUDING, BUT NOT LIMITED TO, ANY DAMAGE TO LICENSEE’S COMPUTER SYSTEM OR LOSS OF DATA. FOR THE PURPOSE OF CLARITY, THE SAMPLE CODE IS LICENSED “AS-IS” AND LICENSEE BEARS THE RISK OF USING IT. SAMSUNG GIVES NO EXPRESS AND/OR IMPLIED WARRANTIES, GUARANTEE OR CONDITIONS.
SUBJECT TO TERMS AND CONDITIONS OF THIS AGREEMENT AND TO THE FULLEST EXTENT ALLOWED AND PERMITTED BY APPLICABLE LAWS AND REGULATIONS, SAMSUNG SHALL NOT, UNDER ANY CIRCUMSTANCES, BE LIABLE TO LICENSEE OR ANY THIRD PARTY THROUGH LICENSEE FOR PERSONAL INJURY OR ANY CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, PUNITIVE OR SPECIAL DAMAGES WHATSOEVER, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA, BUSINESS INTERRUPTION OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR IN RELATION TO THIS AGREEMENT, LICENSEE’S USE OF THE SDK, OR LICENSEE’S DEVELOPMENT OF APPLICATIONS, WHETHER BASED ON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, EVEN IF IT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. THE SDK LICENSED HEREUNDER IS NOT DESIGNED OR INTENDED FOR USE TO ENABLE THE DESIGN OF APPLICATIONS USED IN ANY MEDICAL, LIFE SAVING OR LIFE SUSTAINING SYSTEMS, TRANSPORTATION SYSTEMS, NUCELAR SYSTEMS, OR FOR ANY OTHER MISSION CRITICAL APPLICATION IN WHICH THE FAILURE OF THE SDK COULD LEAD TO PERSONAL INJURY OR DEATH OR FOR USE IN ANY SECURIT-RELATED USE CASES. LICENSEE’S UNDERSTSANDING, ACKNOWLEDGEMENT AND ACCEPTANCE OF THIS AGREEMENT ARE THE LEGAL BASIS AND CONSIDERATION FOR THE LICENSES GRANTED UNDER IT.
To the fullest extent permitted by law, Licensee agrees to indemnify, defend and hold harmless SAMSUNG, its Affiliates, directors, officers, employees, independent contractors and agents (each a "SAMSUNG Indemnified Party") from any and all claims, losses, liabilities, damages, expenses and costs (including without limitation reasonable attorneys fees) (collectively "Losses") incurred by a SAMSUNG Indemnified Party as a result of Licensee’s (or an Authorized User’s) breach of this Agreement, any claims that the Applications violate or infringe any third party intellectual property or proprietary rights, or otherwise related to or arising from Licensee’s (or any Authorized User’s) use of the SDK, the Applications or Licensee’s (or any Authorized User’s) development or distribution of Applications.
Licensee acknowledges that the SDK is not intended to be used in the development of any Application where death, personal injury, or severe physical or environmental damage could result from errors or inaccuracies in the content, data or information provided by the Application or by Application failures. To the extent permitted by law, Licensee agrees to indemnify, defend and hold harmless each SAMSUNG Indemnified Party from any Losses incurred by such SAMSUNG Indemnified Party as a result of Licensee’s use of the SDK in the development of any such Applications.
Licensee must not enter into a settlement or like agreement with any third party that affects SAMSUNG's rights or binds SAMSUNG in any way related to or arising from Licensee’s (or any Authorized User’s) use of the SDK without the prior written consent of SAMSUNG.
This Agreement and all rights granted by SAMSUNG hereunder maybe immediately terminated:
Upon the termination of this Agreement: (a) all rights granted in this Agreement will terminate; (b) Licensee shall promptly stop using the SDK and return the SDK to SAMSUNG or destroy all electronic copies of the SDK and, at SAMSUNG’s request, provide written certification of such destruction to SAMSUNG. The provisions of Clauses 1, 2.4, 2.5, 2.6, 2.7, 2.8, 3, 4, 5, 6, 7, 8, 9 and 10 will survive the expiration or termination of this Agreement.
Licensee may not assign the Agreement, in whole or in part, without SAMSUNG’s prior written consent, and any attempt to do so without such consent shall be void. SAMSUNG may assign this Agreement without the Licensee’s consent. This Agreement shall be binding upon and shall inure to the benefit of the parties hereto and their respective successors and permitted assigns.
This Agreement will not be construed as creating an agency, partnership, joint venture, fiduciary duty, or any other form of legal relationship between Licensee and SAMSUNG, and Licensee must not represent the existence of any such relationship, whether expressly, by implication or otherwise.
This Agreement is not for the benefit of any third parties.
Nothing in this Agreement limits or otherwise affects SAMSUNG's right to acquire, develop, license, market, promote, or distribute any product or technology that performs the same or similar functions as the Applications or any other products or technologies that Licensee develops, markets, promotes or distributes, or that otherwise competes with the Applications or such products or technologies.
Any notices or other communication made pursuant to this Agreement must be in writing and will be deemed to have been fully given or made when: (a) personally delivered; or (b) three (3) days after being mailed via commercially reputable overnight delivery service, to the following address:
SAMSUNG:
(Maetandong) 129, Samsung-ro
Yeongtong-gu,Suwon-si, Gyeonggi-do, Republic of Korea 443-742
Licensee agrees to receive notices and other communications to be made to Licensee pursuant to this Agreement by email and Licensee agrees that any notices that SAMSUNG sends to Licensee by email will satisfy any legal communication requirements.
A party may change its email or mailing address by giving the other party written notice in accordance with this Clause.
Failure by SAMSUNG to insist upon strict performance of any of the provisions contained in this Agreement shall in no way constitute a waiver of SAMSUNG’s rights as set forth in this Agreement, at law or in equity, or a waiver of any other provisions or the right to take action in respect of a subsequent default by Licensee in the performance or compliance with any of the terms and conditions set forth in this Agreement.
Licensee acknowledges that any disclosure, use or misappropriation of Confidential Information of SAMSUNG in violation of this Agreement would cause SAMSUNG irreparable harm for which there may be no adequate remedy at law. Accordingly, Licensee agrees that SAMSUNG shall have the right to apply to any court of competent jurisdiction for injunctive relief and specific performance, without prejudice to any remedies otherwise available to SAMSUNG at law or in equity.
This Agreement shall be governed by and construed in accordance with the laws of the Republic of Korea, without regard to any conflict-of-laws rules. All disputes, controversies or claims between the parties arising out of or in connection with this Agreement (including its existence, validity or termination) shall be finally resolved by arbitration to be held in Seoul, Korea and conducted in English under the Rules of Arbitration of the International Chamber of Commerce; provided, however, that each party may enforce its or its affiliates’ intellectual property rights in any court of competent jurisdiction, including but not limited to equitable relief. The arbitral award shall be final and binding on the parties. Except to the extent entry of judgment and any subsequent enforcement may require disclosure, all matters relating to the arbitration, including the award, shall be held in confidence.
This Agreement contains the entire agreement between the parties with respect to the use of the SDK licensed hereunder and supersedes all existing agreements and all other oral, written or other communications between the parties concerning this subject matter. If any provision of this Agreement (or any portion thereof) is invalid, illegal or unenforceable, the validity, legality and enforceability of the remainder of this Agreement shall not be affected or impaired.