기본 메시지 발송
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
)
)
'success' => true,
'message' => 'Multiple push notifications processed',
'data' => array(
'total' => 100,
'success_count' => 95,
'error_count' => 5
)
)
실패 시 반환값
array(
'success' => false,
'message' => '발송할 구독자가 없습니다.'
)
'success' => false,
'message' => '발송할 구독자가 없습니다.'
)
사용 예시
기본 사용법
// 모든 활성 구독자에게 발송
$result = send_push_notification(
'새로운 소식',
'사이트에 새로운 글이 등록되었습니다.'
);
if ($result['success']) {
echo '푸시 발송 성공: ' . $result['data']['success_count'] . '명';
} else {
echo '발송 실패: ' . $result['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
);
$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
);
$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
);
$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() 사용
구독자 확인: 활성 구독자가 없으면 발송이 실패합니다
로그 기록: 모든 발송 결과는 pushmanager_logs 테이블에 자동 기록됩니다
사용자 설정: 이 함수는 사용자 알림 설정을 무시합니다. 설정을 확인하려면 send_notification() 사용