ホームページ  >  記事  >  バックエンド開発  >  アプリのバックエンド開発 3: Laravel で Baidu のメッセージ プッシュを使用する

アプリのバックエンド開発 3: Laravel で Baidu のメッセージ プッシュを使用する

WBOY
WBOYオリジナル
2016-06-23 13:30:49866ブラウズ

はじめに

アプリ開発の過程では、メッセージプッシュがよく使われます。起業家精神のある企業が独自のメッセージ プッシュ サーバーを構築すると、時間コストと技術的な難易度が大幅に増加することは間違いありません。私自身の実践では、Baidu のメッセージ プッシュ サービスは全体的に安定性が非常に高く、インターフェイスのドキュメントも非常に充実しているため、使用することをお勧めします。
* この記事のメッセージ プッシュ サービスは、Baidu メッセージ プッシュ SDK バージョン 3.0.0 を使用します
* Laravel のバージョンは: 5.1.*
* PHP>5.5.9

プロジェクト

プロジェクト アドレス: baidu-pusher

複数のプロジェクトを促進する Baidu メッセージ プッシュが使用されるため、Baidu メッセージ プッシュは Composer パッケージにカプセル化されます。簡単な取り付けですぐに使用できます。

1. インストール プロジェクトのcomposer.jsonに以下の内容を追加します

"require": {        "riverslei/baidu-pusher": "~1.0"    },

次に、composer updateを実行します

2. インストールが完了したら、configapp.phpでプロバイダー配列とエイリアス配列を設定します。

    'providers' => [        /* * 第三方提供者 */        Riverslei\Pusher\PusherServiceProvider::class, ], 'providers' => [ /* * 第三方 */ 'Pusher' => Riverslei\Pusher\Pusher::class, ],

上記の設定が完了したら、次のコマンドを使用してプッシュ設定ファイルを生成します

php artisan vendor:publish --provider=Riverslei\Pusher\PusherServiceProvider

このコマンドを実行すると、config フォルダーに設定ファイル Pusher.php が追加されます。これを開いて、関連する構成情報を表示できます。これを独自の apikey およびその他のコンテンツに変更します。

デフォルトのコンテンツはテストアカウント用です。

3. SDK のテスト

Baidu はこれまでサーバー側のテスト コードを提供しておらず、独立したテストを実施できませんでした。今回のSDKアップグレード後、ようやくテストアカウントを取得できました。ぜひ試してみてください。以下はLaravelに準拠した公式のテストコードを元に書いたテストコードです。

まず、ルーティングを構成します

Route::get('/pusher', 'TestController@pusher');

次に、コントローラーとメソッドを作成します

<?phpnamespace App\Http\Controllers;use Pusher;class TestController extends Controller {    public function pusher() {        $channelId = '3785562685113372034';        // 消息内容.        $message = array (                // 消息的标题.                'title' => 'Hi!.',                // 消息内容                'description' => "hello!, this message from baidu push service."        );        // 设置消息类型为 通知类型.        $opts = array (                'msg_type' => 1        );        // 向目标设备发送一条消息        $rs = Pusher::pushMsgToSingleDevice($channelId, $message, $opts);        // 判断返回值,当发送失败时, $rs的结果为false, 可以通过getError来获得错误信息.        if($rs === false){            print_r(Pusher::getLastErrorCode());            print_r(Pusher::getLastErrorMsg());        }else{            // 将打印出消息的id,发送时间等相关信息.            var_dump($rs);        }        echo "done!";    }}

完了したら、ブラウザで http://youdomain/pusher にアクセスします。 ブラウザでコンテンツを表示します


このコンテンツが表示されたら、成功したことを意味します。適切な場所で使用できます。

その他 プロジェクトでメッセージ プッシュを使用する場合は、プッシュ ビジネスをキューに入れ、メッセージ プッシュの完了を待たずに結果をアプリに返すことをお勧めします。 Laravleのメッセージキューの使い方についてはこちらの記事を参照してください。

使用中、メッセージプッシュインターフェイスについては、Baiduメッセージプッシュドキュメントを参照してください

プロジェクトが良いと思われる場合は、プロジェクトのアドレスを参照してください

Laravelを使用したアプリインターフェイスの開発に関する次の記事は継続的に更新されます。ご清聴ありがとうございました。

著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。