FCM 등록 ID 토큰의 최대 길이는 얼마입니까?
Messaging을 장치 "firebase"를 안정적으로 .registration_id
토큰을 로컬 서버 데이터베이스로 전송하여 서버 소프트웨어가 밀어넣기 통지를 보낼 수 있도록 합니다.
생성된 클라이언트 등록 토큰을 100% 저장하기 위해 사용해야 하는 데이터베이스 필드의 최소 크기는 얼마입니까?
사용하는 두 개의 다른 라이브러리를 찾았습니다.TextField
그리고.VarChar(255)
하지만 최대 길이를 명확하게 정의하는 것은 없습니다.또한 토큰을 받을 때 서버 코드가 토큰을 "올바르게" 볼 수 있도록 빠른 길이 검사를 수행했으면 합니다. 확인할 최소 길이와 문자 집합은 무엇이 좋을까요?
FCM의 이 부분은 여전히 GCM과 동일하다고 생각합니다.따라서 @TrevorJohns의 다음 답변을 참조해야 합니다.
설명서에 패턴이 지정되어 있지 않으므로 유효한 문자열이 허용됩니다.나중에 형식이 변경될 수 있습니다. 이 경우 앱이 손상될 수 있으므로 패턴에 대해 이 입력의 유효성을 검사하지 마십시오.
"registration_id" 필드와 마찬가지로 크기 상한은 쿠키의 최대 크기인 4K(4096바이트)입니다.
미래 부분에서 형식이 바뀔 수 있음을 강조하면서, 저는 안전하게 유지하고 일반적인 최대 길이(위에서 언급한)를 초과하는 것을 제안합니다.등록 토큰의 형식과 길이도 다를 수 있기 때문입니다.
일반적인 길이와 문자의 경우 다음 두 가지 답변을 참조할 수 있습니다. 후자가 훨씬 더 명확합니다.
GCM registrationId의 형식에 대한 공식적인 정보를 본 적은 없지만, 그러한 ID의 데이터베이스를 분석하여 다음과 같은 결론을 내릴 수 있습니다.
- 대부분의 경우 등기의 길이ID는 162개의 기호와 같으나 119개의 기호와 다를 수 있으며 다른 길이도 다를 수 있습니다.
- 됩니다.
[0-9a-zA-Z\-\_]*
- 모든 레그ID에 - (마이너스) 또는 _ (밑줄) 중 하나 또는 둘 다 포함되어 있습니다.
저는 지금 GCM 대신 Firebase Cloud Messaging을 사용하고 있습니다.
제가 가지고 있는 registration_id의 길이는 152입니다.
또한 jamesc가 언급한 것처럼 매번 맨 처음에 ":"가 표시됩니다(예: bk3RNwTe3H0:CI2k_HHWgIpoDKCIZvvDMExUdFQ3P1).
저는 토큰을 저를 위해 작동하는 varchar(255)로 만듭니다.
그러나 registration_id의 길이는 4k 크기와 관련이 없습니다.네트워크를 통해 모든 크기의 데이터를 전송할 수 있습니다.일반적으로 쿠키는 이름, 값, 만료 날짜 등으로 구성된 4096바이트로 제한됩니다.
이것은 실제 fcm 토큰입니다.
c2aK9KMW8E:APA91bF7MY9bNnvGAXgbHN58lyDxc9KnuXNXwsqUs4uV4계F06HM1hMm-etu63S_4C-GnEtHAXJJJ4H__VcIk90A69qQz65 to Fejxyncceg0_j5xwoFWvPQ5pzKo69rUnuCl1GSSv
보다시피 토큰의 길이는 152입니다.
등록 ID의 상한선은 4K가 아닌 것 같습니다.그것은 그것보다 훨씬 낮다고 가정하는 것이 안전해야 합니다.
알림 페이로드의 상한은 4KB(링크)이며 알림 페이로드에는 토큰(링크)이 포함됩니다.페이로드는 또한 포함되어야 하기 때문에title
,body
기타 데이터도 마찬가지로, 등록 ID가 작아야 합니다.
그게 제가 문서에서 이해한 것입니다 ¯\_(ツ)_/¯
마지막으로 받은 토큰은 163자 길이였습니다. 저는 그것들이 절대 255자를 초과하지 않을 것이라고 가정해도 무방할 것 같습니다.
다른 답변의 일부 댓글은 훨씬 더 긴 길이를 보고했습니다!
갱신하다
지금까지 앱을 실행한 지 4개월 만에 등록 아이디가 10만 개가 넘었고, 각각 163자씩입니다.구글이 앱을 손상시키지 않기 위해 ID 길이를 안정적으로 유지할 가능성이 높습니다.그러므로, 저는 제안합니다.
- 로컬 컴퓨터에서 몇 개의 등록 ID를 얻는 중
- 길이를 측정하고 일정한지 확인(또는 적어도 크게 변하지 않음)
- ID 길이보다 약간 높은 안전한 초기 값 선택
지금은 길이가 변경될 가능성이 낮다고 생각하지만, 계속 지켜보겠습니다.앱에서 길이가 다른 아이디를 발견했다면 알려주세요!
언급URL : https://stackoverflow.com/questions/39959417/what-is-the-maximum-length-of-an-fcm-registration-id-token
'programing' 카테고리의 다른 글
C에서 문자열을 2개의 문자열로 분할하는 방법 (0) | 2023.07.06 |
---|---|
새 시간 초과 속성이 통과할 때 카운트다운 타이머가 표시되지 않습니다.어떻게 고칠까요? (0) | 2023.07.06 |
VBA Excel 2003에서 "내 문서" 폴더를 가져오는 언어 독립적인 방법 (0) | 2023.07.06 |
프로파일 값을 할당하는 방법은 무엇입니까? (0) | 2023.07.06 |
IPthon 노트북에서 대화형 matplotlib 창을 열려면 어떻게 해야 합니까? (0) | 2023.07.06 |