APP PUSH
Developers핑거푸시 고객지원
  • 핑거푸시 APP PUSH
  • 이용 가이드
    • 사용자 콘솔 매뉴얼
      • 앱 등록하기
      • 대시보드
      • 메시지 만들기
        • 커스텀 푸시
        • 엑셀 파일 업로드 유의사항
      • 발송 이력 및 발송 리포트
      • 인앱푸시 만들기
      • 통계
      • 앱 설정
    • 플랜별 지원 기능
    • 서비스 신청 및 결제 안내
    • 핑거푸시 라이브 앱
    • 광고성 정보 전송 가이드라인
  • SDK 매뉴얼
    • SDK 다운로드
    • Android SDK 매뉴얼
      • 주요 기능
      • 비공개 키 생성 및 등록
    • iOS SDK 매뉴얼
      • APN 인증 키(.p8) 발급 및 업로드
    • Cordova
    • React Native
    • Flutter
    • 인앱푸시 App 가이드
    • Server2Server
      • 1. 일괄 발송
      • 2. 다수의 대상자 발송
        • 2-1. 메시지 기본 정보 발송
        • 2-2. 수신 대상자 정보 발송
        • 2-3. 메시지 전송 종료 정보 발송
      • 3. 다수의 대상자 발송 (500건 이하)
      • 4. 다수의 대상자 개별 설정값 발송
      • 5. 단일 건 발송
      • 6. 타겟 발송 실패 시 식별자 조회
      • 7. 예약 메시지 취소
      • 8. 부가 서비스-통계
  • API Reference
    • Android API Reference
    • iOS API Reference
  • Agent
    • 에이전트 소개
    • 설치 및 실행
    • 푸시 발송 테스트
    • CJ올리브네트웍스 연동
    • 테이블 설명
Powered by GitBook
On this page
  • 설치
  • 에이전트 설치 사양
  • Java SDK 설치
  • 에이전트 설치
  • 데이터 베이스 환경 설정
  • 에이전트 로그 환경 설정
  • 실행 환경 설정
  • 실행
  • OS별 실행 명령어
  • 에이전트 실행
  1. Agent

설치 및 실행

Previous에이전트 소개Next푸시 발송 테스트

Last updated 1 year ago

설치

에이전트 설치 사양

항목
사양
비고

설치 환경

리눅스, 윈도우, OSX

JDK 1.8 이상

java 구동 환경과 동일

설치 권장 사양

CPU – 4Core Memory – 512M Hard Disk – 50G

월 100만 건 기준 3년

발송 속도

2,000건~5,000건/분

설정 조건 및 설치 장비의 성능에 의존됨

접속 도메인

https://api-v2.fingerpush.com

SSL 사용

사용 포트

443

SSL 포트 사용

Java SDK 설치

1) 에이전트는 JDK1.8 이상 설치가 필요하며, OpenJDK, Oracle JDK 모두 가능합니다.

2) JDK 다운로드 및 설치 방법은 아래 링크를 참조해 주세요.

에이전트 설치

1) 설치는 압축된 파일을 풀면 완료됩니다.

2) 설치 경로 예시

OS
Path

Windows

D:/FingerPushAgent

Linux

/home/fingerpush/FingerPushAgent

3) 정상적인 경우 아래와 같은 디렉토리 구조를 가집니다. 실행 파일은 cmd 폴더 내에 위치합니다.

OS
Command

Windows

startup.bat, fpAgent.bat

Linux

시작 fpAgent.sh start

종료 fpAgent.sh stop

1depth
2depth
Description

bin

cmd

에이전트 실행 경로

bin

com

프로그램 class 경로

database

mssql

mariadb

mssql

mysql

oracle

postgreSQL

edb

tibero

데이터베이스 종류별 스크립트

JavaService

자바용 윈도우 서비스 등록 프로그램

lib

라이브러리 폴더

logs

실행, 에러 로그

데이터 베이스 환경 설정

1) 설정파일은 메인 설정파일 agentDistServerConfig.xml, 데이터베이스 설정파일 agentDistServerConfig_.xml 두 개로 구분됩니다. 샘플은 아래와 같습니다.

agentDistServerConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
	<version>3.0.0</version>
	<reloadtime>10000</reloadtime>
	<database>mysql</database> 
	<fingerpush>
	   ...

위 샘플처럼 mysql을 태그에 입력하면 agentDistServerConfig_mysql.xml 파일이 로딩됩니다.

2) 데이터베이스 연결을 위한 정보를 입력합니다. 파일 내용 중 아래 태그 내의 항목을 서버 정보에 맞게 입력합니다.

MSSQL - agentDistServerConfig_mssql.xml
<kindofdb>mssql</kindofdb>
<mssql>
      <driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>      
      <url>jdbc:sqlserver://아이피:포트;databaseName=디비명;</url>      
      <minidle>5</minidle>
      <maxactive>30</maxactive>
      <username>디비사용자</username>
      <password>디비암호</password>
