1. Go to this page and download the library: Download larva/laravel-umeng-push library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App\Models;
class User {
/**
* 获取移动端设备属性
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\HasMany|object
*/
public function routeNotificationForDevice()
{
return $this->devices()->latest('id')->first();
}
}
namespace App\Notifications;
use Illuminate\Notifications\Notification;
class WelcomeNotification extends Notification
{
/**
* Get the notification's channels.
*
* @param mixed $notifiable
* @return array|string
*/
public function via($notifiable)
{
return [\Larva\UMeng\Notifications\DeviceChannel::class];
}
/**
* Build the mail representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toDevice($notifiable)
{
/** @var \App\Models\UserDevice $device */
if (!$device = $notifiable->routeNotificationFor('device', $this)) {
return false;
}
$message = [
'ticker' => '我们刚刚给用户增加了个通知功能。', // 必填,通知栏提示文字
'title' => '我们刚刚给用户增加了个通知功能。', // 必填,通知标题
'text' => '所以得测试测试好使不好使!', // 必填,通知文字描述
];
if ($device->isAndroid) {
$android = new AndroidMessage();
$android->setDeviceTokens($device->token);
$android->setType($this->notificationType);//点对点推送
$android->setPayload('display_type', $this->displayType);//通知消息
$android->setPayloadBody('ticker', $message['ticker']);// 必填,通知栏提示文字
$android->setPayloadBody('title', $message['title']);// 必填,通知标题
$android->setPayloadBody('text', $message['text']);// 必填,通知文字描述
return $android;
} else {
$ios = new IOSMessage();
$ios->setDeviceTokens($device->token);
$ios->setType($this->notificationType);//点对点推送
$ios->setPayload('display_type', $this->displayType);//通知消息
$ios->setAPS('alert', [
'title' => $message['ticker'],
'subtitle' => $message['title'],
'body' => $message['text'],
]);
return $ios;
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.