send push notification for windows phone 7 using php
Asked Answered
G

3

11

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.

Gwenn answered 26/10, 2011 at 4:42 Comment(1)
Have you got the answer to send message to multiple device at once? If so please post it.Valdemar
T
9

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.

Telephonic answered 26/10, 2011 at 9:43 Comment(3)
how do i get URL_TO_SEND_TO from MPNS ?Almandine
new 'HttpNotificationChannel( ).ChannelUri.AbsoluteUri;' you will have to send the uri to your server, along with the guid of the phone, since the URI changes after you close the app, and you don't save alot of useless uri'sHemato
this code suggests that the push notification is only sent to one single uri/device. this means that my service needs to send multiple requests and this might lead to network/blocking i/o problems.Peria
B
4

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.
Beauharnais answered 26/10, 2011 at 4:55 Comment(1)
yep I've the URL from the phone but the problem is that I don't know how to write the code (PHP) to send the XML payload to that URL provided.Gwenn
P
1

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

Porkpie answered 18/1, 2013 at 11:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.