簡體   English   中英

PHP:如何將推送通知發送到Apple設備

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM