19

Come molte aziende, quella per cui lavoro non è comoda nell'utilizzo degli APN di Apple: Nessuna libreria ufficiale, flusso che viene troncato casualmente, ecc. ... Lo stesso vale per il sistema push di Android: limitato a piccoli lotti, completamente diversi dagli APN di Apple ... Ecco perché stiamo cercando un'alternativa e quando Amazon ha affermato di essere in grado di inviare milioni di notifiche push quasi gratis, noi pensavo che la SNS sarebbe stata la soluzione perfetta.Come inviare batch di milioni di notifiche push utilizzando Amazon Simple Notification Service (SNS)

Il problema è che spesso abbiamo più di un milione di dispositivi da indirizzare, e ovviamente le nostre campagne push raramente si rivolgono agli stessi dispositivi. Per quanto abbiamo scavato, l'unica soluzione è usare l'API AWS che fornisce solo un metodo per creare gli endpoint uno alla volta! Questo è un grosso problema per noi perché dopo alcuni test, abbiamo calcolato che per creare 1 000 000 endpoint, ci sarebbero voluti circa 15h (~ 17 chiamate/sec).

Anche dopo aver creato tutti gli endpoint, per inviare tutti i push in una volta, è necessario aggiungere gli endpoint a un argomento e, ancora una volta, è necessario eseguire un endpoint alla volta (quindi altre 15 ore). Event se abbiamo multithreading le nostre chiamate per dire 30 thread, ci vorrebbe ancora un'ora!

Quindi, qualcuno potrebbe dirci se c'è qualcosa che ci è mancato? Amazon si aspetta davvero che invadiamo i loro servizi web per 30 ore al fine di creare una campagna push? Come fanno a fingere di inviare un milione di spinte in un secondo se occorrono ore per prepararlo? Stanno lavorando su un'API batch per SNS? È possibile collegare un database Amazon contenente i token per alimentare un argomento SNS?

+0

Posso chiedere, facevi tutto questo lavoro in modo sincrono? In attesa di un EndpointArn da creare prima di creare il prossimo? Farò qualcosa di simile a te, ma pianifico che tutte le chiamate siano asincrone. Sto solo cercando di anticipare ciò che potrei sperimentare in base a ciò che hai vissuto. Grazie. –

+1

Lo stesso problema qui. Amazon ha aggiunto il mio account alla richiesta di funzionalità, ma sappiamo che questo significa poco. Piuttosto che preoccuparsi di iscrivere i nostri utenti agli argomenti, semplicemente inviamo i messaggi direttamente all'API di pubblicazione in quanto equivale alla stessa cosa. Ci vogliono ancora anni, dobbiamo essere in grado di far cadere 10.000 al minuto. Crazy Amazon non supporta una richiesta di massa –

+0

Esiste un limite di richieste specifiche che è possibile eseguire da un'istanza EC2. Ma Amazon non ti dice quanti sono ... Quindi dovresti lanciare circa 15x istanze di t2.micro in modo che ogni EC2 abbia il proprio limite di richieste. Con questo approccio il processo terminerà 15 volte più rapidamente –

risposta

4

Sembra che Amazon fornisca alcuni metodi per aggiungere endpoint/token, incluso un importatore CSV (ma limitato a 2 MB di file CSV alla volta). Forniscono inoltre un'API e l'applicazione java di esempio per i token di caricamento collettivo (link).

Il punto di sottoscrizione dell'argomento è indirizzato da un dipendente Amazon SNS here, in sostanza per spiegare che non è disponibile un'API batch per questo purtroppo.

Ci sono un paio di altri fornitori di notifica 3a parte push che possono meglio soddisfare le vostre esigenze quando si tratta di creare frequentemente segmenti personalizzati/argomenti:

  1. OneSignal (Disclosure: ho eseguito questa azienda)
  2. MixPanel
  3. Parse
+0

Oggi, Mixpanel non supporta il sistema di messaggistica Amazon (ADM). Non sono sicuro se Parse supporti l'ADM. – Tobliug

+0

Ciao Gdeglin, ho anche problemi simili e stiamo pensando di usare il segno. Stiamo cercando di inviare notifiche personalizzate a ciascun utente. Come posso utilizzare un segno personale per la notifica personalizzata a più di un milione di utenti? – pankaj

+0

@pankaj Ciao! Si prega di aprire un nuovo thread di stackoverflow per questa domanda o contattare il team OneSignal all'indirizzo [email protected] per indicazioni. – Gdeglin

Problemi correlati