要使用PHP發送APNS通知,您需要遵循以下步驟:
獲取Apple推送通知服務(APNS)證書:
安裝PHP庫:
composer require php-apns
創建一個PHP文件(例如send_push_notification.php)并編寫以下代碼:
<?php
require_once 'vendor/autoload.php';
use ApnsPHP\PushNotification;
// 配置APNS證書和推送通知服務
$certificateFile = '/path/to/your-certificate.pem';
$push = new PushNotification($certificateFile, 'apns-sandbox.apple.com'); // 使用沙箱環境進行測試
// 設置連接超時和讀取超時(可選)
$push->setConnectTimeout(10);
$push->setReadTimeout(10);
// 設置應用ID和推送通知的詳細信息
$appId = 'YOUR_APP_ID';
$deviceToken = 'DEVICE_TOKEN_HERE';
$messageTitle = 'Hello';
$messageBody = 'This is a test push notification.';
// 創建通知對象
$notification = new ApnsPHP\Notification();
$notification->setApplication($appId);
$notification->setDeviceToken($deviceToken);
$notification->setTitle($messageTitle);
$notification->setMessage($messageBody);
$notification->setCustomProperty('custom_key', 'custom_value'); // 可選的自定義屬性
// 發送通知
try {
$result = $push->sendNotification($notification);
if ($result[0] === ApnsPHP\Constants::RETURN_CODE_OK) {
echo 'Push notification sent successfully.';
} else {
echo 'Error sending push notification: ' . $result[1];
}
} catch (Exception $e) {
echo 'Error sending push notification: ' . $e->getMessage();
}
?>
更新代碼中的以下變量:
/path/to/your-certificate.pem
替換為您的實際證書文件路徑。YOUR_APP_ID
替換為您的應用程序ID。DEVICE_TOKEN_HERE
替換為目標設備的實際設備令牌。運行PHP腳本:
php send_push_notification.php
注意:在將應用程序發布到App Store之前,請確保將APNS證書配置為生產環境(即使用apns.apple.com
而不是apns-sandbox.apple.com
)。