</mssql>
Mysql Ver.5 - agentDistServerConfig_mysql.xml
<kindofdb>mysql</kindofdb>
<mysql>
      <driver>com.mysql.jdbc.Driver</driver>
      <url>jdbc:mysql://아이피:포트/디비명</url>
      <minidle>5</minidle>
      <maxactive>30</maxactive>
      <username>디비사용자</username>
      <password>디비암호</password>
</mysql>
Mysql Ver.8 - agentDistServerConfig_mysql.xml
<kindofdb>mysql</kindofdb>
<mysql>
      <driver>com.mysql.cj.jdbc.Driver</driver>
      <url>jdbc:mysql://아이피:포트/디비명</url>
      <minidle>5</minidle>
      <maxactive>30</maxactive>
      <username>디비사용자</username>
      <password>디비암호</password>
</mysql>
Mariadb - agentDistServerConfig_mariadb.xml
<kindofdb>mariadb</kindofdb>
<mariadb>
      <driver>org.mariadb.jdbc.Driver</driver>
      <url>jdbc:mariadb://아이피:포트/디비명</url>
      <minidle>5</minidle>
      <maxactive>30</maxactive>
      <username>디비사용자</username>
      <password>디비암호</password>
</mariadb>
Oracle - agentDistServerConfig_oracle.xml
<kindofdb>oracle</kindofdb>
<oracle>
      <driver>oracle.jdbc.driver.OracleDriver</driver>
      <url>jdbc:oracle:thin:@아이피:포트:SID</url>
      <minidle>5</minidle>
      <maxactive>30</maxactive>
      <username>디비사용자</username>
      <password>디비암호</password>
</oracle>
Tibero - agentDistServerConfig_tibero.xml
<kindofdb>tibero</kindofdb>
<tibero>
      <driver>com.tmax.tibero.jdbc.TbDriver</driver>
      <url>jdbc:tibero:thin:@아이피:포트:SID</url>
      <minidle>5</minidle>
      <maxactive>30</maxactive>
      <username>디비사용자</username>
      <password>디비암호</password>
</tibero>
PostgreSql - agentDistServerConfig_postgresql.xml
<kindofdb>postgresql</kindofdb>
<postgresql>
    <driver>org.postgresql.Driver</driver>
    <url>jdbc:postgresql://아이피:포트/디비명?currentSchema=스키마명</url>
    <minidle>5</minidle>
    <maxactive>30</maxactive>
    <username>디비사용자</username>
    <password>디비암호</password>
</postgresql>
edb- agentDistServerConfig_edb.xml
<kindofdb>edb</kindofdb>
<edb>
    <driver>org.edb.Driver</driver>
    <url>jdbc:edb://아이피:포트/디비명?currentSchema=스키마명</url>
    <minidle>5</minidle>
    <maxactive>30</maxactive>
    <username>디비사용자</username>
    <password>디비암호</password>
</edb> 

3) 테이블 생성 옵션을 설정합니다.

DB 공통- agentDistServerConfig_DBNAME.xml
<table autocreate="true">
    <master table="AGPUSH_MASTER">
    <queue table="AGPUSH_QUEUE">
    <result table="AGPUSH_RESULT" monthly-backup="true" monthly-backup-max="6" pre-create="2">
</table>
  • autocreate: 테이블 자동생성 옵션. False일 경우 database 폴더의 스크립트를 사용하여 직접 생성할 필요가 있습니다.

  • monthly-backup: 테이블 매월 백업 옵션.

    True일 경우 RESULT 테이블명이 AGPUSH_RESULT_YYYYMM 형태가 됩니다.

  • monthly-backup-max: 백업 테이블 보관 기한. 6일 경우 6개월 지난 테이블을 삭제. -1일 경우 삭제 비활성

  • pre-create: 테이블 사전 생성 옵션. 2일 경우 테이블 생성 시 다음 두 달의 테이블을 추가 생성. 0일 경우 비활성

4) 테이블 데이터 정리 옵션을 설정합니다.

DB공통- agentDistServerConfig_DBNAME.xml
<table autocreate="true">
    <master table="AGPUSH_MASTER">
    <queue table="AGPUSH_QUEUE" useless-eviction="true" evict-deadline="72" evict-starttime="1" evict-endtime="5">
    <result table="AGPUSH_RESULT">
</table>
  • useless-eviction: 테이블 자동정리 옵션 on/off 설정 True일 경우 QUEUE 테이블의 데이터 중 senddate가 일정시간 이상 지난 데이터를 삭제합니다.

  • evict-deadline: QUEUE 테이블 데이터 정리하는 기준 시간 (현재시간으로부터 evict-deadline시간 이상 지난 데이터 삭제)

  • evict-starttime: 자동정리 시작시간

  • evict-endtime: 자동정리 종료시간 자동정리는 evict-starttime 이상 evict-endtime 미만의 범위에서 1일 1회 동작합니다.

에이전트 로그 환경 설정

1) 설치경로/bin/log4j2.properties 파일을 메모장으로 로딩합니다.

2) 설치 경로의 logs 폴더로 경로를 설정합니다.(변경도 가능합니다.)

  • 생성되는 로그파일명은 fpagent.log

  • 날짜/용량별로 롤오버 되는 로그파일은 fpagent_2022-03-04_1.log.gz 형태

실행 환경 설정

