मेरे पास एक वास्तविक मूल ऐप है जहां मैं जावास्क्रिप्ट में एक हैंडलर को एक चुप आईओएस पुश अधिसूचना प्राप्त करने की कोशिश कर रहा हूं।ऐप पृष्ठभूमि में होने पर प्रतिक्रिया मूल के साथ मूक आईओएस पुश अधिसूचना
जो व्यवहार मैं देख रहा हूं वह यह है कि AppDelegate
में फ़ंक्शन को कॉल किया जाता है लेकिन जावास्क्रिप्ट में मेरा हैंडलर तब तक नहीं बुलाया जाता है जब तक कि ऐप अग्रभूमि में न हो या हाल ही में बंद हो गया हो।
बात मैं के बारे में उलझन में हूँ स्पष्ट रूप से एप्लिकेशन और होने जगाया जा रहा है यह है didReceiveRemoteNotification
समारोह कहा जाता है, लेकिन फिर [RCTPushNotificationManager didReceiveRemoteNotification:notification]
करने के लिए कॉल कुछ भी करने को नहीं लगता है।
इसके अलावा, अगर मैं अधिसूचना प्राप्त करने के बाद ऐप खोलता हूं, तो मुझे लगता है कि उस बिंदु पर प्रतिक्रिया मूल हैंडलर को बुलाया जाता है।
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)notification
{
NSLog(@"didReceiveRemoteNotification");
[RCTPushNotificationManager didReceiveRemoteNotification:notification];
}
मेरी का रूट घटक में घरेलू एप्लिकेशन प्रतिक्रिया मैं इस किया है::
componentDidMount() {
AppState.addEventListener('change', this.handleAppStateChange);
PushNotificationIOS.addEventListener('notification', (notification) => {
console.log("notification recieved");
})
}
handleAppStateChange(currentAppState) {
console.log(currentAppState);
}
मैं निम्नलिखित के साथ एडब्ल्यूएस एसएनएस का उपयोग कर एक पुश सूचना भेज रहा हूँ
मेरे didReceiveRemoteNotification
समारोह इस तरह दिखता है संदेश:
{
"APNS_SANDBOX":"{\"aps\":{\"content-available\":\"1\"}}"
}
यहां एक्सकोड से लॉग है:
2016-04-20 10:38:01.255 [info][tid:com.facebook.React.JavaScript] inactive
2016-04-20 10:38:01.986 [info][tid:com.facebook.React.JavaScript] background
2016-04-20 10:38:17.279 test[4056:1383261] didReceiveRemoteNotification
2016-04-20 10:38:17.284 [info][tid:com.facebook.React.JavaScript] notification recieved
2016-04-20 10:44:56.330 test[4056:1383261] didReceiveRemoteNotification
2016-04-20 10:44:56.332 [info][tid:com.facebook.React.JavaScript] notification recieved
2016-04-20 10:46:07.091 test[4056:1383261] didReceiveRemoteNotification
2016-04-20 10:49:30.039 [info][tid:com.facebook.React.JavaScript] notification recieved
2016-04-20 10:49:30.639 [info][tid:com.facebook.React.JavaScript] active
इस लॉग में, 3 पुश अधिसूचनाएं भेजी गईं। 10:38 और 10:44 को प्राप्त किए गए दोनों को जावास्क्रिप्ट सही ढंग से कहा जाता है। हालांकि, 10:46 पर प्राप्त एक व्यक्ति ने जावास्क्रिप्ट में हैंडलर को तब तक नहीं बुलाया जब तक कि मैंने 10:49 पर ऐप खोला नहीं।
क्या कुछ भी है जो मैं यह सुनिश्चित करने के लिए कर सकता हूं कि मेरे रिएक्ट नेटिव कोड पर कॉल ऐप नहीं चल रहा है?
ग्रेट, ऐसा लगता है कि यह हल हो गया है! – DownChapel