2014-05-20 1 views
9

So come creare notifiche push silenziose (con la riproduzione di un file audio silenzioso). Vorrei anche inviare una notifica push che non vibri il telefono.Come posso creare notifiche push iOS che non vibrano?

Quando si imposta il file audio silenzioso come suggerito di seguito, il telefono vibra ancora quando è bloccato o quando l'app non è attiva.

mio carico utile che vibra ancora:

{ 
    aps =  { 
     alert =   { 
      "loc-key" = "SOME_KEY"; 
     }; 
     badge = 1; 
     sound = "silence.caf"; 
    }; 
} 

è possibile?

+0

sound = ""; Prova questo :) –

+0

@DavidR. Stava chiedendo di "inviare una notifica push che non vibra telefono". –

+0

Sì, ho bisogno di sapere come disattivare le vibrazioni. – DixieFlatline

risposta

0

Ho fatto in questo modo: il server invia un push al dispositivo con il nome del file audio che è silenzioso. Ecco fatto.

Esempio:

Incomming payload dal server: manico

{ aps = { "content-available" = 1; sound="silence.mp3" }; data-id = 1234; } 

E dispositivo in AppDelegate:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { 
    NSInteger data_id= [userInfo[@"data-id"] integerValue]; 
    NSLog(@"Data-id: %i", data_id); 
    // 
    // code... 
    // 
    // UIBackgroundFetchResultNoData/UIBackgroundFetchResultFailed/UIBackgroundFetchResultNewData 
    completionHandler(UIBackgroundFetchResultNewData); 
} 
+0

Vibra ancora (ios 7.1) quando il telefono è bloccato e quindi - (BOOL) applicazione: (applicazione UIApplication *) didFinishLaunchingWithOptions: (NSDictionary *) launchOptions viene eseguito. – DixieFlatline

0

al momento della registrazione per notifica push non chiedere per il tipo di suono (UIRemoteNotificationTypeSound)

- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types 

si può verificare ciò rimuovere manualmente il permesso suono nelle impostazioni di notifica

+2

Ma cosa succede se volevo avere alcuni tipi di notifiche con audio e alcuni senza suoni e vibrazioni? – DixieFlatline

12

Tralasciando la chiave suono dovrebbe fare il trucco:

{"aps":{"alert":{"loc-key":"SOME_KEY"}, "badge":1} 

The docs affermano che "Se il file audio non esiste o il valore predefinito è specificato come valore, viene riprodotto il suono di avviso predefinito. ". Quello che non dicono è che se non si fornisce affatto un suono, non verrà riprodotto alcun suono. Se non viene riprodotto alcun suono, anche il telefono non deve vibrare.

+1

funziona !! grazie – vivian

+1

Confermando questo ha funzionato anche per me. Ho avuto un problema simile, in cui mi sono registrato per Sounds quando mi sono registrato per pushNotifications, ma non includendo una chiave "sound" nel payload degli apns.Quando arrivò una notifica, non c'erano vibrazioni. Quando abbiamo incluso il tasto "suono", ma con una stringa vuota, la notifica ha fatto vibrare l'orologio del telefono/apple. Spero che questo aiuti chiunque abbia questo problema simile! – OxenBoxen

+0

non funziona più. – wildmonkey

0
[[UIApplication sharedApplication]registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge]; 

Si prega di provare a registrare per le notifiche remoti utilizzando il metodo sopra il codice applicationDidFinsihLaunching di AppDelegate

0

Ho affrontato con problema simile. Le vibrazioni possono essere corrette impostando il recupero dello sfondo nelle capacità del progetto