2016-04-04 1 views
1

J'ai créé l'application de développement en zone urbaine et j'essaie d'envoyer une notification push à partir du serveur en utilisant le code PHP.Appkey n'a pas le droit d'utiliser le Centre de messages dans Urbanairship

Mon code:

 define('APPKEY','xxx'); // Your App Key 
     define('PUSHSECRET', 'ytyy'); // Your Master Secret 
     define('PUSHURL', 'https://go.urbanairship.com/api/push/'); 
     $notification = array(); 
     $notification['alert'] = "alert"; 
     $platform = array(); 
     array_push($platform, "android"); //comment out if you don't want Android 
     $richpush = array(); 
     $richpush['title'] = "title"; 
     $richpush['body'] = $message; 


     if(strlen($deviceToken)>50){ 
      $deviceToken=str_replace(" ","",$deviceToken); 
      $push = array("audience"=>array("device_token"=>$deviceToken), "notification"=>$notification, "device_types"=>$platform, "message"=>$richpush); 
     }else{ 
      $deviceToken=str_replace(" ","-",$deviceToken); 
      $push = array("audience"=>array("apid"=>$deviceToken),    "notification"=>$notification, "device_types"=>$platform, "message"=>$richpush); 
     } 

     $json = json_encode($push); 


     $session = curl_init(PUSHURL); 
     curl_setopt($session, CURLOPT_USERPWD, APPKEY . ':' . PUSHSECRET); 
     curl_setopt($session, CURLOPT_POST, True); 
     curl_setopt($session, CURLOPT_POSTFIELDS, $json); 
     curl_setopt($session, CURLOPT_HEADER, False); 
     curl_setopt($session, CURLOPT_RETURNTRANSFER, True); 
     curl_setopt($session, CURLOPT_HTTPHEADER, array('Content-Type:application/json', 'Accept: application/vnd.urbanairship+json; version=3;')); 
     $content = curl_exec($session); 
     echo "Response: " . $content . "\n"; 

Mais je reçois:

Response: {"ok":false,"error":"The specified appkey [xxx] is not entitled to use the Message Center.","error_code":403} 

Toute aide serait appréciée.

Répondre

2

Le Centre de messagerie n'est pas inclus dans les comptes de démarrage ou de base. Contactez support et ils travailleront avec vous pour ajouter des droits de centre de messagerie.

+0

Le centre de messagerie doit-il être en mesure d'envoyer des notifications push à partir de l'intégration du serveur? Je ne peux pas trouver une réponse claire à cette question. – Azimuth

+0

Non, le centre de messagerie est uniquement requis pour envoyer des messages au centre de messagerie. Les notifications push peuvent être envoyées avec ou sans message de centre de messagerie. – ralepinski