您没有在 appinfo.json 中指定任何 appKeys。
Pebble 消息以 整数 为键,而不是字符串。但是有设施可以use meaningful strings when coding:
在 PebbleKit JS 消息中使用命名键
PebbleKit JavaScript 提供了一种使用命名键而不是整数键的机制。这提高了 JavaScript 代码的可读性,并允许您将 AppMessage 键的定义分组到一个位置。
键在 CloudPebble 中的“设置”屏幕的“PebbleKit JS 消息键”部分中声明。
在原生 SDK 中,命名键是通过 appinfo.json 文件中的 appKeys 对象配置的。此对象将整数值与字符串相关联。这些值用于转换传出和传入消息的键。
"appKeys": {
"firstKey": 0,
"secondKey": 1
}
请注意,此处定义的键应与 C 代码中的键匹配,可能通过 C 源代码或头文件中的 #define 语句。
对于传入消息的每个键,PebbleKit JS 在appKeys 对象中查找与键具有相同整数值的元素。如果它可以找到一个,它会用 JavaScript 对象中的这个字符串替换这个键。如果找不到,它会创建一个包含键的整数值的新字符串。
对于 outgoing 消息的每个键,PebbleKit JS 在 appKeys 对象中查找与该键相等的元素。如果找到一个,它将使用与此元素关联的整数值作为键的整数表示。如果找不到,它会尝试将密钥转换为整数。如果失败,则会引发错误。
例如,给定上面的appKeys配置,下面的语句是等价的:
Pebble.sendAppMessage({ '0': 'A value' });
Pebble.sendAppMessage({ 'firstKey': 'A value' });
确保更新您的代码,以便在 C 中指定这些值(您似乎是通过 #define 完成的)以及通过 appinfo.json 文件的 JavaScript 中的值:
...
"appKeys": {
"KEY_TEMPERATURE": 0,
"KEY_CONDITIONS": 1
},
...