Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Inviare notifiche push da un’applicazione esterna

Un esempio in PHP che mostra come inviare notifiche push ad un'app Android, utilizzando una semplice richiesta HTTP al server Google Cloud Messaging. L'esempio è facilmente generalizzabile per altri linguaggi di programmazione.
Un esempio in PHP che mostra come inviare notifiche push ad un'app Android, utilizzando una semplice richiesta HTTP al server Google Cloud Messaging. L'esempio è facilmente generalizzabile per altri linguaggi di programmazione.
Link copiato negli appunti

Abbiamo parlato della possibilità, per un’applicazione esterna, di interagire con un’app Android tramite le notifiche push. Di seguito vedremo un esempio
di codice PHP che richiederà a Google Cloud Messaging (GCM) di inviare notifiche push alla nostra app.

Quello che vedremo di seguito è un esempio specifico, che in realtà può essere realizzato in qualunque linguaggio di programmazione: si tratta, infatti, di
una semplice richiesta HTTP caratterizzata dalle seguenti proprietà:

  • deve usare il metodo POST;
  • deve essere indirizzata all'URL https://android.googleapis.com/gcm/send;
  • deve contenere due header: una di tipo Authorization e di valore key= concatenato con la SERVER KEY prodotta nella Google
    Developers Console (come spiegato nella lezione precedente); l'altra header specificherà invece il tipo di contenuto ( Content-type: application/json);
  • nel corpo della richiesta si deve collocare un oggetto JSON che possieda due proprietà: registration_ids corrispondente ad una lista di REGISTRATION ID
    dei dispositivi da raggiungere con la notifica, e data contenente le informazioni da trasmettere all'app.

Lo script di esempio viene eseguito da una richiesta POST (proveniente dall'app Android) che offrirà nel parametro regid il REGISTRATION ID che l'app ha
ricevuto da GCM. In una realizzazione più completa, la stringa ricevuta dovrebbe essere salvata in un database per essere disponibile in futuro; per semplicità, nel codice che segue non faremo altro che inviare una notifica tramite GCM che, raggiungendo il dispositivo mobile, dimostrerà la correttezza delle impostazioni eseguite.

Nell'immagine seguente, la richiesta inviata dal codice sottostante corrisponde alla freccia indicata con il numero (4).

<?php
if (isset($_POST['regid']))
{
	$regid=$_POST['regid'];
	$url = 'https://android.googleapis.com/gcm/send';
	define("GOOGLE_API_KEY","nA5YMr_hvNLAIzBSyB3WyWb9sOCn7LjyJTiBCDQ");
	$registration_ids = array($regid);
	$message=array("message" => “");
	$fields = array('registration_ids' => $registration_ids,'data' =>$message);
	$headers = array('Authorization: key=' . GOOGLE_API_KEY,'Content-Type: application/json');
	$ccurl = curl_init();
	curl_setopt($ccurl, CURLOPT_URL, $url);
	curl_setopt($ccurl, CURLOPT_POST, true);
	curl_setopt($ccurl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($ccurl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ccurl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ccurl, CURLOPT_POSTFIELDS, json_encode($fields));
	$result = curl_exec($ccurl);
	curl_close($ccurl);
}
?>

Ti consigliamo anche