talalm/php-fcm-wrapper

PHP版的FCM包装器

dev-master 2017-07-10 22:14 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:37 UTC


README

FCM API的PHP包装器

安装

您可以使用 Composer 安装包装器

composer require talalm/php-fcm-wrapper

用法

使用包装器非常简单。

首先,您需要使用您的API密钥创建一个客户端

$client = new FCM\Client("YOUR_API_KEY");

发送一个简单的通知

将令牌放在 registration_ids 参数的数组中。

并将通知标题放在参数 notification.body_loc_key

示例

$client->send([
    'registration_ids' => ['token1', 'token2', ...],
    'notification' => ['body_loc_key' => 'This is a notification sent via php-fcm-wrapper']
]);

添加通知参数

您可以为通知添加额外的参数

  • badge 值(默认为1)
  • sound 值(默认为 'notif.caf')

示例

$client->send([
    'registration_ids' => ['token1', 'token2', ...],
    'notification' => ['body_loc_key' => 'This is a revolution',
    				   'badge' => 1789
    				   'sound' => 'la-marseillaise.caf'],
]);

附加数据

此外,如果您想在通知中添加额外的数据,只需将其添加到 data 参数中

$client->send([
    'registration_ids' => ['token1', 'token2', ...],
    'notification' => ['body_loc_key' => 'This is a revolution',
    				   'badge' => 1789
    				   'sound' => 'la-marseillaise.caf'],
    // Additional data
    'data' => ['king' => 'Louis XVI',
    		   'location' => 'La Bastille']
]);

更改通知优先级

默认通知的 priority 被设置为 high(始终发送)。如果您想设置为 normal(则接收客户端系统将选择何时显示)

$client->send([
    'registration_ids' => ['token1', 'token2', ...],
    'notification' => ['body_loc_key' => 'This is a revolution',
    				   'badge' => 1789
    				   'sound' => 'la-marseillaise.caf'],
    // Additional data
    'data' => ['king' => 'Louis XVI',
    		   'location' => 'La Bastille'],
    'priority' => 'normal'
]);

这就是全部!

APNS 批量导入

如果您正在从其他服务(例如 Parse)迁移,并且已经在数据库中有了APNS令牌,您可以将它们 批量导入到Firebase

要这样做,只需调用带有以下参数的 batchImport 方法

  • application:应用程序的Bundle ID
  • sandbox:布尔值,指示沙盒环境(TRUE)或生产环境(FALSE)- 默认为 TRUE
  • apns_tokens:要添加或删除的应用程序实例的APNs令牌数组。每次请求最多 100 个令牌。

示例

$client->batchImport([
	'application' => "com.french.revolution",
	'apns_tokens' => ["Robespierre's token", "Danton's token", "Louis XVI's token", ...],
	'sandbox' => false,
]);