Я получаю tokenUpdate с устройства, а затем пытаюсь отправить push-уведомление. Но я не думаю, что он работает, когда я отправляю push-уведомление, я не получаю никакого ответа от устройства. Разве не предполагается опросить сервер, чтобы проверить какие-либо команды MDM? Вместо этого я продолжаю получать обновления токенов.Push-уведомление не отправлено на устройство iPhone
String cToken = token;
String cAlert = message;
// Ready to create the push notification
byte[] buf = new byte[256];
MemoryStream ms = new MemoryStream();
BinaryWriter bw = new BinaryWriter(ms);
char[] tokenChars = token.ToCharArray();
byte[] deviceTokenBytes = new byte[tokenChars.Length];
for (int i=0; i < deviceTokenBytes.Length; i++)
{
deviceTokenBytes[i] = Convert.ToByte(tokenChars[i]);
}
// byte[] deviceToken = HexToData(cToken);
bw.Write(deviceTokenBytes);
// Create the APNS payload - new.caf is an audio file saved in the application bundle on the device
//string msg = "{\"aps\":{\"alert\":\"" + cAlert + "\",\"badge\":" + iBadge.ToString() + ",\"sound\":\"new.caf\"}}";
string msg = "{\"mdm\":\"+ mPushMagic +"\"}";
// Write the data out to the stream
// bw.Write((byte)msg.Length);
bw.Write(msg.ToCharArray());
bw.Flush();
if (sslStream != null)
{
sslStream.Write(ms.ToArray());
return true;
}
return false;
}
ОБНОВЛЕНО: Я удалил «<» из pushmagic ид
ok ive сделано это. но клиент по-прежнему не отвечает на него:/ – michelle
Я не уверен, что делает Convert.ToByte, но в моем коде Java у меня есть: 'BASE64Decoder decoder = new BASE64Decoder(); byte [] decodedBytes = decoder.decodeBuffer (device.getDeviceToken()); StringBuffer buf = new StringBuffer(); для (int i = 0; i
Abstractec
это не так:/Я изменил его на Encoding.ASCII.GetBytes (tokenChars) и еще ничего – michelle