notify完全指南:从安装到高级功能的完整教程
【免费下载链接】notifyPush notification SDK(AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、WeWork、WPush、XiZhi、YiFengChuanHua、ZohoCliq、Zulip).项目地址: https://gitcode.com/gh_mirrors/notify6/notify
notify是一款功能强大的推送通知SDK,支持AnPush、Bark、Chanify、DingTalk、Discord等30+主流推送平台,为开发者提供简单快速的多平台消息推送解决方案。无论是个人项目还是企业级应用,notify都能帮助你轻松实现跨平台通知功能。
快速安装notify:三步完成配置
1. 准备环境
确保你的开发环境满足以下要求:
- PHP 7.4+
- Composer 2.0+
- 网络连接正常
2. 安装方式
通过Composer快速安装notify:
composer require guanguans/notify -v3. 验证安装
安装完成后,可以通过查看composer.json文件确认依赖已成功添加:
{ "require": { "guanguans/notify": "^1.0" } }入门使用:5分钟发送第一条通知
创建客户端实例
以Bark平台为例,创建推送客户端:
use Guanguans\Notify\Bark\Client; use Guanguans\Notify\Bark\Authenticator; $authenticator = new Authenticator('your-bark-token'); $client = new Client($authenticator);构建消息内容
使用消息构建器创建通知内容:
发送通知
调用发送方法完成推送:
$response = $client->send( \Guanguans\Notify\Bark\Messages\Message::make([ 'title' => 'Hello notify', 'body' => '这是一条来自notify的测试消息', ]) ); var_dump($response->getBody()->getContents());支持平台:30+推送渠道任你选
notify支持目前主流的推送平台,包括但不限于:
即时通讯类
- Discord:src/Discord/
- Slack:src/Slack/
- Telegram:src/Telegram/
企业办公类
- DingTalk:src/DingTalk/
- WeWork:src/WeWork/
- MicrosoftTeams:src/MicrosoftTeams/
个人推送类
- Bark:src/Bark/
- Pushover:src/Pushover/
- Ntfy:src/Ntfy/
高级功能:定制你的推送体验
自定义HTTP客户端
通过HasHttpClienttrait自定义请求配置:
use Guanguans\Notify\Foundation\Client; $client = new Client(); $client->withOptions([ 'timeout' => 10, 'connect_timeout' => 5, ]);消息类型扩展
支持多种消息格式,以Telegram为例:
// 发送图片消息 $client->send( \Guanguans\Notify\Telegram\Messages\PhotoMessage::make([ 'photo' => 'https://example.com/image.jpg', 'caption' => '这是一张图片消息', ]) );异常处理
完善的异常捕获机制:
try { $client->send($message); } catch (\Guanguans\Notify\Foundation\Exceptions\RequestException $e) { // 处理请求异常 echo $e->getMessage(); }测试与调试:确保推送稳定可靠
单元测试
项目提供完整的测试用例,位于tests/目录,可通过以下命令运行:
vendor/bin/phpunit模拟请求
使用mock()方法模拟推送请求,避免实际发送:
$client->mock([ 'status' => 200, 'body' => '{"errcode":0,"errmsg":"ok"}', ]);常见问题:解决你的疑惑
Q: 如何获取平台的API Token?
A: 各平台Token获取方式不同,通常在平台的开发者设置页面生成,例如Bark的Token可在APP内直接获取。
Q: 支持同时向多个平台发送通知吗?
A: 可以通过循环调用不同平台的客户端实现多平台推送,后续版本将支持聚合推送功能。
Q: 遇到网络超时怎么办?
A: 可通过withOptions()方法调整超时参数,或实现重试机制:
$client->withOptions(['timeout' => 15]);通过本指南,你已经掌握了notify的基本使用和高级功能。开始在你的项目中集成notify,体验高效便捷的多平台推送服务吧!更多详细文档请参考项目源码中的docs/目录。
【免费下载链接】notifyPush notification SDK(AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、WeWork、WPush、XiZhi、YiFengChuanHua、ZohoCliq、Zulip).项目地址: https://gitcode.com/gh_mirrors/notify6/notify
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考