제목 | FCM(FirebaseCloudMessage) 간단 구현 (부제 chatGPT에게 물어보았다) | ||
---|---|---|---|
글쓴이 | kaido | 작성시각 | 2024/05/09 17:08:42 |
|
|||
안녕하세요 최근 프롬프트로 AI 갈구는 취미(?)에 눈을 뜬 kaido 입니다.
우선 컴포저로 가볍게 패키지를 설치 합니다. composer require kreait/firebase-php [출처 https://packagist.org/packages/kreait/firebase-php ]
그럼 여러분의 php 버전에 맞추어서 설치가 완료 될것입니다.
컴포저가 무엇? 난 설치 안되었는데? 하시는 분들은 https://getcomposer.org/ 방문하여 설치 하거나 리룩스 환경 상에서 curl 과 php가 설치 되어있다면 간단히 설치 가능합니다. curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
그리고 chatGPT 에게 여러번 문의 결과 에러 없는 소스를 획득 !
<?php require 'vendor/autoload.php'; // Load Composer's autoloader use Kreait\Firebase\Factory; use Kreait\Firebase\Messaging\CloudMessage; use Kreait\Firebase\Messaging\MulticastSendReport; // Initialize Firebase $factory = (new Factory)->withServiceAccount('/path/to/serviceAccountKey.json'); // Get an instance of the Messaging service $messaging = $factory->createMessaging(); // Create an array of messages to send $messages = [ ['token' => 'device_token_1', 'title' => 'Title 1', 'body' => 'Body 1', 'link_url' => '/page1'], ['token' => 'device_token_2', 'title' => 'Title 2', 'body' => 'Body 2', 'link_url' => '/page2'], // Add more messages as needed ]; // Create an array of CloudMessage instances $cloudMessages = []; foreach ($messages as $messageData) { $cloudMessages[] = CloudMessage::withTarget('token', $messageData['token']) ->withData([ 'title' => $messageData['title'], 'body' => $messageData['body'], 'link_url' => $messageData['link_url'] // Include link_url in the message data ]); } // Send the messages to all devices $sendReport = $messaging->sendAll($cloudMessages); // Check for errors if ($sendReport->hasFailures()) { foreach ($sendReport->failures() as $index => $failure) { $error = $failure->error(); echo "Failed to send message to device with index $index: $error\n"; } } else { echo "Messages sent successfully to all devices\n"; }
serviceAccountKey.json 파일은 구글 파이어베이스에 접속해서 프로젝트를 생성 하면 계정정보가 담긴 json 파일을 하나 던져줍니다. 해당 파일을 서버 상에 올려놓고 파일 path에 맞춰서 넣어주세요.
파라메터 설명 title 알림의 제목 [상단] body 알림의 본문 [접힌거 펼치면 나오는 부분] link_url 터치시 이동할 URL 주소
이렇게 데이터를 맞춰서 실행 하면 끝 ! FCM 구현을 간단히 하고 싶으신 분들은 참고해 보세요.
해당 패키지 메뉴얼 https://firebase-php.readthedocs.io/en/7.10.0/index.html
|
|||
이전글 | Responsive-Grid-System Demo (2) | ||
없음 |