2016-10-11 3 views
1

채팅 응용 프로그램을 작성 중이며 iOS 응용 프로그램에 Firebase를 성공적으로 통합했습니다. 그리고 이제 Firebase 알림은 분명하지 않습니다. 필자는 설명서대로 모든 것을 올바르게 설정했으며 이제 Firebase 콘솔에서 알림을 보낼 때 장치에 알림을 보내고 있습니다. Firebase가 어떻게 특정 사용자에게 알림을 보내거나 알리는 지 알고 싶습니다. Firebase에 장비 정보를 보내야합니까? 아니면 어떻게 작동합니까?iOS 용 Firebase 알림 작동 전략

답변

0

나는 최근 FCM을 다룰 때 같은 문제에 부딪혔다.

여기에 설명 된 것처럼 메시지 페이로드에 데이터 및 알림 개체를 모두 설정해야합니다. 모두 통지 및 데이터 페이로드

https://firebase.google.com/docs/cloud-messaging/concept-options#notifications

메시지

앱 행동 및 데이터 페이로드 앱이 전경 - 기본적으로 배경이나 에 있는지 여부에 따라 두 알림이 포함 된 메시지를 수신, 영수증의 시점에서 활성화되어 있는지 여부.

백그라운드에서 앱은 알림 창에서 알림 창에서 알림 페이로드를 수신하고 사용자가 알림에서 을 탭하면 데이터 페이로드 만 처리합니다. 포 그라운드에서 앱은 두 페이로드를 모두 사용할 수있는 메시지 객체를받습니다.

{ 
    "to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...", 
    "notification" : { 
    "body" : "great match!", 
    "title" : "Portugal vs. Denmark", 
    "icon" : "myicon" 
    }, 
    "data" : { 
    "Nick" : "Mario", 
    "Room" : "PortugalVSDenmark" 
    } 
} 

는 또한, 당신은 당신이 장치에 푸시 알림을 제공 할 경우 높은 우선 순위를 설정해야합니다 여기에 통지 키와 데이터 키를 모두 포함하는 JSON 형식의 메시지입니다. 정상 및 높은 우선 순위 : 메시지

의 우선 순위를 설정 는 https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message

당신은 다운 스트림 메시지 전달의 우선 순위를 할당하는 두 가지 옵션이 있습니다. 정상 및 높은 우선 순위 메시지는 다음과 같이 작동합니다.

보통 우선입니다. 이것이 메시지 배달의 기본 우선 순위입니다. 보통 우선 순위 메시지는 절전 모드 인 장치에서 네트워크 연결을 열지 않으며 배터리를 절약하기 위해 배달이 지연 될 수 있습니다. 새 이메일 알림 또는 동기화 할 기타 데이터 알림과 같이 시간에 민감한 메시지가 적 으면 일반 배달 우선 순위를 선택하십시오.

우선 순위가 높은 FCM은 잠자는 장치를 났을 때 가능하고 앱 서버에 네트워크 연결을 열 수 FCM을 서비스를 허용하는 즉시 우선 순위가 높은 메시지를 전달하려고 시도합니다. 예를 들어 인스턴트 메시징, 채팅 또는 음성 통화 알리미가있는 앱은 일반적으로 네트워크 연결을 열고 FCM이 기기에 지체없이 메시지를 전달해야합니다.메시지가 이며 사용자의 즉각적인 상호 작용이 필요한 경우에만 높은 우선 순위를 설정하십시오. 그러나 은 메시지를 높은 우선 순위로 설정하면 일반적인 우선 순위 메시지와 비교하여 배터리 드레인에 더 많은 기여를합니다. 유효한 값은 정상 및 높음입니다. 자세한 내용은 HTTP 또는 XMPP에 대한 서버 참조를 참조하십시오.

iOS 클라이언트 앱의 경우 보통 및 높은 우선 순위는 APN 의 우선 순위 수준 5 및 10과 유사합니다. iOS 관련 동작에 대한 자세한 내용은 APN 설명서를 참조하십시오. Android 관련 동작에 대한 자세한 내용은 Doze 및 App 대기 모드 최적화를 참조하십시오.

{ 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "priority" : "high", 
    "notification" : { 
    "body" : "This week's edition is now available.", 
    "title" : "NewsMagazine.com", 
    "icon" : "new" 
    }, 
    "data" : { 
    "volume" : "3.21.15", 
    "contents" : "http://www.news-magazine.com/world-week/21659772" 
    } 
} 

