AFAIK non esiste un modulo ejabberd pubblico che fornisce un'interfaccia a GCM o APN.
Ti suggerisco di implementare un modulo personalizzato con un ejabberd_hook. È possibile visualizzare un esempio di modulo interno ejabberd e hook di presenza here.
Se si desidera inoltrare i messaggi a offline utenti suggerisco offline_message_hook
mentre per un filtraggio generico di messaggi Suggerisco filter_packet({From, To, Packet})
e verificare la presenza di tipo di pacchetto (vedi this domanda StackOverflow).
Conoscendo il destinatario è possibile recuperare dal db l'identificativo del token/registrazione del dispositivo e inoltrare il messaggio utilizzando un codice di erlang.
Per APN dare un'occhiata ad alcuni simple code spiegando come funziona o a questo indirizzo ex_apns. Se desideri maggiori informazioni su APN se vuoi un server simulato per APN puoi leggere questo blog post.
Per un esempio di GCM è possibile utilizzare il collegamento di esempio fornito da @Lucas.
come stanno spingendo per l'utente offline di Android? –
Come inviare il parametro di configurazione FCM a eJabberD dal client Android? Sto usando il lato client di Smack SDK. Qualsiasi suggerimento @ Mickaël Rémond, vks – CoDe