>백엔드 개발 >PHP 튜토리얼 >教程:使用Firebase Cloud Messaging在PHP应用中实现定时消息推送功能

教程:使用Firebase Cloud Messaging在PHP应用中实现定时消息推送功能

WBOY
WBOY원래의
2023-07-25 11:21:371666검색

튜토리얼: Firebase 클라우드 메시징을 사용하여 PHP 애플리케이션에서 예약된 메시지 푸시 기능 구현

개요
Firebase 클라우드 메시징(FCM)은 Google에서 제공하는 무료 메시지 푸시 서비스로, 개발자가 Android, iOS 및 웹 애플리케이션을 사용하는 데 도움이 될 수 있습니다. 시간 메시지. 이 튜토리얼에서는 FCM을 사용하여 PHP 애플리케이션을 통해 예약된 메시지 푸시 기능을 구현하는 방법을 안내합니다.

1단계: Firebase 프로젝트 만들기
먼저 Firebase 콘솔에서 프로젝트를 만듭니다. 단계는 다음과 같습니다.

  1. Firebase 콘솔(https://console.firebase.google.com/)을 열고 로그인합니다.
  2. "프로젝트 추가" 버튼을 클릭하고 프로젝트 이름을 입력한 후 국가를 선택하세요. 그런 다음 "계속"을 클릭하십시오.
  3. "Google Analytics 활성화" 페이지에서 필요에 따라 Google Analytics 서비스 활성화 여부를 선택하세요. 그런 다음 "프로젝트 만들기"를 클릭하세요.
  4. 생성 성공 후 "계속" 버튼을 클릭하세요.

2단계: Firebase 프로젝트에 Android 애플리케이션 추가

  1. Firebase 콘솔의 프로젝트 개요 페이지에서 "애플리케이션 추가" 버튼을 클릭하세요.
  2. 팝업 창에서 "Android" 플랫폼을 선택하고 애플리케이션의 패키지 이름을 입력하세요. "앱 등록" 버튼을 클릭하세요.
  3. 생성된 google-services.json 파일을 다운로드하여 프로젝트의 루트 디렉터리에 저장하세요.

3단계: Firebase 클라우드 메시징 구성

  1. Firebase 콘솔의 프로젝트 개요 페이지에서 '클라우드 메시징' 탭을 클릭하세요.
  2. FCM 설정 페이지에서 "서버 키"를 복사하여 안전한 위치에 저장하세요. 이 키는 후속 PHP 코드에서 사용됩니다.

4단계: Firebase PHP 라이브러리 설치

  1. Composer를 사용하여 종속성을 관리합니다. 프로젝트 루트 디렉터리에서 터미널을 열고 다음 명령을 실행합니다:
    composer require kreait/firebase-phpcomposer require kreait/firebase-php
  2. 安装完成后,在PHP代码中引入Firebase相关的类文件:

    <?php
    require 'vendor/autoload.php';

步骤五:编写PHP代码
下面是一个用于发送定时消息的示例PHP代码:

<?php
require 'vendor/autoload.php';

use KreaitFirebaseFactory;
use KreaitFirebaseMessagingCloudMessage;
use KreaitFirebaseMessagingNotification;
use KreaitFirebaseMessagingPriority;
use KreaitFirebaseMessagingRawMessageFromArray;

// 初始化Firebase
$firebase = (new Factory)
    ->withServiceAccount('path/to/serviceAccount.json')
    ->create();

// 获取FCM实例
$messaging = $firebase->getMessaging();

// 创建通知对象
$notification = Notification::create('标题', '内容')
    ->withClickAction('OPEN_ACTIVITY_1')
    ->withBodyLocArgs(['First argument', 'Second argument']);

// 创建消息对象
$message = CloudMessage::withTarget('token', 'app_id')
    ->withPriority(Priority::HIGH)
    ->withData(['key' => 'value'])
    ->withNotification($notification);

// 设置消息推送时间
$fcmSendAt = strtotime('tomorrow 10:00:00');
$message = RawMessageFromArray::fromArray($message->jsonSerialize());
$message->data['send_at'] = $fcmSendAt * 1000;

// 发送消息
$response = $messaging->send($message);

// 输出结果
echo $response;
?>

在上述示例代码中,需要替换以下内容:

  • path/to/serviceAccount.json: 替换为你的服务账号JSON文件的路径。
  • 'token': 替换为你要发送推送消息的设备的FCM令牌。
  • 'app_id'
설치가 완료된 후 Firebase 관련 클래스 파일을 PHP 코드에 삽입합니다.

php 文件名.php

5단계: PHP 코드 작성

다음은 예약된 메시지 전송을 위한 샘플 PHP 코드입니다.

rrreee
위 샘플 코드에서 다음 내용을 바꿔야 합니다.

    🎜path/ to/serviceAccount.json: 서비스 계정 JSON 파일의 경로로 바꿉니다. 🎜🎜<code>'token': 푸시 메시지를 보내려는 기기의 FCM 토큰으로 바꿉니다. 🎜🎜'app_id': Android 앱의 앱 ID로 바꿉니다. 🎜🎜🎜6단계: 코드 실행 🎜위 PHP 코드를 파일로 저장한 후 터미널에서 다음 명령을 실행합니다. 🎜rrreee🎜모든 것이 잘되면 터미널에서 메시지 전송 결과를 볼 수 있습니다. 🎜🎜결론🎜 이 튜토리얼을 통해 우리는 Firebase 클라우드 메시징을 사용하여 PHP 애플리케이션에서 예약된 메시지 푸시 기능을 구현하는 방법을 배웠습니다. 개발 중에 FCM 서비스를 더 잘 활용하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 教程:使用Firebase Cloud Messaging在PHP应用中实现定时消息推送功能의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:다음 기사: