Я использую FCM в Android от Reaction-native-Firebase.Я просто хочу открыть подключение xmpp к серверу чата в течение 2-4 секунд после получения push-уведомления от сервера.Мне нужно это соединение в течение 2-4 секунд, потому что после соединения с сервером чата я настраиваю событие для соединения и просто хочу, чтобы клиент Android обрабатывал сообщение (из-за полученного нажатия), и оно не должно занимать более 2-4 секунды.
Проблема: Теперь проблема в том, что я не могу удерживать функцию с функцией задержки, как показано ниже:
delay(miliseconds){
return (new Promise(resolve => setTimeout(resolve, miliseconds)))
}
export default async (message: RemoteMessage) => {
try{
// create a xmpp connection to the chat server
// set up event on this conn. and wait for 2 seconds
// this delay make the code stop. And this code run from here after the app is opened by clicking the app icon
// This indicated that setTimeout() is not working
await this.delay(2000);
// Nothing below executes untill the app is open manually
} catch(e){
console.warn("err: ", e.message);
}
return Promise.resolve();
}
Я следую за реакцией-native-firebase Guide для включения push-уведомлений на Android, когда приложение убито.Смотрите здесь: https://rnfirebase.io/docs/v5.x.x/messaging/receiving-messages
Есть предложения?