Memo

メモ > 技術 > サービス: AmazonSNS > Android: アプリにPHPからPushを送信

■Android: アプリにPHPからPushを送信
■Firebase Admin SDKのインストール Add the Firebase Admin SDK to Your Server https://firebase.google.com/docs/admin/setup 公式サイトにはPHPはないので、以下を使用する。PHP7以上のみ対応 https://github.com/kreait/firebase-php/ ドキュメント https://firebase-php.readthedocs.io/en/latest/ 以下のように、ComposerでSDKをインストールできる $ cd /path/to/directory $ curl -sS https://getcomposer.org/installer | php $ php composer.phar require kreait/firebase-php ■秘密鍵の入手 Firebaseのプロジェクトの設定ページで対象のアプリをクリックし、表示された歯車アイコンをクリック サービスアカウント → 新しいサービスアカウント作成 → 新しい秘密鍵の生成 → キーを生成 「Admin SDK 構成スニペット」に「PHP」が無いので「Node.js」のままで秘密鍵の生成を行ってみる push-test-54dbc-firebase-adminsdk-8cdmf-17691c7f2a.json のような名前のファイルがダウンロードされる このファイルとデバイストークンを使って、直接プッシュを送信できる ■プログラムの作成 ※ファイルの文字コードは UTF-8N にする
<?php require __DIR__ . '/vendor/autoload.php'; use Kreait\Firebase; use Kreait\Firebase\Messaging\CloudMessage; // 秘密鍵 $serviceAccount = Firebase\ServiceAccount::fromJsonFile(__DIR__ . '/push-test-54dbc-firebase-adminsdk-8cdmf-17691c7f2a.json'); // Firebaseに接続 $firebase = (new Firebase\Factory) ->withServiceAccount($serviceAccount) ->create(); // プッシュ送信先のデバイストークン $deviceToken = 'cniQkqpYVmU:APA91bHnz0c_5Wfnd6kJV-gItvjDMcnFo8Yh4XG2BTfs5weZpLkdduOEIr2tEryacHwEKUppYEee-XHjAYgG2pSVM15cYM_EB55z2OGUtdRoL_2TGVTix5Vx9r2lnYovC6y3xUubf_ij'; // プッシュの送信メッセージ $message = CloudMessage::fromArray([ 'token' => $deviceToken, 'data' => ['message' => 'TEST'], 'notification' => [ 'title' => 'テスト', 'body' => 'これはプッシュ送信のテストです。', ], ]); // メッセージを送信 $messaging = $firebase->getMessaging(); $messaging->send($message); print('OK');
■動作確認 作成したPHPプログラムにアクセスして、アプリにプッシュが届くことを確認する

Advertisement