2016-06-26 5 views
0

FCM을 사용하도록 기존 앱을 이전하려고합니다. 나는 APNS 토큰을 가져다 컬 사용하여 "batchImport"서비스로 보내 batchImport (iOS)를 통해 얻은 FCM 토큰 사용

curl -H "Authorization: key=<auth key>" -H "Content-Type: application/json" -X POST -d "{\"application\": \"com.myco.myapp\", \"sandbox\": false, \"apns_tokens\": [\"410564ffd0aaf91dd06e8ab7b8362238e2c7f1bbd5a520d6afaff38c9b670a90\"] }" https://iid.googleapis.com/iid/v1:batchImport 

내가 응답 "registration_token"를받을 수 있습니다. 그런 다음 해당 토큰을 사용하여 푸시 알림을 요청하면 해당 알림이 장치에 도착하지 않습니다. 다음과 같이 말입니다 :

curl -H "Authorization: key=<Auth key>" -H "Content-Type: application/json" -d "{\"to\":\"<registration_token_from_above>\", \"notification\":{\"body\":\"First\", \"title\":\"Num 1\"}}" -X POST https://fcm.googleapis.com/fcm/send 

또한 Firebase 콘솔의 "알림"도구에서도 보낼 수 없습니다.

여기 예제에서 두 번째 프로젝트를 만들었습니다 : https://github.com/firebase/quickstart-ios.git. 이것은 Firebase 콘솔과 컬에서 모두 작동합니다.

FireFox 클라이언트 코드에서 batchImport 서비스를 사용할 때 발생하는 이상한 일이 있습니까? 그렇다면 어떻게 다른 서비스에서 FCM으로 마이그레이션 할 수 있습니까?

+0

curl을 사용하여 batchImport에서 토큰을 보낼 때 일괄 처리 가져 오기에서 생성 된 토큰이 다른 모든 토큰처럼 작동해야합니다. –

+0

가 여기에 응답'이었다 { "결과": [{ "registration_token": "cpy8GQmQSFE : APA91bFcOVrbT88MUEhWCTs5E9 를", "apns_token을": "410564ffd0aaf91dd06e8ab7b8362238e2c7f1bbd5a520d6afaff38c9b670a90를", "상태": "OK"}]}' – HammondSuisse

+0

죄송합니다 나는 당신이 응답을 의미 registration_token을 사용하여 장치에 다운 스트림 메시지를 보낼 때 가져옵니다. –

답변

1

다운 스트림 컬 명령에 "priority"를 추가하십시오. iOS 기기에서는 '제목'이 지원되지 않습니다.

+0

이것은 정확히 문제였습니다. 우선 순위 : 높음을 제공하면이 작업이 시작되었습니다. 다른 사람이 이것이 기본이어야한다고 생각합니까 ??? iOS 세계에서 동일한 우선 순위 설정은 기본적으로 높음 (10)으로 설정됩니다. [link] (https://developer.apple.com/library/prerelease/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) – HammondSuisse

0

어떻게 작동합니까?

는 중포 기지 문서에 발견 :

FCM 구현은 는 HTTP 또는 XMPP 프로토콜을 통해 FCM과 상호 작용하는 환경에서 응용 프로그램 서버 및 클라이언트 응용 프로그램이 포함되어 있습니다. 또한 FCM에는 Notifications 콘솔이 포함되어 있습니다.이 콘솔을 사용하여 클라이언트 응용 프로그램에 알림을 보낼 수 있습니다.

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

어떻게하면 다른 서비스에서 FCM으로 마이그레이션하겠습니까?

문서에 전체 Migration Guide for iOS이 있습니다.

가져 오기 구글 프로젝트를 선택하고 중포 기지 프로젝트 중포 기지 콘솔 1.In

로 GCM 프로젝트를 가져옵니다.

2. 기존 프로젝트 목록에서 GCM 프로젝트를 선택하고 Firebase 추가를 선택하십시오.

3. Firebase 시작 화면에서 iOS 응용 프로그램에 Firebase 추가를 선택하십시오.

4. 번들 이름과 선택적 앱 스토어 ID를 제공하고 앱 추가를 선택하십시오. Firebase 앱의 새로운 GoogleServices-info.plist 파일은 입니다.

5. 계속을 선택하고 자세한 지침에 따라 응용 프로그램의 xcworkspace 파일을 만들고 시작시 Firebase에 연결하십시오.

+0

고마워,하지만 마이 그 레이션에 대한 내 질문은 토큰의 처리 주위입니다. 실제 서버를 구축하기 전에'curl'을 사용하여 서버의 역할을 시뮬레이션합니다. 따라서 기존 솔루션에 대한 자사의 온 - 프레미스 데이터베이스에 APNS 토큰을 등록한 기존 앱을 사용하는 경우 batchImport 서비스 호출을 사용하여 등록 토큰으로 변환해야하는 것처럼 보입니다. 그러나 테스트 할 때 해당 토큰이 알림을 보내기 위해 작동하는지 알 수 없습니다. 그렇다면 클라이언트에서 클라이언트 API를 사용하고 ** 서버에서 ** batchImport를 사용하는 것이 필수적입니까? – HammondSuisse

+0

나는 당신의 절차에 익숙하지 않다. 하지만 언제든지 [GCM iOS] (https://developers.google.com/cloud-messaging/ios/client)를 통해 등록 토큰을 처리하는 방법에 대해 자세히 설명 할 수 있습니다. – noogui

0

batchImport로 만든 토큰을 사용하여 알림을 보낼 때 발생할 수있는 또 다른 문제는 sandbox 매개 변수를 올바르게 설정해야합니다. sandbox: true을 설정할 때까지 모든 종류의 이상한 오류 (유효하지 않은 토큰, 등록되지 않은 토큰, 유효하지 않은 APNS 자격 증명)로 인해 내 알림이 거부되었습니다.