apns/apnsphp

用于苹果推送通知服务的库

dev-master 2018-03-31 17:44 UTC

This package is not auto-updated.

Last update: 2022-09-12 05:40:48 UTC


README

用于苹果推送通知服务的PHP库

功能

  • 发送推送通知
  • 以JSON负载的方式自定义

先决条件

  1. 设备令牌,您将在注册推送通知时作为回调(在AppDelegate.swift中)获取。
  2. PEM证书,您可以从苹果开发者门户获取。

安装

您可以通过 Composer 安装 apnsPHP。首先,在项目中添加 composer.json 文件

{
  "require": {
    	"apns/apnsPHP": "*"
    }
}

然后,通过命令安装依赖项

composer install

代码

  1. 当只有文本时发送推送通知

我假设您有 pem 证书。

//Path of Certfiicate
$pathOfCertificate = $_SERVER['DOCUMENT_ROOT']."/certificate.pem";

// Initialise APNS
$apns = new apnsPHP($pathOfCertificate);
$apns->sendPushNotification("This is my Message", $token);
  1. 当您有完整的JSON负载时发送推送通知

因为,苹果推送通知负载看起来像这样,其中,alert 是推送通知消息,badge 是在 AppIcon 上显示的徽章数字,以红色气泡的形式显示,最后是 sound,即推送通知弹出时的警报音。

{
  "aps":{
    "alert" : "Hello World :D",
    "badge" : 1,
    "sound" : "default"
  }
}

因此,您首先需要准备负载,然后调用 apns 定义的函数,

// Token
$token = "FCFFA7C61D647BA62DAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

// Associative Array
$payload['aps'] = array('alert' => 'Hello World :D', 'badge' => 1, 'sound' => 'default');

// Convert Array into JSON
$payloadJSON = json_encode($payload);

最后,您需要调用 APNS 方法。

$apns = new apnsPHP($pathOfCertificate);
$apns->sendPushNotification($payloadJSON, $token);

参考

您可以参考苹果的 文档 了解苹果推送通知服务。