Пакет deepmerge npm, по-видимому, является наиболее широко используемой библиотекой для решения этой проблемы: https://www.npmjs.com/package/deepmerge
Я думаю, что эта часть FCM по-прежнему совпадает с GCM. Поэтому вы должны ссылаться на этот ответ на @TrevorJohns:
Документация не указывает какой-либо шаблон, поэтому допустимая строка разрешена. Формат может измениться в будущем; пожалуйста, не проверяйте этот ввод против любого шаблона , так как это может привести к нарушению вашего приложения.
Как и в поле «registration_id», верхняя граница по размеру максимальный размер для файла cookie, который составляет 4K (4096 байт).
blockquote>Подчеркивание на Формат может измениться в будущем , я бы предложил остановиться безопасны и имеют дополнительную длину (указанную выше). Поскольку формат и длина регистрационного токена могут также варьироваться.
Для обычной длины и символов вы можете обратиться к этим двум ответам последнее является гораздо более определенным :
Я не видел официальной информации о формате регистрации GCM, но я проанализировал нашу базу данных таких идентификаторов и могу сделать следующие выводы:
blockquote>
- в большинстве случаев длина регистра ID равна 162 символам, но может быть изменена до 119 символов, может быть, и других длин,
- состоит только из этих символов:
[0-9a-zA-Z\-\_]*
- каждый regID содержит один или оба «разделителя»: - (минус) или _ (подчеркивание)
Теперь я использую Firebase Cloud Messaging вместо GCM.
Длина регистрационной записи у меня - 152.
blockquote>У меня также есть «:» в самом начале каждый раз, как то, что jamesc (например, bk3RNwTe3H0: CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1).
Я делаю маркер как varchar (255), который работает для меня.
Однако длина registration_id не имеет отношения к размер 4k. Вы можете отправлять любой размер данных через сеть. Обычно файлы cookie ограничены 4096 байтами, которые состоят из имени, значения, даты истечения срока действия и т. Д.
blockquote>
:
в наших токенах. В документации firebase.google.com/docs/cloud-messaging/server показан пример токена какbk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
, который определенно имеет:
. – jamesc 14 October 2016 в 11:33:
в токенах. Я думаю, что это действительный символ разделителя. – AL. 14 October 2016 в 11:48:
для токенов регистрации для приложения Chrome Client. Но я думаю, что это возможно даже для Android и iOS. В любом случае, я думаю, что мой ответ выше в значительной степени дает вам представление и охватывает ваши запросы. Если вы согласны, пожалуйста, примите его как правильный ответ, чтобы он был помечен как «Ответ». Ура! – AL. 15 October 2016 в 14:55