RFMCで携帯電話にララベルから通知を送る
2167 ワード
最初に新しいLaravelプロジェクトを作成し、このvarを追加します.プロジェクトのenvファイル
今、我々はfcmserviceに要求を送信することができます
FCM_SERVER_KEY=FIRE_BASE_SERVER_KEY
新しいコントローラを作るNotificationController
public function send_message(Request $request)
{
// Call Your FCM Service Class
}
今ラーラヴェルで新しいサービスを作成するapp/Services/FCMService.php
新しい関数を作成します <?php
namespace App\Services;
use App\Models\User;
class FCMService
{
// send notification to user using firebase cloud messaging
public static function send_notification($user, $title, $body)
{
$user = User::where('id', $user)->first();
$url = "https://fcm.googleapis.com/fcm/send";
$server_key = env('FCM_SERVER_KEY');
$headers = [
'Authorization' => 'key=' . $server_key,
'Content-Type' => 'application/json',
];
if (!$user) {
return response()->json([
'status' => 'error',
'message' => 'User not found',
], 404);
}
// send via GuzzleHttp
$client = new \GuzzleHttp\Client();
$response = $client->post($url, [
'headers' => $headers,
'json' => [
'to' => $user->device_token, // user's device token for fcm
'data' => [
'title' => $title,
'body' => $body,
],
],
]);
return $response->getBody();
}
}
ユーザーテーブルに新しい列を追加device_token
ユーザーが携帯電話から新しいアカウントを作成し、ユーザーテーブルからユーザーデバイスに通知を送信するために使用するときに新しいデバイストークンを格納します.今、我々はfcmserviceに要求を送信することができます
public function send_message(Request $request)
{
// Call Your FCM Service Class
\App\Services\FCMService::send_notification($request->user_id, $request->title, $request->body);
return redirect()->back();
}
Reference
この問題について(RFMCで携帯電話にララベルから通知を送る), 我々は、より多くの情報をここで見つけました https://dev.to/upkareno/send-notifications-from-laravel-to-mobile-in-fmc-1j59テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol