Перейти к содержанию
Fire Monkey от А до Я
  • 0

GCM


XXXXXX

Вопрос

Здравствуйте.
Я пытаюсь использовать GCM (Google Cloud Messaging) в своей программе. Всё работает отлично, до тех пор пока не отправляю в уведомлении русский текст. При отправке приходит пустое уведомление. Кто-нибудь может подсказать в чём проблема?
Заранее спасибо.

Изменено пользователем Alexander616
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

JSONData в своих "внутренностях" все равно перекодирует из UTF8 куда надо, уберите это преобразование.

Сохранить содержимое итогового JSON в текстовый файл пробовали? Что там будет отображаться?

 

В дополнение: покажите, как отправляется получившийся JSON - возможно, там и зарыто решение.

Изменено пользователем kami
Ссылка на комментарий
  • 0
procedure TForm1.Button1Click(Sender: TObject);
var
  AJson: TJSONObject;
  AJsonData: TJSONObject;
  ARegisterIds:TJSONArray;
  AData, AResponseContent:TSTringStream;
  DeviceToken:String;
begin
  ARegisterIds := TJSONArray.Create;
  AJson := TJSONObject.Create;
  try
    DeviceToken := 't2uIvqpZ_o7u3sUxCBBAICxaRuj05mgHaGWY6x6Dwd3oYnwAEoSY5vl1BkcLzfLt4TPbNbFxr7WCKW5IictG_QCMTqSQ7QEp-mk-g9OG0CHaE5Rx01FT51Zc5om';

    ARegisterIds.Add(DeviceToken);

    AJsonData := TJSONObject.Create;
    AJsonData.AddPair('id', ID.ToString());
    ID := ID + 1;

    AJsonData.AddPair('message', Edit1.Text);

    AJson.AddPair('registration_ids', ARegisterIds);
    AJson.AddPair('data', AJsonData);

    IdHTTP1.Request.ContentType := 'application/json';

    IdHTTP1.Request.CustomHeaders.AddValue('Authorization', 'key=AIzaSyBuYtgzrIE6Z-AQobRf1-taJOl6CdWUfL8');
    AData := TStringStream.Create(AJson.ToString);
    AData.Position := 0;
    AResponseContent := TStringStream.Create('', TEncoding.UTF8);

    IdHTTP1.Post('https://android.googleapis.com/gcm/send', AData, AResponseContent);
    AResponseContent.Position := 0;
    Memo1.Lines.Add(AResponseContent.DataString);
  finally
  end;
end;

до записи в AData которую потом пересылаю через IdHttp, в AJson все символы отображаются отлично. 

Изменено пользователем Alexander616
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...