Я понял это. Проблема в том, что библиотека laravel -exponent-pu sh -notification отправляет все уведомления без канала сообщений на канал 'Default'.
Так что это будет работать, если я создам канал сообщений 'По умолчанию' на устройстве .
В качестве альтернативы есть еще две опции:
Опция 1: Создать канал сообщений на устройстве.
import { Notifications } from 'expo';
if (Platform.OS === 'android') {
await Notifications.createChannelAndroidAsync('chat-messages', {
name: 'Chat messages',
sound: true,
});
}
Отправьте уведомление
$getUserByEmail = User::where('email', 'user@email.com')->first();
$getUserByEmail->notify(new WelcomeNotification());
Уведомление должно содержать канал сообщения, зарегистрированный на устройстве:
public function toExpoPush($notifiable){
return ExpoMessage::create()
->badge(1)
->title("Hello World!")
->enableSound()
->body("Hello World!")
->setChannelId("chat-messages");
}
Опция 2: Изменить на Array () - метод в файле NotificationChannels\ExpoPushNotifications\
ExpoMessage.php
что-то вроде этого:
public function toArray()
{
$returnArray = [
'title' => $this->title,
'body' => $this->body,
'sound' => $this->sound,
'badge' => $this->badge,
'ttl' => $this->ttl,
'channelId' => $this->channelId,
'data' => $this->jsonData,
];
if (strtolower($this->channelId) == 'default' || $this->channelId == '') {
unset($returnArray['channelId']);
}
return $returnArray;
}
При отправке уведомлений в приложение expo без канала, expo автоматически создает канал и вы получите уведомление.