Я использую модуль xmpp для весенней интеграции, чтобы написать собственную реализацию стороннего сервера, подключающегося к облачным службам GCM, как в Сервер подключений к облаку GCM (XMPP).
Пока я успешно подключился к серверу GCM, однако, когда я отправляю сообщение на сервер, я получаю что-то вроде:
<message id="m-1366082849205" to="REGISTRATION_ID">
<body>{"hello":"world"}</body>
</message>
, но мне нужно отправить что-то вроде этого:
<message id="">
<gcm xmlns="google:mobile:data">
{
"to":"REGISTRATION_ID",
"message_id":"m-1366082849205"
"data":
{
"hello":"world",
}
}
</gcm>
</message>
Я использую последнюю версию SI, 4.0.4, это моя конфигурация в xml:
<int-xmpp:outbound-channel-adapter
id="gcmOutboundAdapter" channel="gcmOutboundNotificationChannel"
xmpp-connection="gcmConnection" auto-startup="true"/>
Я отправляю сообщения с помощью обычного MessageBuilder примерно так:
Message<String> xmppOutboundMsg = MessageBuilder.withPayload(xmppPayload)
.setHeader(XmppHeaders.TO, REGISTRATION_ID)
.build();
где xmppPayload - это строка json.
Мне нужно настроить / переопределить способ составления сообщения xmpp, как лучше всего добиться результата? Должен ли я переопределить класс, реализующий int-xmpp: outbound-channel-adapter, с помощью специального активатора службы, есть ли способ настроить способ составления сообщения xmpp?
Спасибо за любую помощь.
+1
, но было бы здорово, если бы поделился тем, что естьGcmPacketExtension
. В какой банке (артефакте) он содержится? 30.10.2014