使用 Laravel 进行 Flutter FCM

2024-01-11

我正在使用 Laravel 作为我的应用程序后端,并希望按主题向我的 flutter 应用程序发送推送通知。现在我在我的 flutter 应用程序中实现了 firebase 消息传递。作为

_registerOnFirebase() {
_firebaseMessaging.subscribeToTopic('all');
_firebaseMessaging.getToken().then((token) => print(token));
 }

void getMessage() {
_firebaseMessaging.configure(
    onMessage: (Map<String, dynamic> message) async {
      print('received message');

    }, onResume: (Map<String, dynamic> message) async {
  print('on resume $message');

}, onLaunch: (Map<String, dynamic> message) async {
  print('on launch $message');

});
}

我正在通过邮递员向应用程序发送通知,它正在工作。在此输入图像描述 https://i.stack.imgur.com/F5p6c.png现在请告诉我如何从 Laravel 表单(从视图目录)发送通知。 我在资源目录中创建了一个名为 PushNotification 的控制器和一个视图目录(\resources\views\notification\create.blade)。


如果您有控制器设置,那么从前端/视图发送通知就不那么困难了。这是我的完整示例。

  1. 在视图 form.blade.php 文件 (resources/views/form.blade.php) 中创建一个表单

     <form method="POST" action="{{route('bulksend')}}">
         <label>Title</label>
         <input type="text" hint="Title" name="title">
         <br>
         <label>Body</label>
         <input type="text" hint="Body" name="body">
         <br>
         <label>Image URL</label>
         <input type="text" hint="Image URL" name="img">
         <br>
         <label>ID</label>
         <input type="text" hint="Image URL" name="id">
         <br>
         <input type="submit"/>
     </form>
    
  2. 创建网络路由 (routes/web.php)

     Route::get('form', function () {
         return view('form');
     });
    
     Route::post('send','MyController@bulksend')->name('bulksend');
    
  3. 在 app/Http/Controller 中创建一个名为 MyController 的控制器,并将此函数添加到其中。

     public function bulksend(Request $req){
         $url = 'https://fcm.googleapis.com/fcm/send';
         $dataArr = array('click_action' => 'FLUTTER_NOTIFICATION_CLICK', 'id' => $req->id,'status'=>"done");
         $notification = array('title' =>$req->title, 'text' => $req->body, 'image'=> $req->img, 'sound' => 'default', 'badge' => '1',);
         $arrayToSend = array('to' => "/topics/all", 'notification' => $notification, 'data' => $dataArr, 'priority'=>'high');
         $fields = json_encode ($arrayToSend);
         $headers = array (
             'Authorization: key=' . "YOUR_FCM_KEY",
             'Content-Type: application/json'
         );
    
         $ch = curl_init ();
         curl_setopt ( $ch, CURLOPT_URL, $url );
         curl_setopt ( $ch, CURLOPT_POST, true );
         curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
         curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
         curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );
    
         $result = curl_exec ( $ch );
         //var_dump($result);
         curl_close ( $ch );
         return $result;
    
     }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Laravel 进行 Flutter FCM 的相关文章

