Я занимаюсь разработкой мобильного приложения с использованием ионной среды. Я успешно внедрил push-уведомления. На моем устройстве успешно приходят уведомления. Все работает отлично. Теперь я хочу получить доступ к заголовку внутри моего приложения.
Вот мой код:
$ionicUser.identify(user).then(function(){
//$scope.identified = true;
//alert('User ID ' + user.user_id);
//alert("here");
$ionicPush.register({
canShowAlert: true, //Can pushes show an alert on your screen?
canSetBadge: true, //Can pushes update app icon badges?
canPlaySound: true, //Can notifications play a sound?
canRunActionsOnWake: true, //Can run actions outside the app,
onNotification: function(notification) {
alert(notification.title);//here I want to get title
// Handle new push notifications here
// console.log(notification);
return true;
Я использую php для отправки уведомления:
вот код:
$msg = array
(
'notId' => time(),
'message' => 'Technovault is awesome!!!',
'title' => 'Title',//get this title inside my app
'smallIcon' =>'icon',
//'path' =>'www.google.com'
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . 'xxxxxxxxxx',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo $result;
}
Please help
Вы можете получить доступ к заголовку из полезного объекта, который имеет структуру как notification.payload.title
и в каждом уведомлении есть параметр foreground
имеющий значение false
или же true
, Когда вы приходите в приложение, нажав на уведомление, то оно будет иметь false
значение, так что вы используете это как:
onNotification: function(notification) {
if(notification.foreground === false){
//put here your logic to go in any state
}
}
Других решений пока нет …