참고 : 일반적인 푸시 알림 (예 : GCM 및 APNS)을 사용하는 경우 this을 대신 사용하십시오. 다른 제 3 자 푸시 서비스를 사용해야하므로 고유 한 SDK (React Native)를 브리징하는 방법을 찾아야합니다.
그래서이 문제로 수 시간 동안 고생 한 후 문제의 해결책을 발견했습니다. 이 솔루션은 두 부분으로 나누어 :
emitter
,이 의지는 서버가 푸시를 보낼 때마다 이벤트를 방출한다.
listener
,이 이벤트는 이전에 내 보낸 이벤트를 수신합니다.
터이 내가 this 라이브러리 GCM을 사용 않았다 방법에서 배운이 부분에 대한 기본면 (내 경우에는 안드로이드)
에서 발생
. 그리고 RN 문서에 here 자습서가 있습니다.
당신이 SomeBroadCastReceiver onReceive()
기능에 대한 귀하의 푸시를받을 기본적 후에는
청취자가 RN 측에 건설 될 예정이 기능
reactContext
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
//this eventName is a key so you need to remember it, because you need to call it on the listener
.emit(eventName, params);
리스너에 PARAMS로 번들을 전달할 수 있습니다. 이 documentation 나를 도와줍니다. RN iOS 문서에만 표시되기 때문에 이전에이 설명서가 누락되었습니다.
import { NativeEventEmitter, NativeModules } from 'react-native';
//import your already created package name here
const { YourCustomPackageName} = NativeModules;
는
const yourCustomPackageEmitter = new NativeEventEmitter(YourCustomPackageName);
pushListenerEmitter.addListener(eventName, this.handlePush, this);
ComponentWillMount()
에 당신은 단지 handlePush
기능을 만들고
handlePush = (event) => {
console.log('event triggered..');
console.log(event);
}
거기 PARAMS을 얻을 필요