ahmadsafar/pusher-push-notifications

Pusher本地推送通知驱动。

此包的规范存储库似乎已消失,因此已冻结该包。

1.0.3 2017-05-25 14:37 UTC

This package is not auto-updated.

Last update: 2021-04-27 01:44:13 UTC


README

Latest Version on Packagist Software License Build Status StyleCI SensioLabsInsight Quality Score Code Coverage Total Downloads

此包使得使用Laravel 5.3 - 5.5发送Pusher推送通知变得容易。

内容

安装

您可以通过composer安装此包

composer require ahmadsafar/pusher-push-notifications dev-master

您必须安装服务提供者

// config/app.php
'providers' => [
    ...
    NotificationChannels\PusherPushNotifications\PusherPushNotificationsServiceProvider::class,
],

设置您的Pusher账户

在使用此包之前,您应该设置一个Pusher账户。以下是所需步骤。

  • 登录到 https://dashboard.pusher.com/
  • 从侧边栏选择您的应用程序或创建一个新应用程序。
  • 单击“推送通知”选项卡。
  • 上传您的APNS证书或添加您的GCM API密钥。
  • 现在选择“应用密钥”选项卡。
  • 复制您的app_idkeysecret
  • 更新您的config/broadcasting.php文件中pusher连接下的值。
  • 现在您可以开始了。

用法

现在您可以在通知类内的via()方法中使用此通道。

use NotificationChannels\PusherPushNotifications\PusherChannel;
use NotificationChannels\PusherPushNotifications\PusherMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return [PusherChannel::class];
    }

    public function toPushNotification($notifiable)
    {
        return PusherMessage::create()
            ->iOS()
            ->badge(1)
            ->sound('success')
            ->body("Your {$notifiable->service} account was approved!");
    }
}

可用的消息方法

  • platform(''):接受字符串值iOSAndroid
  • iOS():将平台值设置为iOS。
  • android():将平台值设置为Android。
  • title(''):接受字符串值作为标题。
  • body(''):接受字符串值作为正文。
  • sound(''):接受字符串值作为通知声音文件。注意,如果您留空,则默认声音值为default
  • icon(''):接受字符串值作为图标文件。(仅限Android)
  • badge(1):接受整数值作为徽章。(仅限iOS)
  • setOption($key, $value):允许您在消息负载中设置任何值。有关更多信息,请在此处查看iOS或在此处查看Android

发送到多个平台

您可以使用withiOS()withAndroid()方法同时向iOS设备和Android设备发送单个消息。

public function toPushNotification($notifiable)
{
    $message = "Your {$notifiable->service} account was approved!";

    return PusherMessage::create()
        ->iOS()
        ->badge(1)
        ->body($message)
        ->withAndroid(
            PusherMessage::create()
                ->title($message)
                ->icon('icon')
        );
}
  • 注意,iOS是默认平台,这意味着您不需要调用->iOS()
  • 使用 withAndroid()withiOS() 时,您无需定义平台,后台会为您完成。

消息路由

默认情况下,推送的“兴趣”消息将通过使用 {notifiable}.{id} 惯例来定义,例如 App.User.1。然而,您可以通过在可通知类方法中包含 routeNotificationForPusherPushNotifications() 来改变这种行为,该方法返回兴趣名称。

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

测试

$ composer test

安全性

如果您发现任何安全相关的问题,请通过电子邮件 themsaid@gmail.com 而不是使用问题跟踪器。

贡献

请参阅 CONTRIBUTING 了解详细信息。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。