示例#1
0
// PublishActivation publishes an activation
func (c *DefaultClient) PublishActivation(activation types.Activation) Token {
	appID := activation.AppID
	devID := activation.DevID
	activation.AppID = ""
	activation.DevID = ""
	return c.PublishDeviceEvent(appID, devID, types.ActivationEvent, activation)
}
示例#2
0
// SubscribeDeviceActivations subscribes to all activations for the given application and device
func (c *DefaultClient) SubscribeDeviceActivations(appID string, devID string, handler ActivationHandler) Token {
	return c.SubscribeDeviceEvents(appID, devID, types.ActivationEvent, func(_ Client, appID string, devID string, _ types.EventType, payload []byte) {
		activation := types.Activation{}
		if err := json.Unmarshal(payload, &activation); err != nil {
			c.ctx.Warnf("Could not unmarshal activation (%s).", err.Error())
			return
		}
		activation.AppID = appID
		activation.DevID = devID
		// Call the Activation handler
		handler(c, appID, devID, activation)
	})
}