[英]PHP: how to send push notifications to Apple device
我們的iOS應用應會收到推送通知。 在學習完本教程之后,我在應用程序委托中實現了這些方法:
didRegisterForRemoteNotificationsWithDeviceToken
和
didFailToRegisterForRemoteNotificationsWithError
由didFinishLaunchingWithOptions
調用,似乎該設備已在我們的MySQL服務中正確注冊。 此外,我剛剛創建了一個用於測試的Pem沙箱認證。 現在,我需要知道在PHP后端應該做什么。 需要哪個代碼? 我們正在使用Zend框架,因此我應該在我的映射器中實現function preparetosend_apple()
並在控制器中實現sendtoappleAction()
,但是我不知道從哪里開始以及如何對其進行測試。 謝謝!
首先,直接從應用程序發送推送通知不是一個好主意,因為此調用可能會阻塞一個調用(意味着代碼塊的其余部分將等待其完成)。 因此,我建議使用后台處理器/消息排隊服務(例如gearman,零mq等)。
其次,最簡單的解決方案是使用類似Parse的服務。 解析允許使用您提到的證書來注冊應用程序,並且具有適用於php的SDK(基於撰寫者)。
在后台服務中,您只需從SDK調用API。 喜歡:
use Parse\ParseClient;
use Parse\ParseInstallation;
use Parse\ParsePush;
ParseClient::initialize($appId, $restKey, $masterKey, $curlDebug);
...
...
...
在解析中使用頻道
$response = ParsePush::send(array(
"channels" => ["channel-$userId"],
"data" => $data,
));
或使用自定義查詢
$query = ParseInstallation::query();
$query->equalTo('userId', "user-$userId");
$response = ParsePush::send(array(
"where" => $query,
"data" => $data,
));
使用解析的最好部分-我會說使用其他有趣的功能,例如-廣播消息,設備列表等。
希望這對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.