2016-05-31 4 views
0

내 앱 사용자에게 푸시 알림을 보내도록 Firebase를 설정했습니다. 그러나 채팅 클라이언트와 같이 사용자 간 통신과 관련하여 가장 좋은 방법이 무엇인지 잘 모르겠습니다. 앱을 시작할 때마다 기기 토큰을 가져 와서 전송 용으로 사용해야합니까? 아니면 각자 "chatroom"에 가입해야하는 새로운 주제를 만들어야합니까? 예를 들어 채팅 요청을 수락 할 때.APNS (Firebase 버전 3)

첫 번째 옵션이 가장 좋은 경우 어떻게 작동합니까? 앱을 시작할 때 기기에 새 토큰이 지정되면 특정 ID가 특정 기기를 가리키는 것을 어떻게 확인할 수 있습니까? 전체 개념은 약해 보입니다. 그러나 누군가 나를 가장 효율적인 해결책으로 안내 할 수 있습니까?

난 단지 채팅 메시지를 보낼 찾고 있어요/채팅 푸시

+0

채팅이 소켓 프로그래밍 기술을 사용하여 처리하는 것이 가장 좋습니다 : 사용자 등록이 질문을 참조 후

  • 토큰 처리합니다. –

  • 답변

    1

    크기에 따라 당신이 사용하는 사이에 선택할 수있는 채팅방의 개인 정보 보호에 초대합니다 :

    • 주제했다 큰 그룹의 경우 및 가입/퇴장에 대한 보호가없는 경우
    • 장치 토큰을 서버 구현에 저장해야합니다.
      더하기 쪽에서 그들은 메시지를받는 사람을 제어하고 개별 장치에 메시지를 보낼 수 있습니다.

    장치 토큰이 시작될 때마다 바뀌지 않습니다. 응용 프로그램을 처음 시작할 때 만들어지며 특수한 경우에 업데이트 할 수 있습니다. 토큰이 변경되면 (다시 한번 말하지만) FirebaseInstanceIdService.onTokenRefresh() 콜백이 호출됩니다. 에

    일반 채팅 응용 프로그램에서 당신은 할 수 있습니다 :

    1. 먼저 서버에 로그인 시스템
    2. 업로드하여 사용자를 인증 매핑 사용자 ID> 장치 토큰
    3. 가 메시지를 보낼 수 사용자는 FCM 서버 측 API를 통해 코멘트 중 하나를 해결하기 위해

    업데이트 :

    1. 서버 측 API는 같은 HTTP 요청에서 여러 토큰에 동일한 메시지를 보낼 수 있습니다. registration_ids에서 https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json
    2. 클라이언트에서 서버 측 API를 사용하면 보안상의 문제인 응용 프로그램에 API-KEY를 추가해야하기 때문에 (사람들이 응용 프로그램을 디 컴파일하여 키를 읽을 수 있기 때문입니다)
    3. 저장 구조는 사용자가 결정합니다. user-id> multiple-device-tokens의 경우 사전이 작동 할 수 있습니다.
    4. 토큰을 재사용 할 수없는 경우. 따라서 만료 된 토큰에 메시지를 보내는 것이 안전합니다.
    5. 토큰을 생성하려면 인터넷 연결이 필요하므로 시간이 오래 걸릴 수 있습니다. How to launch FCM ID Service only after a particular activity is triggered?
    +0

    나는 장치 토큰이 변경되지 않는다는 혼란을 없앤다.하지만 시작 중에 한 번 생성된다. 현재 노드'users/'을 가지고 있으며 토큰을 저장할 수 있습니다. 예를 들어'users//device_token' – Erik

    +0

    과 같이 좋을 것 같습니다. 사용자 ID는 여러 장치를 가질 수 있으므로 여러 토큰을 사용할 수 있습니다. 추신 : 여기에 귀하의 질문이 포함되어있는 경우 답변을 수락 해주십시오. –

    +0

    iOS SDK를 사용하여 여러 토큰에 하나의 알림을 보낼 수 있습니까? 그렇다면 토큰을 사전으로 저장해야합니까? 토큰이 변경되고 이에 따라 데이터베이스를 업데이트하지 못하면 해당 토큰에 개인 통지를 보내면 안됩니까? 또는 고유하고 재사용 할 수없는 키입니까? 이 토큰이 즉시 생성됩니까? 또는 네트워크 연결 또는 이와 유사한 방식을 사용합니까? 데이터베이스 업데이트 논리를 처리하는 방법을 완전히 알지 못하기 때문에 초기 사용자 등록 전후에 토큰이 생성 될 수 있습니다. 허용 된 문자와 관련하여 토큰을 키로 사용하는 것이 안전합니까? – Erik