1) 설치경로/bin/cmd/실행파일 윈도우의 경우 startup.bat, fpAgent.bat, 리눅스/유닉스의 경우 fpAgent.sh 파일을 메모장으로 로딩 합니다.

Windows
Linux

bin\cmd\startup.bat

bin/cmd/fpAgent.sh

bin/cmd/stop.sh

위 두 파일은 실행 권한이 필요합니다.

2) JAVA_HOME에 설치 서버에 동작 중인 JAVA프로그램 설치 경로를 입력합니다.

3) AGENT_HOME에 프로그램 설치 단계에서 설치했던 경로를 입력합니다. 예) /home/user/FingerPushAgent

4) fpAgent.bat, Startup.bat 파일 내용

Windows – fpAgent.bat
@echo off
setLocal EnableDelayedExpansion

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_80(경로 설정)
set JVM_PATH=%JAVA_HOME%\bin\java.exe
set AGENT_HOME=C:\에이전트(경로 설정)
set SVC_NAME=FingerPushAgent
set TARGET_APP=com.finger.agents.server.AgentDistServer

cd %AGENT_HOME%

set CLASSPATH="
for /R .\lib %%a in (*.jar) do (
	set CLASSPATH=!CLASSPATH!;%%a
)
set CLASSPATH=!CLASSPATH!;%AGENT_HOME%\bin;"

"%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% -Xms128m -Xmx512m %TARGET_APP%
Windows – startup.bat
@echo off
setLocal EnableDelayedExpansion

set AGENT_HOME=C:\에이전트(경로 변경)
set SVC_NAME=FingerPushAgent
set NSSM32=%AGENT_HOME%\JavaService\nssm32.exe
set NSSM64=%AGENT_HOME%\JavaService\nssm64.exe
.
.
.
:EXIT
echo.
pause
REM exit
Linux
#!/bin/sh

#empty

JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
AGENT_HOME=/home/fingerpush/fingerPushAgent
.
.

DAEMONCLASS=com.finger.agents.server.AgentDistServer
DAEMONNAME=fpAgent

JAVA_PNAME="-Dpn=$DAEMONNAME"
JAVA_PROPERTY="-Xms32m -Xmx512m"

case "$1" in
start)
	echo "start FingerPush Agent!"
	nohup $JAVA_COMMAND $JAVA_PNAME $JAVA_PROPERTY -cp $CLASSPATH $DAEMONCLASS > /dev/null 2>&1&
	exit 0
	;;
stop)
	echo "stop FingerPush Agent"
	sh $AGENT_HOME/cmd/stop.sh $DAEMONNAME
	exit 0
	;;
esac

실행 여부 확인: - ps -ef | grep fpAgent 명령어를 통해 실행 확인 여부 가능합니다.

실행

OS별 실행 명령어

1) 설치된 경로(d:\FingerPushAgentsForMssql) \bin\cmd\startup.bat를 실행하면 프롬프트창이 생기면서 에이전트가 구동됩니다.

Windows
Linux

bin\cmd\startup.bat

bin\cmd\fpAgent.sh start/stop

2) Windows의 경우 콘솔창에서 에이전트 실행메뉴를 확인할 수 있습니다.

  • 에이전트의 윈도우 서비스를 사용하려면 1번, 3번 중 윈도우 환경에 맞게 선택하면 됩니다. 서비스 등록과 동시에 실행이 됩니다.

  • 5번을 선택해서 정상 동작하는 것을 확인 후 서비스에 등록합니다.

  • 일반 콘솔창에서 사용하려면 5번을 선택하면 됩니다.

서비스 등록이 안되는 경우 CMD창을 관리자 모드로 실행 바랍니다.

에이전트 실행

1) 에이전트가 실행되면서 에이전트에서 사용하는 테이블은 자동 생성됩니다.

2) AGPUSH_MASTER

  • 캠페인 발송 시 푸시 발송에 대한 주요 정보를 저장하는 테이블입니다.

  • Master 테이블에 1개의 로우가 입력되고, msg 테이블에 대상자를 입력하면 됩니다.

3) AGPUSH_QUEUE

  • 푸시 발송할 데이터를 입력하는 큐 테이블이며 테이블에 입력된 순서대로 발송이 됩니다.

  • 데이터는 발송 후 AGPUSH_RESULT_YYYYMM로 이동되고 queue테이블에서 삭제됩니다.

4) AGPUSH_RESULT_YYYYMM

  • msg 테이블에 입력된 발송 데이터의 결과가 저장되는 테이블입니다.

  • 데이터는 월별로 백업되며, senddate컬럼값을 기준으로 AGPUSH_RESULT_YYYYMM 테이블에 값이 저장됩니다.

5) 에러 코드(error_code)

테이블 설명: 페이지를 참고해 주세요.

테이블 설명: 페이지를 참고해 주세요.

테이블 설명: 페이지를 참고해 주세요.

코드 리스트: 페이지를 참고해 주세요.

Agent 테이블 설명
Agent 테이블 설명
Agent 테이블 설명
Agent 테이블 설명
OpenJDK: Download and install
Download the Latest Java LTS Free
Logo
Logo