 |
思澈科技軟件開發(fā)工具包
2.20
|
|
ANCS 介紹
Apple 通知中心服務(wù)(ANCS)是 IOS 設(shè)備中的 GATT 服務(wù)。 該服務(wù)可以通知配件在 IOS 設(shè)備中的通知,稱為 Nofication Provider(NP)。 本地設(shè)備充當(dāng)附件,稱為通知消費(fèi)者(NC)。
NP有3個(gè)特點(diǎn):
實(shí)施 ANCS NC
Sibles ANCS 提供 API 來搜索 IOS 設(shè)備中的 ANCS 并配置通知屬性。 用戶只需要執(zhí)行以下操作:
- 配置預(yù)期的通知和 APP 屬性和關(guān)聯(lián)長度。
- 收到APP_ID屬性信息后,使用相關(guān)API獲取APP屬性。
- 使用 perform action API 為指定的 attributeID 執(zhí)行動(dòng)作。
有關(guān) ANCS API 的詳細(xì)信息,請(qǐng)參閱 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