Я отправляю уведомления FCM через laravel-notification-channels/fcm и, похоже, это работает так, как ожидалось:
public function toFcm($notifiable): FcmMessage
{
$message = (new FcmMessage(notification: new FcmNotification))->data([
'WX_PUSH_EXT_VERSION' => '1.0',
'WX_PROP_CONTENT' => 'Test',
//'WX_PROP_MESSAGE' => 'Your account has been activated',
'WX_PROP_LOCAL' => false,
'WX_PROP_TITLE' => 'Account Activation',
'WX_PROP_ACTIVATEAPPLICATION' => true,
'WX_PROP_PRIORITY' => 1,
'WX_PROP_DELETABLE' => true,
'WX_PROP_VIBRATION' => true,
])->custom($this->customOptions());
config()->set('fcm.debug', $message->toArray());
return $message;
}
Следуя документации PC Soft WinDEV Mobile (https://doc.windev.com/en-US/?1000021399), я вижу, что если я пройду WX_PROP_MESSAGE, это отображает локальное уведомление, которое при нажатии на него попадает в процедуру.
Опять же, следуя документации, в которой говорится, что если WX_PROP_MESSAGE не отправлено, процедура должна быть запущена без отображения локального уведомления (я хочу сделать это только для синхронизации), она действительно попадает в процедуру, которая определена следующим образом:
PROCEDURE NotificationCallBack(MyNotif is Notification)
<COMPILE IF ConfigurationType=Android>
sContent is string
sFContent is string
sSecondary is string
sTitle is string
Info("Im In")
sContent = MyNotif.Content // I expect Test here but its empty
sTitle = MyNotif.Title
Info(sContent)
Info(sFContent)
Info(sSecondary)
Info(sTitle)
<END>
Проблема в том, что каждое из этих Notification свойств пусто, когда приходит уведомление... что я здесь делаю не так? Полезная нагрузка, которую я отправляю, выглядит следующим образом:
{
"data": {
"WX_PUSH_EXT_VERSION": "1.0",
"WX_PROP_CONTENT": "Test",
"WX_PROP_LOCAL": false,
"WX_PROP_TITLE": "Account Activation",
"WX_PROP_ACTIVATEAPPLICATION": true,
"WX_PROP_PRIORITY": 1,
"WX_PROP_DELETABLE": true,
"WX_PROP_VIBRATION": true
},
"registration_ids": [
"<TRUNCATED>"
]
}
Я ожидаю, что внутри MyNotif.Content есть Test, который позже я изменю на полезную нагрузку JSON, чтобы направить телефон на синхронизацию с определенными частями сервера.
Из документации по Notification видно, что нам нужно свойство Content для данных пользовательских уведомлений: https://doc.windev.com/en-US/?1000019441&name=notification_variable_type
Точно так же, но прежде чем я сделал предположение и сказал им, что им нужно обновиться, я подумал, что стоит дважды проверить, я не делаю ничего плохого со своей стороны xD. Я использую WinDEV 27, где последней версией является WinDEV 2024, что означало бы обновление всего проекта. и тратить тысячи на новые ключи :( Если у вас 2024, сможете ли вы воспроизвести такое поведение? Или это работает на 2024?






Я не вижу ничего плохого. Возможно, это ошибка WINDEV. Вы используете последнюю версию?