文档中心>移动推送

接口文档

最近更新时间:2020-06-29 16:03:28

我的收藏
SDK 使用了一些系统资源,如线程、消息队列等。

数据接收回调函数

接口说明

SDK 接收到推送数据时,通知给上层应用接口。
typedef void (*xgAgentRecvDataCB_t)(uint8_t *data, uint32_t len)

参数说明

data:透传后台推送的 data 字段数据,为 json 格式字符串。
len:data 字段所占字节数。

示例代码

void testRecvDataCB(uint8_t *data, uint32_t len)
{
if(NULL != data) {
printf("[demo Debug]$$$$$$$$$$$$$$$$$$$$$$$\\n");
printf("[demo Debug]Recv data %dByte: %s \\n", len, data);
}
}

状态通知回调函数

接口说明

SDK 状态变化时,通知给上层应用接口。
typedef void (*xgAgentStatusCB_t)(xgStatus_t status)

参数说明

status:SDK 的运行状态。
typedef enum {
STATUS_IDEL,
STATUS_GET_BROKER_SUCCESS,
STATUS_CLOUD_CONNECTED,
STATUS_CLOUD_DISCONNECT
}xgStatus_t;
说明
STATUS_IDEL:空闲状态。
STATUS_GET_BROKER_SUCCESS:获取 broker 信息成功。
STATUS_CLOUD_CONNECTED:连接云端成功。
STATUS_CLOUD_DISCONNECT:与云端断开连接。

示例代码

void testStatusCB(xgStatus_t status)
{
switch(status) {
case STATUS_GET_BROKER_SUCCESS:
printf("[demo Debug]We will go to connect xg cloud\\n");
xgAgentConnect();
break;
case STATUS_CLOUD_CONNECTED:
printf("[demo Debug]We connect xg cloud success\\n");
break;
case STATUS_CLOUD_DISCONNECT:
printf("[demo Debug]We disconnect xg cloud\\n");
break;
default:
break;
}
}

SDK 初始化

接口说明

用于 SDK 初始化、资源申请、获取云端 broker 信息等操作。
void xgAgentInit(xgAgentConfig_t *config)

参数说明

config:SDK 的配置信息。
typedef struct {
uint8_t accessKey[ACCESS_KEY_LEN+1];
uint8_t deviceName[DEVICE_NAME_LEN+1];
uint32_t accessID;
xgAgentRecvDataCB_t recvCBFunc;
xgAgentStatusCB_t statusCBFunc;
}xgAgentConfig_t;
说明
accessID:数字型,控制台创建的应用 ID。
accessKey:字符型,控制台创建的应用 Key。
deviceName:设备名称,一般使用 mac 或自行定义。
recvCBFunc:后台推送数据的回调通知。
statusCBFunc:SDK 状态通知。

示例代码

xgAgentConfig_t config;

config.accessID = ACCESSID;
config.recvCBFunc = testRecvDataCB;
config.statusCBFunc = testStatusCB;
strcpy(config.accessKey, ACCESSKEY);
strcpy(config.deviceName, DEVICE_NAME);
xgAgentInit(&config);

SDK 退出

接口说明

用于 SDK 退出、资源释放、断开云端连接等操作。
void xgAgentExit(void)

参数说明

无参数。

示例代码

xgAgentExit();

连接云端

接口说明

用于连接云端,需要在 SDK 状态为STATUS_GET_BROKER_SUCCESS后调用。
void xgAgentConnect(void)

参数说明

无参数。

示例代码

void testStatusCB(xgStatus_t status)
{
switch(status) {
case STATUS_GET_BROKER_SUCCESS:
printf("We will go to connect xg cloud\\n";);
xgAgentConnect();
break;
...
default:
break;
}
}

与后台断开连接

接口说明

用于与云端断开连接。
void xgAgentDisconnect(void)

参数说明

无参数。

示例代码

xgAgentDisconnect();