Каково максимальное количество символов, которые могут отображаться в уведомлении Android и iOS?
Каково максимальное количество символов, которое может отображаться в push-уведомлении на Android без усечения текста?
В документации для iPhone говорится, что полезная нагрузка для уведомлений должна быть не более 256 байтов, но я не смог найти что-то подобное для Android.
Ответы
Ответ 1
Android
Ограничение размера сообщения в Firebase Cloud Messaging (FCM) составляет 4 килобайта.
https://firebase.google.com/docs/cloud-messaging/server#choose
Предел размера сообщения в GCM составляет 4 килобайта. (Устаревшее)
https://developer.android.com/google/gcm/server.html#params
Предел размера сообщения в C2DM - 1024 байта. (Устаревшее)
https://developers.google.com/android/c2dm/#limitations
IOS
Для регулярных удаленных уведомлений максимальный размер составляет 4 КБ (4096 байт)
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
С момента появления iOS 8 изменилось на 2 кбайта!
https://forums.aws.amazon.com/ann.jspa?annID=2626
С iOS 8 компания Apple представила новые функции, которые позволяют некоторым богатым новым варианты использования для мобильных push-уведомлений - интерактивное нажатие уведомлений, сторонних виджетов и более крупных (2 КБ) полезных нагрузок. Cегодня, мы рады объявить о поддержке нового мобильного нажатия возможности, объявленные с iOS 8. Мы публикуем новый iOS 8 Пример приложения, демонстрирующий, как эти новые функции могут быть реализованы с SNS, а также реализовали поддержку более крупных полезных нагрузок на 2 КБ.
в iOS ограничение по размеру составляет 256 байтов
Ответ 2
Как сказал kabuko, есть много переменных. Но я тестировал Galaxy S5 и Nexus 5 с Android 4.4 и получил аналогичные результаты. Если вы ищете цифры в шале, я получил
Название: 16 символов
Текст: 27 символов
Тикер: 300+ символов (я остановился на 300 символов)
NotificationCompat.Builder builder = new NotificationCompat.Builder(application.getApplicationContext());
Notification n = builder
.setContentTitle("XXXXXXXXXXWWWWWWWWWW")
.setContentText("XXXXXXXXXXWWWWWWWWWWXXXXXXXXXX")
.setTicker("XXXXXXXXXXWWWWWWWWWWXXXXXXXXXXWWWWWWWWWWXXXXXXXXXWWWWWWWWWW...") // cut short for brevity
.setSmallIcon(R.drawable.ic_launcher)
.build();
Ответ 3
Сообщения C2DM ограничены размером 1024
байтов и предназначены для информирования устройства о новых данных, чтобы не передавать его.
Ссылки:
http://www.vogella.de/articles/AndroidCloudToDeviceMessaging/article.html
http://code.google.com/android/c2dm/
Ответ 4
Не предполагайте, что только потому, что что-то работает в iOS, так оно работает в Android. Как упоминает Vineet, в Android C2DM используются только данные. Он не имеет отношения к пользовательскому интерфейсу. Добавление уведомления в лоток уведомлений - это обычное дело с этим push-уведомлением, но оно напрямую не связано. Как отмечено в других ответах, ограничение размера сообщения составляет 1024 байта.
Если вас беспокоит, сколько символов может поместиться в уведомлении в лотке, технически нет жесткого ограничения. Во-первых, Android не использует шрифты фиксированной ширины (по умолчанию) в лотке. Строка из 10 символов, таких как "llllllllll", будет иметь разную ширину, чем строка из 10 символов, таких как "WWWWWWWWWW". Кроме того, вы можете создавать пользовательские представления в уведомлениях, то есть вы можете изменить размер шрифта, который изменит количество символов, которые вы можете поместить.
Ответ 5
Предел размера сообщения составляет 1024 байта.
http://code.google.com/android/c2dm/index.html#limitations
Ответ 6
GCM (Google Cloud Messaging) - 4kb
ref: https://developers.google.com/cloud-messaging/server#choose
FCM (облачные сообщения firebase) - 4kb
ref: https://firebase.google.com/docs/cloud-messaging/server#choose