Czy urządzenie z Androidem może wibracjami otrzymywać powiadomienia w tle za pomocą Firebase Cloud Messaging? Od Syntax Reference widziałem i testowałem, że dźwięk jest obsługiwany, ale nie ma informacji o wibracjach. Czy może w jakiś sposób zapewnić niestandardową implementację dla tego powiadomienia, w której bezpośrednio ustawiłbym wibracje?Firebase Cloud Messaging Powiadomienie Wibracja
Odpowiedz
Z tego co ja testowałem format powiadomienia FCM wydaje się być dość sztywny, więc dla powiadomień niestandardowych, rozwiązanie wydaje się być:
- Upewniwszy się, że ładowność wiadomości JSON wysyłane dalszy zawiera parametr
data
ale nie zawieraćnotification
parametrów (źródła: Message JSON Syntax, FCM Message Types) - Tworzenie zgłoszenia na realizację zamienione na
onMessageReceived(RemoteMessage remoteMessage)
z aplikacja naFirebaseMessagingService
(Example)
to tylko dźwięk powiadomienia ** ** lub też **wibracja**? – newbieguy
Należy oznaczyć się jako poprawna odpowiedź.
Na sidenote, jeśli nie wysłać powiadomienie oraz pola danych, należy użyć
"notification":{
"sound":"default"
}
Pozwoli to odtwarzać dźwięk, gdy aplikacja znajduje się w tle, a urządzenie jest ustawione na dźwięk i będzie grać wibracja, jeśli urządzenie jest ustawione na wibracje.
Jednakże, jeśli chodzi o personalizację, myślę, że musisz użyć ładunku danych tylko wtedy, gdy chcesz na przykład dostosować wzór wibracji.
array("title"=>"hello","body" =>"hello world",'sound' => 'default')
zapisz w zmiennej, a następnie użyj tej funkcji –
funkcja send_notification ($ tokeny, powiadomienie $) { $ url = 'https://fcm.googleapis.com/fcm/send'; $ priority = "high"; $ pola = array ('registration_ids ' => $ żetony, 'powiadomienie' => $ powiadomienie ); –
dodaj kod do odpowiedzi – Raviteja
Myślę, że trzeba wdrożyć po zbudowaniu Powiadomienia. Widziałeś już to [post] (http://stackoverflow.com/q/18253482/4625829)? –
Rzecz w przypadku FCM polega na tym, że kiedy powiadomienie jest wysyłane, a aplikacja jest w tle, [Powiadomienie jest budowane wewnętrznie] (https://firebase.google.com/docs/cloud-messaging/concept-options#notifications). Myślę, że rozwiązaniem dostosowującym powiadomienie jest dostarczenie tylko ładunku danych, a tym samym [zagwarantowanie, że zostanie wywołana metoda onMessageReceived() mojej usługi] (https://firebase.google.com/docs/cloud-messaging/concept-options) #notifications_and_data_messages), a następnie budowanie powiadomień w implementacji metody – apidae
Zobacz także https://stackoverflow.com/questions/42555899/firebase-push-notifications-vibrate-in-background – Kato