Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using CodeIgniter cURL to send a push notification via UrbanAirship

I have an urbanairship account set up to send push notifications to my app. This is all working, but now I'm trying to integrate it with my codeigniter admin site so that push notifications are sent by UA and stored to a database in one step. I'm trying to use the cURL library and following the UA API documentation,(http://urbanairship.com/docs/push.html), but each time I get a 404 error. However if I take the cURL lines out, the data is added to the database fine, (so it is receiving the data correctly from the form).

Here's the function in my controller:

function saveAnnouncement() {

  $this->load->helper('html');
  $this->load->library('session');
  $this->load->helper('json');
  $this->load->library('curl');

  $new_announcement = $this->input->post('announcement_text');

  if($this->session->userdata('logged_in') != true)
  {
      redirect('/admin/login');
  }

  $this->curl->create('https://go.urbanairship.com/api/push/broadcast/');
  $this->curl->http_login('<application key>', '<master secret>');
  $announcement_push = array('aps'=>array('alert'=>$new_announcement, 'sound'=>'default'));
  $announcement_push['encoded_data'] = json_encode($announcement_push);
  $this->curl->post($announcement_push);
  $this->curl->execute();

  $this->load->model('Announcements');
  $this->Announcements->Add($new_announcement);
  redirect('/admin/announcements');

}

I'm new to codeigniter, curl and urbanairship, so as you can imagine this is a bit of a nightmare. Will be grateful for any help available!

Thanks!

like image 284
Andy Avatar asked Nov 13 '22 21:11

Andy


1 Answers

Have you set your curl config to trust the ssl certificate of the site you are trying to connect? First try with this

 curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false); 

and if it works - that's the problem. Then you should setup your curl connection properly adding particular certificate.

like image 86
Jarek Tkaczyk Avatar answered Dec 24 '22 10:12

Jarek Tkaczyk