Laravel 集成 JPush 极光推送指北

原文发布于简书 http://www.jianshu.com/p/8a8b8d52a413


我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了)

Laravel 使用 Composer 来管理代码依赖。所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer。

这说明没有安装 Composer 就无法安装使用 Laravel。

安装 Laravel

1.使用 Composer 下载 Laravel 安装包:

$ composer global require "laravel/installer"

2.这时候会发现命令行找不到 laravel 命令

not found !!

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

found

然后就找到了。

到这里 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

lack

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

install

OK, Let's build something amazing !

集成 JPush PHP Api Cient

看文档安装

installation

Done!

配置

新建 config/jpush.php 文件

<?php
return [
    'appKey' =>env('JPUSH_APP_KEY'),
    'masterSecret' =>env('JPUSH_MASTER_SECRET')
]

不了解 env 是几个意思?可以看看这个先 http://learnku.com/docs/laravel/5.4/config...

测试

然后就遇到了第一个问题

problem

即是 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 测试
终端下:

$ curl http://127.0.0.1:8000/jpush

浏览器中:

http://127.0.0.1:8000/jpush

注意: 这个是测试,所以各种逻辑全部写在了 Controller 当中, 当然了,对于小型项目来讲并没有什么问题,但是工程一大问题就出现了。


由于本人水平有限,此文难免出现一些错误或者不准确或者表达不好的地方,如有任何不对,恳请批评指正。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

支持这种基础教程,
一般会结合队列来做。

7年前 评论

@Endly 结合队列?不是很懂你的意思,能否给出更加详细的信息

如果要和 Laravel 结合更加紧密的话,应该是要结合 notification channel 来做,但是,由于个人对其中的 notifiable 的理解还是有些浅显,所以还在持续研究中。

ps:notification 中是有用到队列相关的话题。

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!