13

나는 DB에서 모든 등록 ID (푸시 토큰)를 유지하고 iPhone에서 사용자에게 알림을 보내는 것에 대해 생각하고 있습니다. 나는 이와 같은 것을 시도했지만 아무런 통지를받지 못했다.장치에서 FCM (Firebase Cloud Messaging)을 특수 UDID로 사용하여 PushNotifications를 보낼 수 있습니까?

func sendPNMessage() { 
    FIRMessaging.messaging().sendMessage(
     ["body": "hey"], 
     to: TOKEN_ID, 
     withMessageID: "1", 
     timeToLive: 108) 
} 

내가 뭘 잘못하고 있는지, 아니면 전혀 불가능한가요?

답변

18

현재 응용 프로그램 자체에서 메시지를 보낼 수 없습니다. Firebase 웹 콘솔 또는 서버 측 API를 사용하는 사용자 정의 서버에서 메시지를 보낼 수 있습니다.

http 호출 등을 통해 서버에 접속하면 서버가 사용자에게 메시지를 보냅니다. 이렇게하면 서버의 API-KEY가 보호됩니다.

PS : sendMessage(..) api는 업스트림 기능이라고하며 서버에 FCM 서버와 XMPP 연결이있는 경우 앱에서 사용자의 서버로 메시지를 전송하는 데 사용할 수 있습니다.

+1

푸시 알림을 보내려면 서버가 필요합니다.응답 해 주셔서 감사합니다! – Svitlana

+0

@Svitlana :이 대답이 유용하다면 왼쪽에있는 upvote 버튼을 클릭하십시오. 질문에 답한 경우 체크 표시를 클릭하십시오. 그런 식으로 다른 사람들은 당신이 (충분히) 도움을 받았다는 것을 알게됩니다. –

+0

서버에 대한 답변을 보내 주셔서 감사합니다! – Svitlana

7

예, Firebase를 통해 푸시 알림을 보낼 수 있습니다. 클라이언트에 서버 키를 포함하지 마십시오. "위대한 사람들이 아니라는 것을"발견하고 물건을 얻는 방법이 있습니다 ... 올바른 방법은 클라이언트가 앱 - 서버에 알림을 전송하도록 지시하는 것입니다.

Google-API-Endpoint에 HTTP-Post를 보내야합니다.

는 다음과 같은 헤더가 필요합니다

Content-Type: application/json 
Authorization: key={your_server_key} 
You can obtain your server key within in the Firebase-Project. 

HTTP-Post-Content: Sample 

{ 
    "notification": { 
     "title": "Notification Title", 
     "text": "The Text of the notification." 
    }, 
    "project_id": "<your firebase-project-id", 
    "to":"the specific client-device-id" 
} 
+0

그렇습니다, 다른 사람들은 말하지 않습니다. 파이어베이스로 일하는 사람들을 포함하여 ... 정답은 무엇입니까? –

+1

나는 이것을 구현했고 나를 위해 잘 작동한다. –

+0

그들은 기술적으로 모두 정확하다. 이 답변은 작동하지만 서버 키를 세계에 노출했기 때문에 수행해서는 안됩니다 – Mbrevda

1

Google 클라우드 기능은 앱 서버없이 장치 간에서 지금 가능 보내기 푸시 알림을합니다.

From the Google Cloud Functions documentation:

개발자는 사용자가 종사하고 응용 프로그램에 대한 관련 정보를 최신 상태로 유지하기 위해 클라우드 기능을 사용할 수 있습니다. 예를 들어, 사용자가 앱에서 서로의 활동을 추적 할 수있게 해주는 앱을 고려해보십시오. 그런 응용 프로그램에서 실시간 데이터베이스에 의해 트리거 된 함수는 새로운 팔로워를 저장하는 에 쓰기 때문에 FCM (Firebase Cloud Messaging) 알림을 작성하여 적절한 사용자에게 명의 새로운 팔로어를 얻었음을 알릴 수 있습니다.

예 :

  1. 기능은 트리거 추종자가 저장되는 실시간 데이터베이스 경로에 기록합니다.

  2. 이 기능은 FCM을 통해 전송할 메시지를 구성합니다.

  3. FCM이 알림 메시지를 사용자의 장치로 보냅니다.

중포 기지와 Google 클라우드 기능과 장치 간 푸시 알림을 보내는

Here is a demo project

.

관련 문제