# VWO Engage (previously PushCrew) Push Notifications Channel for Laravel

Latest Version on Packagist (opens new window) Software License (opens new window) Build Status (opens new window) StyleCI (opens new window) Quality Score (opens new window) Code Coverage (opens new window) Total Downloads (opens new window)

This package makes it easy to send notifications using VWO Engage (opens new window) with Laravel.

# Contents

# Installation

You can install the package via composer:

composer require laravel-notification-channels/vwo-engage

# Setting up the VWO Engage service

Add your VWO Engage API Token to your config/services.php:

// config/services.php
'vwo-engage' => [
    'token' => env('VWO_ENGAGE_API_TOKEN'),
]

# Usage

Now you can use the channel in your via() method inside the notification:

use Illuminate\Notifications\Notification;
use NotificationChannels\Engage\EngageChannel;
use NotificationChannels\Engage\EngageMessage;

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

    public function toEngage($notifiable)
    {
        return EngageMessage::create()
                    ->subject('Your account was approved!')
                    ->body('Click here to see details.')
                    ->icon('https://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Laravel.svg/231px-Laravel.svg.png')
                    ->url('https://vwo.com/engage');
    }
}

In order to let your Notification know which VWO Engage subscriber(s) you are targeting, add the routeNotificationForEngage method to your Notifiable model.

public function routeNotificationForEngage()
{
    return 'VWO_ENAGE_SUBSCRIBER_ID';
}

You can either return a single subscriber-id, or if you want to notify multiple subscriber IDs just return an array containing all IDs.

To determine the Subscriber ID read this FAQ (opens new window).

# Available Message methods

  • subject(''): Accepts a string value for the title.
  • body(''): Accepts a string value for the notification body.
  • icon(''): Accepts an url for the icon.
  • url(''): Accepts an url for the notification click event.

For more information take a look here (opens new window).

# Changelog

Please see CHANGELOG (opens new window) for more information what has changed recently.

# Testing

$ php vendor/bin/phpunit

# Security

If you discover any security related issues, please email bellini.davide@gmail.com instead of using the issue tracker.

# Contributing

Please see CONTRIBUTING (opens new window) for details.

# Credits

# License

The MIT License (MIT). Please see License File (opens new window) for more information.