Если ваш пользователь убил приложение, вы не можете убедиться, что ваш пользователь поддерживает его активным. Но если вы действительно хотите попробовать, вы можете использовать это .
Наиболее эффективным является использование Push-уведомлений . Ваш сервер может отправлять уведомления в ваше приложение, когда новые данные будут сохранены.
РЕДАКТИРОВАТЬ
На стороне сервера вы можете запустить функцию отправки push-уведомлений примерно так:
function sendGCM($message, $id) {
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array (
'registration_ids' => array (
$id
),
'data' => array (
"message" => $message
)
);
$fields = json_encode ( $fields );
$headers = array (
'Authorization: key=' . "YOUR_KEY_HERE",
'Content-Type: application/json'
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );
$result = curl_exec ( $ch );
echo $result;
curl_close ( $ch );
}
?>
Запускайте эту функцию каждые 5 минут в php, если хотите, но лучше, когда сохраняются новые данные.
ИСТОЧНИК
И, с другой стороны, вы можете выполнить функцию для получения ваших данных, когда вы ловите push-уведомление. Примерно так:
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar, Splashscreen } from 'ionic-native';
import { HomePage } from '../pages/home/home';
import {
Push,
PushToken
} from '@ionic/cloud-angular';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
rootPage = HomePage;
constructor(platform: Platform, public push: Push) {
platform.ready().then(() => {
StatusBar.styleDefault();
Splashscreen.hide();
this.push.register().then((t: PushToken) => {
return this.push.saveToken(t);
}).then((t: PushToken) => {
console.log('Token saved:', t.token);
});
this.push.rx.notification()
.subscribe((msg) => {
// CALL SERVE TO GET DATA
});
});
}
}
ИСТОЧНИК