당신은 당신이 성공적으로있는 경우 중포 기지에 아무 것도 보낼 필요가 없습니다 : 여기

는 보통 우선 순위 메시지의 예 다운로드 새로운 콘텐츠를 사용할 수있는 잡지 가입자에게 통지하는 것입니다 Firebase에 맞게 프로젝트를 구성했습니다. https://firebase.google.com/docs/cloud-messaging/ios/client

+0

안녕하세요 @ 아누 즈 감사와 나는 알림이이 방법 – User

+0

정확히입니다 보내드립니다 동시에 그래서 UID 화재베이스를 기반으로 사용자에게 문자 메시지를 보낼 생각하면 내가 통지 페이로드를 보낼 필요가 다음과 같이 이해 , 데이터와 알림 객체를 하나의 메시지로 보내고 Firebase ID를 사용하여 참조 할 필요가 있습니다. 장치 토큰은 자동으로 Firebase에 저장됩니다. 앱이 백그라운드에 있으면 알림이 표시됩니다. 메시지 우선 순위가 높음을 확인하십시오. –

+0

굉장합니다. Bro 나는 그것을 가지고 있습니다. 그리고 방법을 말해 줄 수 있습니다. IOS에서 데이터 및 알림 페이로드를 보내야합니다. togeather 지금은 내 앱에서만 메시지를 보내고, 방법은 무엇입니까? – User

0

나는 중포 기지가 처리하거나 특정 사용자에게 알림을 보내는 방법을 알고 싶어요.

는 중포 기지 Server는 메시지 큐를 처리하는 중간 남자 역할을합니다.

예를 들어, 다운 스트림 메시징의 경우 응용 프로그램 서버 또는 Firebase 콘솔에서 푸시 알림을 보내면 메시지는 FCM 서버로 전달되어 장치가 보내야 할 때까지 저장됩니다 to를받을 수있을 때까지 (또는 배달을 원할 때까지 Lifetime of a Message 참조).

라이프 사이클 흐름

  • 보내기 및 다운 스트림 메시지가 나타납니다

    당신은 (나는이 부분에 대한 생각 때문에 여전히 FCM에 대해 동일합니다) GCM이 Lifecycle Flow을 확인할 수 있습니다.

    • 메시지를 보내십시오. 앱 서버는 클라이언트 앱에 메시지를 전송합니다.
      1. 앱 서버가 GCM 연결 서버로 메시지를 전송합니다.
      2. GCM 연결 서버는 장치가 오프라인 인 경우 메시지를 대기열에 포함하고 저장합니다.
      3. 기기가 온라인 상태 일 때 GCM 연결 서버가 메시지를 기기로 전송합니다.
      4. 장치에서 클라이언트 응용 프로그램은 플랫폼 별 구현에 따라 메시지를받습니다. 자세한 내용은 플랫폼 별 설명서를 참조하십시오.
    • 메시지를 수신합니다. 클라이언트 앱이 GCM 연결 서버에서 메시지를받습니다.
내가 언급이 사람은 다운 스트림 메시징위한 것이라고

참고. 업스트림 메시징의 흐름에 대해 자세히 알고 싶으면 문서를 체크 아웃 할 수 있습니다.


우리가 중포 기지에 장치 정보를 전송해야합니까?

사용 사례에 따라 다릅니다. 나중에 사용하기 위해 모든 등록 토큰을 저장하는 것이 좋습니다.


또는 어떻게 작동합니까?

은 어떻게 작동 하는가 : 이미 위에서 언급 한 것을, 나는 공식 문서에서 How does it work?을 가서 인용 단지거야에서 게다가

?

FCM 구현에는 HTTP 또는 XMPP 프로토콜을 통해 FCM 및 클라이언트 응용 프로그램과 상호 작용하는 응용 프로그램 서버가 포함됩니다. 앱 서버 또는 Notifications 콘솔을 사용하여 메시지를 작성하고 보낼 수 있습니다.

Firebase 알림은 Firebase Cloud Messaging을 기반으로하며 클라이언트 개발을 위해 동일한 FCM SDK를 공유합니다. 테스트를 위해 또는 강력한 내장 타겟팅 및 분석으로 마케팅 또는 참여 메시지를 전송할 때 알림을 사용할 수 있습니다. 보다 복잡한 메시징 요구 사항이있는 배포의 경우 FCM이 올바른 선택입니다. 주석에 대한