2016-07-18 13 views
7

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

+1

Myślę, że trzeba wdrożyć po zbudowaniu Powiadomienia. Widziałeś już to [post] (http://stackoverflow.com/q/18253482/4625829)? –

+2

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

+0

Zobacz także https://stackoverflow.com/questions/42555899/firebase-push-notifications-vibrate-in-background – Kato

Odpowiedz

7

Z tego co ja testowałem format powiadomienia FCM wydaje się być dość sztywny, więc dla powiadomień niestandardowych, rozwiązanie wydaje się być:

  1. 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)
  2. Tworzenie zgłoszenia na realizację zamienione na onMessageReceived(RemoteMessage remoteMessage) z aplikacja na FirebaseMessagingService (Example)
+0

to tylko dźwięk powiadomienia ** ** lub też **wibracja**? – newbieguy

14

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.

-1

array("title"=>"hello","body" =>"hello world",'sound' => 'default')

+0

zapisz w zmiennej, a następnie użyj tej funkcji –

+0

funkcja send_notification ($ tokeny, powiadomienie $) { $ url = 'https://fcm.googleapis.com/fcm/send'; $ priority = "high"; $ pola = array ('registration_ids ' => $ żetony, 'powiadomienie' => $ powiadomienie ); –

+0

dodaj kod do odpowiedzi – Raviteja