기본 메시지 발송

작성자: admin 작성일: 2025-07-08 수정일: 2025-07-08
Function Guide

send_push_notification()

기본 푸시 알림 발송 함수입니다. 활성 구독자들에게 푸시 메시지를 전송하고 결과를 반환합니다.
function send_push_notification($title, $message, $options = array())

Parameters

$title

푸시 알림의 제목입니다. 브라우저 알림에서 굵게 표시되는 부분으로, 간결하고 명확하게 작성해야 합니다. 최대 100자 권장합니다.

$message

푸시 알림의 본문 메시지입니다. 사용자에게 전달할 상세 내용을 포함하며, 최대 300자 권장합니다.

$options

푸시 알림의 추가 옵션을 설정하는 배열입니다. 필터링, 스타일링, 동작 등을 제어할 수 있습니다.
필터 옵션:
  • member_ids (Array) - 특정 회원 ID 목록
  • level (Int) - 특정 회원 레벨
  • gender (String) - 성별 ('M' 또는 'F')
  • created_after (String) - 가입일 이후 (Y-m-d H:i:s)
푸시 옵션:
  • icon (String) - 알림 아이콘 URL
  • badge (String) - 배지 아이콘 URL
  • click_action (String) - 클릭 시 이동할 URL
  • require_interaction (Boolean) - 사용자 상호작용 필요 여부
  • silent (Boolean) - 무음 알림 여부

Return Value

푸시 발송 결과를 담은 배열을 반환합니다.

성공 시 반환값

array(
  'success' => true,
  'message' => 'Multiple push notifications processed',
  'data' => array(
    'total' => 100,
    'success_count' => 95,
    'error_count' => 5
  )
)

실패 시 반환값

array(
  'success' => false,
  'message' => '발송할 구독자가 없습니다.'
)

사용 예시

기본 사용법

// 모든 활성 구독자에게 발송
$result = send_push_notification(
  '새로운 소식',
  '사이트에 새로운 글이 등록되었습니다.'
);

if ($result['success']) {
  echo '푸시 발송 성공: ' . $result['data']['success_count'] . '명';
} else {
  echo '발송 실패: ' . $result['message'];
}

특정 회원들에게 발송

// 특정 회원 ID 목록으로 발송
$options = array(
  'member_ids' => array('admin', 'user1', 'user2'),
  'icon' => '/img/notice.png',
  'click_action' => '/bbs/board.php?bo_table=notice'
);

$result = send_push_notification(
  '중요 공지',
  '새로운 공지사항을 확인해주세요.',
  $options
);

레벨별 발송

// 레벨 10 이상 회원들에게만 발송
$options = array(
  'level' => 10,
  'require_interaction' => true
);

$result = send_push_notification(
  'VIP 혜택 안내',
  '특별 혜택이 준비되었습니다.',
  $options
);

최근 가입 회원들에게 발송

// 7일 이내 가입한 회원들에게 발송
$options = array(
  'created_after' => date('Y-m-d H:i:s', strtotime('-7 days')),
  'icon' => '/img/welcome.png'
);

$result = send_push_notification(
  '환영합니다!',
  '가입을 환영합니다. 다양한 혜택을 확인해보세요.',
  $options
);

주의사항

API 키 필수: pushmanager_config 테이블에 유효한 API 키가 설정되어 있어야 합니다
구독자 확인: 활성 구독자가 없으면 발송이 실패합니다
로그 기록: 모든 발송 결과는 pushmanager_logs 테이블에 자동 기록됩니다
사용자 설정: 이 함수는 사용자 알림 설정을 무시합니다. 설정을 확인하려면 send_notification() 사용

관련 함수

문서 검색