React Native MeData Service
Functions
saveMeDataRecord
saveMeDataRecord(name: string, value: string): Promise<boolean>
Saves a new MeData record for the given definition name with the provided value.
Parameters:
name: string— MeData definition name (for example "daily_steps").value: string— Value to be stored for the definition.
syncMeDataDefinitions
syncMeDataDefinitions(): Promise<boolean>
Synchronizes MeData definitions with the Orchestrator and updates local storage.
Parameters: None.
getMeDataDefinitions
getMeDataDefinitions(): Promise<MeDataDefinition[]>
Returns all MeData definitions.
Parameters: None.
getMeDataDefinition
getMeDataDefinition(name: string): Promise<MeDataDefinition | null>
Returns a single MeData definition by its name, or null if it is not found.
Parameters:
name: string— The unique MeData definition name (for example "daily_steps").
getMeDataCategories
getMeDataCategories(): Promise<MeDataCategory[]>
Returns all MeData categories.
Parameters: None.
getMeDataDefinitionsByCategory
getMeDataDefinitionsByCategory(name: string): Promise<MeDataDefinition[]>
Returns MeData definitions for the given category name.
Parameters:
name: string— Category name to filter MeData definitions.
getMeDataRecords
getMeDataRecords(name: string): Promise<MeDataRecord[]>
Returns all stored records for the given MeData definition name.
Parameters:
name: string— MeData definition name whose records should be fetched.
getLastMeDataRecord
getLastMeDataRecord(name: string): Promise<MeDataRecord | null>
Returns the most recent MeData record for the given definition name, or null if there is no record.
Parameters:
name: string— MeData definition name whose latest record should be returned.
collectMeData
collectMeData(meDataDefinitionNames: string[]): Promise<Record<string, MeDataRecord>>
Triggers MeData collectors for the given definition names and returns an object mapping each definition name to its collected record.
Parameters:
meDataDefinitionNames: string[]— Array of MeData definition names to collect.
getAggregatedMeDataRecords
getAggregatedMeDataRecords(
name: string,
startDate: number,
endDate: number,
aggregation: string,
intervalSeconds?: number,
intervalAggregation?: string
): Promise<Record<string, AggregatedMeDataRecord>>
Returns aggregated values of the records of the MeData definition with the given name, within the given date range. When an interval is provided, results are grouped per interval.
Parameters:
name: string— MeData definition name.startDate: number— Start of the date range (epoch milliseconds).endDate: number— End of the date range (epoch milliseconds).aggregation: string— Aggregation to apply over the range (e.g."sum","avg","min","max").intervalSeconds?: number— Optional interval length in seconds for grouped aggregation.intervalAggregation?: string— Optional aggregation to apply within each interval.
showMeDataView
showMeDataView(): Promise<boolean>
Presents the SDK-provided MeData view.
Parameters: None.
deleteMeData
deleteMeData(name: string): Promise<boolean>
Deletes all records of the MeData definition with the given name.
Parameters:
name: string— MeData definition name.
deleteMeDataRecord
deleteMeDataRecord(name: string, id: string): Promise<boolean>
Deletes a single MeData record by its identifier.
Parameters:
name: string— MeData definition name.id: string— Identifier of the record to delete.
Classes
MeDataDefinition
{
id: string;
name: string;
text: string;
source: string;
script?: Script | null;
valueDef?: ValueDefinition | null;
category?: MeDataCategory | null;
iconUrl?: string | null;
description?: string | null;
sharable?: boolean | null;
hidden?: boolean | null;
storageSettings?: MeDataStorageSettings | null;
question?: Question | null;
}
MeDataStorageSettings
{
onlyIfChanged?: boolean | null;
longLimit?: number | null;
}
DataType
"STRING" | "NUMBER" | "BOOLEAN" | "DATETIME" | "IMAGE" | "VIDEO" | "OBJECT" | "UNKNOWN" | null
EnumeratedValue
{
id: string;
name: string;
text: string;
description?: string | null;
imageUrl?: string | null;
}
EnumeratedValueConstraints
{
allowNone?: boolean | null;
allowIdk?: boolean | null;
allowNa?: boolean | null;
allowOther?: boolean | null;
}
MeDataCategory
{
id: string;
text: string;
name: string;
iconUrl?: string | null;
description?: string | null;
}
MeDataType
"NATIVE" | "QA" | "SCRIPT" | "INFERRED" | "UNKNOWN"
Question
{
id: string;
name: string;
text: string;
description?: string | null;
imageUrl?: string | null;
}
QuestionDefinition
{
valueDef: ValueDefinition;
question: Question;
isMeData: boolean;
contextKey: string;
}
ValueDefinition
{
type: string;
constraints?: ValueTypeConstraints | null;
multivalued?: boolean | null;
multiValueConstraints?: MultiValueConstraints | null;
enumerated?: boolean | null;
enumeratedValues?: EnumeratedValue[] | null;
enumeratedValueConstraints?: EnumeratedValueConstraints | null;
}
ValueTypeConstraints
{
minValue?: number | null;
maxValue?: number | null;
regex?: string | null;
allowCamera?: boolean | null;
allowGallery?: boolean | null;
}
MultiValueConstraints
{
minValue: number;
maxValue: number;
}
MeData
{
id: string;
definitionName: string;
records: MeDataRecord[];
}
MeDataRecord
{
id: string;
meDataDefinitionId: string;
notAvailable: boolean;
date: number;
values: MeDataValue[];
}
MeDataValue
{
id: string;
evName?: string | null;
value: string;
}