Laravel 集成 JPush 极光推送指北
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了)。
Laravel 使用 Composer 来管理代码依赖。所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer。
这说明没有安装 Composer 就无法安装使用 Laravel。
安装 Laravel
1.使用 Composer 下载 Laravel 安装包:
$ composer global require "laravel/installer"
2.这时候会发现命令行找不到 laravel 命令

那是因为 laravel 命令不在 PATH 路径下面,所以还需要将 ~/.composer/vendor/bin 路径加入到 PATH。
(这个路径是 Laravel 中文文档中说的,但我本机不同,我本机是 ~/.config/composer/vendor/bin)

然后就找到了。
到这里 Laravel 已经安装成功。
3.创建一个新的 Laravel 项目:
$ laravel new jpush-demo
这个时候出了一些小故障,那是因为没有注意到,文档前面的几句话
如果你没有使用 Homestead ,你需要确保你的服务器上安装了下面的几个拓展:
PHP >= 5.6.4
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension

是的,这些 PHP 拓展需要全部安装。(但我缺少的是 php-zip ,当然这不重要,缺什么安什么就行了)

OK, Let's build something amazing !
集成 JPush PHP Api Cient
看文档安装

Done!
配置
新建 config/jpush.php 文件
<?php
return [
'appKey' =>env('JPUSH_APP_KEY'),
'masterSecret' =>env('JPUSH_MASTER_SECRET')
]
不了解 env 是几个意思?可以看看这个先 http://d.laravel-china.org/docs/5.4/configuration
测试
然后就遇到了第一个问题

即是 artisan 命令执行超时,解决这个问题之后开始测试(如果有人遇到并且无法解决,可以在评论区和我交流)
1 先生成一个控制器
$ php artisan make:controller JPushController --resource
2 编辑 JPush 控制器的 index 方法
# app/Http/Controllers/JPushController.php
use JPush\Client as JPushClient;
public function index() {
$jpush = new JPushClient(config('jpush.appKey'), config('jpush.masterSecret'));
$response = $jpush->push()
->setPlatform('all')
->addAllAudience()
->setNotificationAlert('hello tp3.2')
->send();
print_r($response);
}
3 添加相应的路由
# routes/web.php
Route::get('jpush', 'JPushController@index');
4 启动 Laravel 自带的服务器
$ php artisan serve
4 测试
终端下:

浏览器中:

注意: 这个是测试,所以各种逻辑全部写在了 Controller 当中, 当然了,对于小型项目来讲并没有什么问题,但是工程量一大问题就出现了。
由于本人水平有限,此文难免出现一些错误或者不准确或者表达不好的地方,如有任何不对,恳请批评指正。
作者:Helperhaps - 极光开发者
原文:Laravel 集成 JPush 极光推送指北
知乎专栏:极光日报
Laravel 集成 JPush 极光推送指北的更多相关文章
- ThinkPHP 3.2.x 集成极光推送指北
3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本 -- ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无 ...
- AndroidStudio离线打包MUI集成JPush极光推送并在java后端管理推送
1.AndroidStudio离线打包MUI 如何离线打包请参看上篇随笔<AndroidStudio离线打包MUI> 2.集成极光推送 官方文档:https://docs.jiguang. ...
- Springboot项目集成JPush极光推送(Java SDK)
1.由于项目的需求,需要在Android APP上实现消息推送功能,所以引用了极光推送(官网:https://www.jiguang.cn/, 文档:http://docs.jiguang.cn/) ...
- Android集成JPush极光推送
推送原理 参考网址:https://blog.csdn.net/huangli1466384630/article/details/79889473 SDK下载 https://docs.jiguan ...
- atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99
atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99 1.1. 云推送有推送次数或频率的限制吗? 1 1.2. 推送的消息长度 1 1.3. 离线消 ...
- 使用JPush(极光推送)实现远程通知
使用JPush(极光推送)实现远程通知 远程推送是APP 必备的功能, 现在第三方的 SDK 已经做的非常完备了, 在 iOS10.0出来之后, 极光推送也及时更新了他的 SDK, 今天小试了一下效果 ...
- Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 下面是一些知识点介绍,后期将会带领大家进行代码实战: 一.Android实现推送方式解决方案: 1.推 ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- Android消息推送——JPush极光推送
刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...
随机推荐
- 【CF#303D】Rotatable Number
[题目描述] Bike是一位机智的少年,非常喜欢数学.他受到142857的启发,发明了一种叫做“循环数”的数. 如你所见,142857是一个神奇的数字,因为它的所有循环排列能由它乘以1,2,...,6 ...
- Linux下各种解压命令
本文介绍了linux下的压缩程式tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar等程式,以及如何使用它们 ...
- 基于Mybatis分页插件PageHelper
基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...
- Linux arp命令
一.简介 arp命令用于操作主机的arp缓冲区,可以用来显示arp缓冲区中的所有条目.删除指定的条目或者添加静态的ip地址与MAC地址对应关系. 二.语法 -a<主机>:显示arp缓冲区的 ...
- mysql - 简单的触发器和存储过程
delimiter // drop PROCEDURE proc_member_preprocessor;// )) main:BEGIN SELECT COUNT(uid) INTO @proc_h ...
- OpenNI depth深度数据的数据格式
图像如何打开 如何查看它的数据格式并一个个读取 试一下ENVI等 可见,灰度图的Data只有一个值[0],而彩色图的Data却有三个值[142,119,113]. 这是用ENVI的Cursor Val ...
- ERROR: from PIL import Image ImportError: No module named PIL
ERROR: from PIL import Image ImportError: No module named PIL 到 http://www.pythonware.com/products/p ...
- 理解Javascript的Prototype
在Javascript中创建对象主要分为三种方式 1. var catA = {name: "Fluffy", color: "White", age: 0}; ...
- 第十六章 IIC协议详解+UART串口读写EEPROM
十六.IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilog代码实现使用串口读写EEPROM的功能. 以下为原文 ...
- add以及update
const addressData = { name: this.post('name'), mobile: this.post('mobile'), province_id: this.post(' ...