Hello,
I have added service data to my advertising_init function, however it does display when looking at the nRF Connect app. I'm not sure why it doesn't show as it's similar if I was using manufacture_data.
static void advertising_init(void)
{
ret_code_t err_code;
ble_advertising_init_t init; // Struct containing advertising parameters
// Build advertising data struct to pass into @ref ble_advertising_init.
memset(&init, 0, sizeof(init));
ble_advdata_service_data_t serv_data;
uint8_t data[] = "012345678"; //Our data to advertise
serv_data.service_uuid = SERVICE_UUID; // 1400
serv_data.data.p_data = data;
serv_data.data.size = sizeof(data);
init.advdata.p_service_data_array = &serv_data;
init.advdata.name_type = BLE_ADVDATA_SHORT_NAME; // Use a shortened name
init.advdata.short_name_len = 6; // Advertise only first 6 letters of name
init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
init.advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
init.advdata.uuids_complete.p_uuids = m_adv_uuids;
init.config.ble_adv_fast_enabled = true;
init.config.ble_adv_fast_interval = APP_ADV_INTERVAL;
init.config.ble_adv_fast_timeout = APP_ADV_DURATION;
init.evt_handler = on_adv_evt;
err_code = ble_advertising_init(&m_advertising, &init);
APP_ERROR_CHECK(err_code);
ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG);
}