 |
思澈科技软件开发工具包
2.20
|
|
ANCS 介绍
Apple 通知中心服务(ANCS)是 IOS 设备中的 GATT 服务。 该服务可以通知配件在 IOS 设备中的通知,称为 Nofication Provider(NP)。 本地设备充当附件,称为通知消费者(NC)。
NP有3个特点:
实施 ANCS NC
Sibles ANCS 提供 API 来搜索 IOS 设备中的 ANCS 并配置通知属性。 用户只需要执行以下操作:
- 配置预期的通知和 APP 属性和关联长度。
- 收到APP_ID属性信息后,使用相关API获取APP属性。
- 使用 perform action API 为指定的 attributeID 执行动作。
有关 ANCS API 的详细信息,请参阅 ANCS .
这是示例代码:
int app_ancs_event_handler(uint16_t event_id, uint8_t *
data, uint16_t
len, uint32_t context)
{
switch (event_id)
{
{
rt_kprintf(
"encryt ind %d", ind->
conn_idx);
break;
}
{
rt_kprintf(
"received_notify %d, attr_count %d\r\n", notify->
evt_id, notify->
attr_count);
{
ble_ancs_attr_value_t *value = notify->
value;
ble_ancs_dev_app_id_name_t *app_id_name;
uint32_t i;
{
if (value->len == 0)
{
value = (ble_ancs_attr_value_t *)((uint8_t *)value + sizeof(ble_ancs_attr_value_t));
continue;
}
{
}
{
}
{
}
value = (ble_ancs_attr_value_t *)((uint8_t *)value + sizeof(ble_ancs_attr_value_t) + value->len);
}
break;
}
break;
}
{
break;
}
default:
break;
}
return 0;
}
uint8_t evt_id
Definition: bf0_ble_ancs.h:257
uint16_t len
Definition: bf0_ble_ancs.h:226
uint8_t attr_count
Definition: bf0_ble_ancs.h:262
@ BLE_ANCS_GET_APP_ATTR_RSP
Definition: bf0_ble_ancs.h:85
uint8_t conn_idx
Connection index.
Definition: bf0_ble_gap.h:1719
@ BLE_ANCS_EVENT_FLAG_PRE_EXISTING
Definition: bf0_ble_ancs.h:146
@ BLE_GAP_ENCRYPT_IND
Definition: bf0_ble_gap.h:160
@ BLE_ANCS_EVENT_ID_NOTIFICATION_ADDED
Definition: bf0_ble_ancs.h:133
uint8_t data[]
Definition: bf0_ble_ancs.h:227
void ble_ancs_attr_enable(uint8_t attr_index, uint8_t enable, uint16_t len)
Configure notification attribte id and according length.
@ BLE_ANCS_NOTIFICATION_ATTR_ID_MESSAGE
Definition: bf0_ble_ancs.h:169
@ BLE_ANCS_NOTIFICATION_ATTR_ID_APP_ID
Definition: bf0_ble_ancs.h:166
@ BLE_ANCS_NOTIFICATION_ATTR_ID_TITLE
Definition: bf0_ble_ancs.h:167
uint8_t evt_flag
Definition: bf0_ble_ancs.h:258
@ BLE_ANCS_NOTIFICATION_IND
Definition: bf0_ble_ancs.h:84
int32_t ble_ancs_get_app_attr(uint8_t *app_id, uint8_t app_id_len)
Acquire app attribute via app ID.
The structure of BLE_GAP_ENCRYPT_IND.
Definition: bf0_ble_gap.h:1717
uint8_t ble_ancs_enable(uint8_t conn_idx)
Enable ble ancs profile service, it will search ANCS service from peer device. It should be called af...
ble_ancs_attr_value_t * value
Definition: bf0_ble_ancs.h:263
The structure of BLE_ANCS_NOTIFICATION_IND.
Definition: bf0_ble_ancs.h:256
#define BLE_EVENT_REGISTER(func, context)
Macro of siflie ble event handler register.
Definition: bf0_ble_common.h:172