随机推荐

  • webflux 请求处理程序中 ServerRequest 返回 null 主体

    我已经在 Spring WebFlux 应用程序中设置了身份验证 身份验证机制似乎工作正常 例如 以下代码用于设置安全Web过滤器链 Bean public SecurityWebFilterChain securityWebFilterC
  • AngularJS - 充当单选按钮的 3 按钮组

    使用离子框架 http ionicframework com 我正在尝试创建一组充当单选按钮的三个按钮 如果我点击早餐 我希望午餐和晚餐恢复到正常 白色 状态 早餐变成蓝色 使用我当前的代码 我无法让这个功能工作 尽管我可以让按钮稍微随机地
  • 如何为 groupby DataFrame 创建滚动百分比

    我正在尝试计算每种产品的每月变化百分比 这是我到目前为止所拥有的 我将其用于涉及单个产品的 DataFrame 我对如何将计算应用于包含许多产品和许多月份的结果集感到困惑 示例数据框 product desc activity month
  • 计算整个表的哈希值的最快方法[重复]

    这个问题在这里已经有答案了 我们需要能够计算外部环境的表哈希并将其与内部环境中预先计算的哈希进行比较 这样做的目的是确保外部环境中的数据不被 流氓 数据库管理员篡改 用户坚持这个功能 目前 我们通过计算每个列值的单独散列 对列散列执行位异或
  • python 全局名称“self”未定义

    刚开始学习 python 我确信这是一个愚蠢的问题 但我正在尝试这样的事情 def setavalue self self myname harry def printaname print Name self myname def mai
  • 获取计算高度 - Javascript - 不是 jQuery

    我有两个并排的 div 设置为自动高度 我希望它们具有相同的高度 因此我将它们组合为数组的成员 我递归遍历数组并将最高的高度设置为最高的高度 问题是我尝试获取计算高度的所有操作都导致了错误的值 我已经尝试过以下方法 els x curren
  • 是否值得缓存 Delphi 内存管理器创建的对象?

    我有一个可以创建和销毁数千个对象的应用程序 是否值得缓存和重用对象 或者 Delphi 的内存管理器足够快 多次创建和销毁对象并不是那么大的开销 与跟踪缓存相反 当我说值得时 我当然在寻找以提高性能 根据最近的测试 如果对象创建并不昂贵 即
  • 使用 Outlook 对象模型,我可以获得在 Outlook 联系人中看到的字段吗

    我可以使用 Outlook 对象模型查看全局地址簿 但无论如何使用 csharp 的 Outlook 对象模型我可以获得一个人的以下属性 城市 州 国家 地区 别名 标题 电话 我似乎无法在 AddressEntry 对象上找到这些属性 编
  • 如何使用 CMake 使用 install-export 和 find_package 查找并链接到库?

    您有一个支持 CMake 的库项目 您需要在另一个库或可执行文件中使用它 如何使用CMake查找并链接到库 您可能有以下偏好 编写尽可能少的样板代码 将链接库的内部细节与消费目标解耦 理想情况下 该库的用法应该如下所示 add execut
  • 从失败的变基中恢复

    我在用着git svn通过公司指定的 svn 服务器获得一些 git 的好处 我刚刚有一个 rebase 出了严重的问题 我正在努力找出最好的恢复方法 事情是这样的 首先 我有这个 1 master B C D E feature fix
  • CSS:滚动时背景图像不填充

    在一个非常小的网站上工作 一次性加载 所以有一个 div 保存所有背景图像 最重要的是 即 更高的 z 指数 有一个内容 div 包含所有内容 我可以根据选择的内容轻松切换背景 不幸的是 我注意到如果你在一个小窗口中启动 就会出现滚动条 如
  • 如何在 Angular2 组件中操作 scss 变量

    有没有办法可以更改 Angular2 组件中声明的 scss 变量 我想根据用户选择动态添加主题 因此需要修改 scss 变量 我读到了有关将所有 scss 变量保存在单独的 scss 文件中并将其导入其他 scss 文件中的内容 但是我可
  • 我们可以在 Flutter 中显示一些动态文本以及 Google 地图上的标记吗?

    在 Flutter 中是否有可能实现像这样的图像 我使用 google maps flutter 插件在屏幕上显示 GoogleMap 并使用 BitmapDescriptor 更改地图标记的图标 现在我只是在寻找某种方法来显示标记下方的文
  • 一个 UITableView 中有多个 UITableViewCell 类?

    我正在组合一个 TableView 并且需要在同一个表中使用多个单元格类 例如 我将如何在我的cellForRowAtIndexPath method UITableViewCell tableView UITableView tableV
  • 查询构建器中不存在 Get onlyTrashed()

    我正在尝试从表消息中获取废弃的行 public function trash return this gt onlyTrashed gt where user id this gt u gt orWhere receiver this gt
  • 在 iOS 模拟器中启动 Flutter 应用程序时出错

    我在 iOS 模拟器上启动 Flutter 应用程序时遇到问题 从下面的错误输出来看 这个问题似乎与本地主机连接等有关 但我无法找到如何修复它 我正在运行 MacOS Catalina 版本 10 15 6 19G73 iOS模拟器版本11
  • 编写调用Fortran库的R包

    我正在尝试编写一个调用 Fortran 子例程的 R 包 我正在使用 Rstudio 包模板自动创建一堆文件和目录 In R 我有一个文件 Fpi R Fpi lt function DARTS ROUNDS if is loaded Fp
  • 在 Android 中启动新的 Activity 并完成当前的 Activity? [复制]

    这个问题在这里已经有答案了 目前我正在开始一个新的Activity并打电话finish在当前的一个上 是否有任何标志可以传递给Intent这使得完成电流Activity无需致电finish手动从代码 您可以使用finish 方法或者您可以使
  • 为什么通过引用捕获变量的 lambda 不能转换为函数指针?

    如果我有一个通过引用捕获所有自动变量的 lambda 为什么不能转换为函数指针呢 常规函数可以像通过引用捕获所有内容的 lambda 一样修改变量 那么为什么不一样呢 换句话说 我想 lambda 和 a 之间的功能区别是什么 捕获列表和常
  • 使用 Laravel 进行 Flutter FCM

    我正在使用 Laravel 作为我的应用程序后端 并希望按主题向我的 flutter 应用程序发送推送通知 现在我在我的 flutter 应用程序中实现了 firebase 消息传递 作为 registerOnFirebase fireba