Я знаю, что этот вопрос задан и ответил много раз, но ни одно из решений не работает для меня.Открыть конкретное представление в ионном приложении, когда пользователь нажимает на push-уведомление
Я выполнил документацию ionic.io https://docs.ionic.io/services/push/, чтобы реализовать push-уведомление, и оно отлично работает, когда приложение находится на переднем плане. Я также могу получать уведомления, когда приложение закрыто. Теперь, когда пользователь нажимает на это уведомление, я хочу открыть конкретное представление.
В соответствии с документацией Для обработки push-уведомлений в вашем приложении нам необходимо прослушать облако: push: уведомление с использованием углового $ on.
$scope.$on('cloud:push:notification', function(event, data) {
var msg = data.message;
alert(msg.title + ': ' + msg.text);
});
Этот код отлично работает, когда приложение находится на переднем плане. Но когда приложение закрыто, и пользователь открывает приложение, нажав push-уведомление, я хочу открыть конкретный view/controller. Я разместил вышеуказанный код в функции .run и вне функции $ ionicPlatform.ready. Вот мой код для вызова службы FCM Rest
function sendFCMNotification($request_data){
$ch = curl_init("https://fcm.googleapis.com/fcm/send");
//The device token.
$token = $request_data['device_id'];
//Title of the Notification.
$title = $request_data['title'];
//Body of the Notification.
$body = $request_data['body'];
//Creating the notification array.
$notification = array('title' =>$title , 'body' => $body,'content-available'=> '1');
//This array contains, the token and the notification. The 'to' attribute stores the token.
$arrayToSend = array('to' => $token, 'notification' => $notification);
//Generating JSON encoded string form the above array.
$json = json_encode($arrayToSend);
//Setup headers:
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: key= {MY GCM KEY}';
//Setup curl, add headers and post parameters.
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
//Send the request
curl_exec($ch);
//Close request
curl_close($ch);
}
Может кто-нибудь мне помочь в достижении этой цели?
Pushwoosh предоставляет метод, который может сообщить нам, было ли запущено приложение, нажав push-уведомление или нет. https://rawgit.com/Pushwoosh/pushwoosh-phonegap-3.0-plugin/master/Documentation/files/PushNotification-js.html#PushNotification.getLaunchNotification
Есть ли аналогичная функция в ионном пульте Push?
Привет Раджа, я непосредственно позвонив в REST API ТСМ. В любом случае позвольте мне попробовать. –
Дайте мне знать, если это работает @NeelKamal –
Спасибо человеку. Это работает. Но я не уверен, почему это не сработало, когда я отправил его непосредственно в FCM. Может быть добавлена полезная нагрузка. Конечно, попробуй. –