php - PhoneGap-Android : Push Notification by Urban Airship from my server

标签 php android cordova urbanairship.com

我在 Android PhoneGap 应用程序中工作,我需要使用 Urban Airship 推送通知。我在我的应用程序中集成了(Development+Debug)Urban Airship 推送通知,并从 Urban Airship 网站发送测试推送并成功接收推送到所有设备。

但我需要从我的 windows(安装了 IIS)服务器发送推送通知(推送文本和发送时间会因服务器时间而异)。我想根据我的计划任务发送推送文本。调度任务由PHP代码完成。

那么,有什么线索或想法可以让我以适当的时间表从我的服务器发送推送通知吗?

提前致谢。

最佳答案

如果您可以在您的服务器上运行 PHP,遵循本文档应该可以帮助您实现目标 - Urban Airship Simple PHP我用过它,效果很好!

您需要将其中的大部分包含在一个函数中,然后该函数会根据您的适当计划进行调用。

编辑:添加代码

<?php
 define('APPKEY','XXXXXXXXXXXXXXX'); // Your App Key
 define('PUSHSECRET', 'XXXXXXXXXXXXXXX'); // Your Master Secret
 define('PUSHURL', 'https://go.urbanairship.com/api/push/');

 $contents = array();
 $contents['badge'] = "+1";
 $contents['alert'] = "PHP script test";
 $contents['sound'] = "cat.caf";
 $notification = array();
 $notification['ios'] = $contents;
 $platform = array();
 array_push($platform, "ios");

 $push = array("audience"=>"all", "notification"=>$notification, "device_types"=>$platform);

 $json = json_encode($push);
 echo "Payload: " . $json . "\n"; //show the payload

 $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";

 // Check if any error occured
 $response = curl_getinfo($session);
 if($response['http_code'] != 202) {
     echo "Got negative response from server: " . $response['http_code'] . "\n";
 } else {

     echo "Wow, it worked!\n";
 }

 curl_close($session);
?>

关于php - PhoneGap-Android : Push Notification by Urban Airship from my server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20675252/

相关文章:

php - 如何获取Youtube使用的解密解密密码的下载链接?

java - 为什么显示 java.lang.ClassCastException : android. text.SpannableString cannot be cast to java.lang.String?

android - 在 Android 模拟器中显示韩语(不支持 MacRoman)

javascript - 如何使用ajax从phonegap中的服务器获取数据?

cordova - 音隙 : Accessing Android Local Images from Hosted Web Application

php - 仅使用一次 $_POST 信息

php - 独立于系统区域设置设置 gettext 区域设置

php - Yii Framework - 如何获得字段的不同值?

android - 尝试压缩位图时出现空指针异常

android - 如何在 KSOAP2 中将 transport.dump 大小从 256 字节增加到 512 或更多字节?