Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

send push notification for windows phone 7 using php

I'm a web developer (PHP). I would like to searching for push notification to windows phone 7 using PHP but the result is always .NET.

Please someone can help me.

UPDATE : How to send multi-devices at once? because the delay time is around 1 second, so if I have 1000 devices to push, I may need 1000 seconds to wait.

like image 441
Kannika Avatar asked Oct 26 '11 04:10

Kannika


3 Answers

The following is the PHP code to send a toast notification to the URL "_URL_TO_SEND_TO_" which is the token received from the MPNS:

<?php
   // Create the toast message
   $toastMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" .
                "<wp:Notification xmlns:wp=\"WPNotification\">" .
                   "<wp:Toast>" .
                        "<wp:Text1>" . "SendToast" . "</wp:Text1>" .
                        "<wp:Text2>" . "Text Message" . "</wp:Text2>" .
                        "</wp:Toast> " .
                "</wp:Notification>";

    // Create request to send
    $r = curl_init();
    curl_setopt($r, CURLOPT_URL,_URL_TO_SEND_TO_);
    curl_setopt($r, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($r, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HEADER, true); 

    // add headers
    $httpHeaders=array('Content-type: text/xml; charset=utf-8', 'X-WindowsPhone-Target: toast',
                    'Accept: application/*', 'X-NotificationClass: 2','Content-Length:'.strlen($toastMessage));
    curl_setopt($r, CURLOPT_HTTPHEADER, $httpHeaders);

    // add message
    curl_setopt($r, CURLOPT_POSTFIELDS, $toastMessage);

    // execute request
    $output = curl_exec($r);
    curl_close($r);
  ?>  

If this is the code you need, please check this answer.

like image 102
Ameen Avatar answered Nov 14 '22 16:11

Ameen


You don't need to implement it in .NET. You just need to send the correct XML payload to the URL given by the phone.

Take a look at this article on implementing push notifications on Windows Phone 7.

The basic steps are:

  1. Obtain PUSH Notification end point URL (this is done via your app on the phone).
  2. Send that URL to your web service (this web service be in PHP, .NET, whatever you like).
  3. Send your XML payload to the URL obtained in Step 1 and the user will get a PUSH notification.
like image 29
Frazell Thomas Avatar answered Nov 14 '22 15:11

Frazell Thomas


Try this ready solution http://phpwindowsphonepush.codeplex.com/SourceControl/changeset/view/18482#58320. Very easy.

like image 1
Alexandr Avatar answered Nov 14 '22 17:11

Alexandr