스윙투앱 도움말
문의하기앱 제작하기
  • 스윙투앱
  • 스윙투앱 이용 안내
  • [웹앱] 스윙투앱 강점
  • [일반앱] 스윙투앱 강점
  • 스토어 유지보수
  • 커스터마이징(앱개발 서비스)
  • 스윙투앱 업데이트
  • 스윙투앱 업데이트 히스토리
  • 자주 묻는 질문 FAQ
    • 가장 많이 묻는 질문 FAQ
    • 앱제작 FAQ
    • 앱운영 및 기능 FAQ
    • 앱 설치 및 다운로드 FAQ
    • 결제/이용권 FAQ
      • 일반 결제 문의 FAQ
      • 구독형 이용권 FAQ
      • 무제한 이용권 FAQ
      • 업로드티켓 FAQ
      • 패키지상품 FAQ
      • 플러그인 상품 FAQ
    • 푸시 발송 관련 FAQ
    • 플레이스토어 FAQ
    • 앱스토어 FAQ
    • 애드몹 FAQ
    • 제휴프로그램 FAQ
    • 커스터마이징 관련 FAQ
    • 스윙샵(스윙쇼핑몰) FAQ
    • 계정-회원가입,로그인 FAQ
    • 앱 미리보기 FAQ
    • 스토어 유지보수 컨설팅 FAQ
    • 구글플레이 개발자 계정 FAQ
  • 일반프로토타입 앱 매뉴얼
    • 앱제작 매뉴얼(V3)
      • V3 앱제작 마법사 시작
      • V3버전 앱제작 방법 매뉴얼
      • STEP1 기본정보
        • 앱아이콘 이미지 제작 가이드
        • 대기화면 이미지 제작 가이드
      • STEP2 디자인
      • STEP3 페이지
        • 앱 홈화면 제작방법
        • 메뉴 아이콘 이미지 등록하기
        • 앱 메뉴 비활성화 이용방법
        • 메뉴 권한 설정: 접근 권한
        • 페이지 기능 - UI KIT
        • 페이지 기능 - 쇼핑몰 기능 페이지
        • 페이지 기능 - 쇼핑몰 상품
        • 페이지 기능 - 상품카테고리
        • 페이지 기능 - 업종별 템플릿
        • 페이지 기능 - 이미지 페이지
        • 페이지 기능 - HTML에디터 페이지
        • 페이지 기능 - 회원가입, 로그인, 설정
        • 페이지 기능 - 게시물 검색
        • 페이지 기능 - 관심글 보기
        • 페이지 기능 - 쿠폰조회하기
        • 페이지 기능 - 앱공유하기
        • 페이지 기능 - 앱소개
        • 페이지 기능 - 관리자 채팅
        • 페이지 기능 - 채팅목록
        • 페이지 기능 - 설문조사
        • 페이지 기능 - 나의 글 보기
        • 페이지 기능 - 출석체크
        • 페이지 기능 - 링크
      • STEP4 앱제작하기
        • 앱 추가 제작방법
        • 앱 업데이트 방법
        • 업데이트 유형별 앱 실행화면
        • 디바이스 모드 설정(앱 화면 전환)
        • 앱 리뷰 버튼
        • 앱 로딩 아이콘 변경
      • 앱 업데이트 방법
    • 앱제작 메뉴얼(V2)
      • 앱 기본정보
        • 앱제작 방법 매뉴얼
        • 앱 업데이트 방법
        • 푸시, 웹뷰버전 앱제작방법(초간단 앱제작)
        • 웹뷰앱 매뉴얼(제작 및 운영)
        • 푸시앱 매뉴얼(제작 및 운영)
        • 푸시앱 툴바 제거
        • 업데이트 유형별 앱 실행화면
        • 앱 추가제작
        • 앱아이콘 이미지 제작 가이드
        • 대기화면 이미지 제작 가이드
        • 앱 이미지 사이즈 편집도구
      • 디자인테마
        • 프로토타입 UI디자인
        • 앱 메인 디자인 스타일
        • 앱 내비게이션 스타일
        • 슬라이드 프로토타입 응용
      • 페이지메뉴
        • 페이지메뉴-메인메뉴 관리
        • 앱 홈화면 제작방법
        • 홈화면:앱소개 페이지 적용하기
        • 웹링크 메뉴 이용방법
        • 파일 첨부 이용방법
        • 이미지 첨부 이용방법
        • 웹링크 링크마법사 이용방법
        • 상품카테고리 이용방법
        • 사용자페이지 이용방법
        • 사용자 페이지- 이미지 페이지
        • 사용자 페이지- 웹 템플릿 페이지
        • 사용자 페이지- HTML에디터 페이지
        • 스윙 페이지 - 회원가입, 로그인, 설정
        • 스윙페이지 - 게시물 검색 기능
        • 스윙페이지 - 관심글보기 이용방법
        • 스윙페이지 - 쿠폰조회하기
        • 스윙페이지 - 앱공유하기
        • 스윙페이지 - 앱소개
        • 스윙페이지 - 관리자채팅
        • 스윙페이지 - 채팅목록
        • 스윙페이지 - 설문조사
        • 스윙페이지 - 나의글보기 이용방법
    • 앱제작 응용 TIP(V2)
      • 푸시 API를 이용하여 푸시 발송하기
      • 홈화면 GIF이미지 넣기
      • 플래시 스타일 홈화면 만들기
      • 앱 로딩 아이콘 변경하기
      • 디바이스 모드 설정(앱 화면 전환)
      • 앱 리뷰 버튼 이용방법
      • 카카오톡 앱공유-앱 셋팅 방법
    • 앱운영 매뉴얼
      • 내 메뉴
        • 앱 활동 모음
        • 앱 제거(삭제)방법
        • 내 정보 수정
      • 게시판관리
        • 게시판 만들기
        • 게시판 종류, 디자인스타일
        • 게시판 날짜 형식 설정 방법
        • 게시판 - 게시물 입력방법
        • 게시판 - 게시물 예약 설정
        • 게시판 고급설정 - 게시물 상세 옵션 설정
        • 게시물 정렬 순서 설정 방법
        • 게시판 - 파일 첨부하기 (관리자용)
        • 앱에서 게시판 파일 첨부하기
        • 게시판 - 동영상 등록하기(영상 등록방법)
        • 게시판-오디오파일 첨부방법
        • 게시물 댓글, 대댓글 입력방법
        • 게시판 권한 설정 이용방법
        • 게시판 작성폼 이용방법
        • 게시판 작성글 이용방법
        • 게시판: 목록화면, 작성화면 이용방법
        • 게시판 새글알람 설정방법
        • 게시판 관리자 설정
        • 위치등록(지도)게시판
        • 위치등록(지도)게시판 버튼명 수정
        • 위치등록(지도)게시판 고급설정
        • 구글맵(구글지도)게시판
        • 구글맵 API키 발급하기
        • HTML에디터글쓰기
        • 게시물 신고 및 관리
        • 게시물 차단하기
        • 회원등급별 게시판 만들기
        • 게시판 섬네일 이미지 등록
        • 게시물 검색 기능
        • 게시물관리 옵션 기능
        • 일괄등록 게시판 이용방법
        • 복합게시판
        • 게시판 복사
        • 게시물 복사
        • 게시물 이동
        • 게시물 일괄 삭제
        • 그룹채팅
        • 그룹채팅 기능 소개
        • 비밀게시판 만들기(1:1 고객센터)
        • 게시물 링크 생성하기
        • 캘린더 이용방법
        • 캘린더 응용-활용방법
        • 스탬프 이용 및 등록방법
        • 스탬프 응용: 스탬프 완료시 쿠폰발행하기
        • 게시판 헤더 이용방법
        • 해시태그 2가지 이용방법
        • 해시태그 검색옵션 이용방법1
        • 해시태그 검색옵션 이용방법2
        • 게시글 다운받기(게시물 다운)
      • 서비스관리
        • 팝업 이용방법
        • 출석체크
        • 설문조사
        • 리소스관리- 용량관리
        • 쿠폰관리: 쿠폰만들기, 발행하기
        • 관리자채팅 [1:1 채팅] 이용방법
        • 채팅 관리자 페이지 (웹 대시보드용)
        • 채팅 관리자 페이지 - 채팅설정
        • 통합 알림 설정
        • 앱 정책관리 - 앱 가입 정책
        • 앱 정책관리 - 회원가입 양식
        • 회원가입 양식 - 아이디 설정
        • 회원가입 양식 - 외부 로그인 연동
        • 회원가입 양식 - 가입 항목 추가하기
        • 앱 정책관리- 회원가입 완료 메시지 설정
        • 앱 이용약관, 개인정보취급방침
        • 비공개 앱만들기
        • 앱 등록 기기수
        • 앱 고급 관리
        • 안드로이드 앱 패키지 아이디 변경
        • API-KEY 관리 페이지
        • 앱 문자열 관리
        • 엡에 셋팅된 문구(메시지) 수정 방법
        • 앱 신고 관리
        • 앱스토어 리뷰 관리
        • 애드몹 플러그인 설정
        • 링크마법사
        • 접근 권한 제어
        • 브랜드관리 - 라벨 사용
      • 푸시&회원 메뉴
        • 푸시 발송하기
        • SMS 발송 이용방법
        • 푸시 알림 방식 확인
        • 게시물 푸시발송하기
        • 푸시 알림 확인 후 메시지 표시
        • 푸시 알림 이용방법
        • 푸시 히스토리
        • 푸시 아이콘 이미지 가이드라인
        • 푸시 아이콘 이미지 등록
        • 아이폰 푸시 인증서 연장
        • 회원조회 - 회원정보 확인
        • 회원조회 - 부관리자 설정 및 로그인 방법
        • 회원조회 - 회원 생성하기
        • 회원 이름 변경 *관리자 권한 변경
        • 앱 관리자 설정하기
        • 권한그룹설정 - 회원 등급
        • 푸시 장치 관리
      • 통계
      • 버전관리
        • 버전관리- 앱제작이력, 마켓등록기록, 마켓등록관리
        • 앱스토어 업로드 신청방법
        • 플레이스토어 업로드 신청방법
        • 모바일웹 업로드 신청방법
      • 결제, 유료 상품
        • 결제- 내 결제현황 이용방법
        • 1,000건 SMS 발송 티켓 이용방법
        • 모바일웹 이용방법
        • 웹뷰 무제한 유료앱
        • 푸시 무제한 유료앱
        • 알뜰형 패키지(12개월)
        • 애드몹 파워 패키지(12개월)
        • 대용량 패키지(12개월)
        • 결제-쿠폰사용하기
        • 세금계산서, 현금영수증 발행요청하기
        • 유료상품 취소 및 환불 정책
      • 전체검색기능
  • 스윙샵 - 쇼핑몰 기능
    • 스윙샵-스윙쇼핑몰
      • 스윙샵(스윙 쇼핑몰) 신청방법
      • 스윙샵 상품유형
      • 스윙샵에서 제공하는 페이지 소개
      • 쇼핑몰 앱 홈화면 구성방법
      • 스윙샵-쇼핑몰앱 결제화면
      • 스윙샵-쇼핑몰 메인페이지 이용방법
      • 스윙샵-쇼핑몰 메인페이지 이미지 슬라이드
      • 상점관리-결제모듈관리
      • 상점관리-결제수단별 실행화면
      • 상점관리-기본정보설정
      • 상점관리-배송관리
      • 상점관리-정책설정하기
      • 상품등록-상품카테고리 등록
      • 상품등록-실물 상품 등록
      • 상품등록-상품수령방법 설정하기
      • 상품등록-디지털제품: 권한 변경 상품
      • 상품등록-디지털제품: PDF파일 등록
      • 상품등록-디지털제품: 영상파일 등록
      • 상품등록-디지털제품: 쿠폰 등록
      • 상품등록-예약시스템 날짜 예약상품 등록
      • 상품등록-예약시스템 시간 예약상품 등록
      • 상품수정-등록한 상품 수정하기
      • 상품관리-상품게시물관리
      • 상품관리-상품조회, 예약상품조회
      • 상품관리-상품노출관리
      • 주문관리 이용방법
      • 예약주문관리 이용방법
      • 상점통계 이용방법
      • 스윙페이지-쇼핑몰정보
      • 스윙페이지-상품검색
      • 스윙페이지-카테고리 리스트
      • 스윙페이지-마이페이지
      • 스윙페이지-장바구니
      • 스윙페이지-디지털상품 구매완료 페이지
  • 웹앱-웹뷰,푸시앱 매뉴얼
    • 웹뷰앱&푸시앱
      • 스윙투앱 웹뷰앱
      • 스윙투앱 푸시앱
      • 웹뷰앱 매뉴얼
      • 푸시앱 매뉴얼
      • 푸시앱, 웹뷰앱 초간단 제작방법
      • 최초 실행 주소 이용방법
      • 기본 옵션: 웹뷰 기능
      • 기본 옵션: 안드로이드 권한
      • 기본 옵션: 추가 기능(푸시앱)
      • 고급 옵션: 색상 설정(푸시앱)
      • 고급 옵션: 시스템 폰트
      • 프로그레스바 색상 설정
      • 프로그레스바 제거(사용하지 않음)
      • 앱 종료 알림 메시지
      • 권한 유형 설정
      • 부관리자 설정(푸시,웹뷰앱)
      • 안드로이드 앱 패키지 아이디 변경
      • 푸시앱 [툴바] 이용방법 및 기능 소개
      • 푸시앱 [메뉴] 리스트 수정 방법
      • 푸시 아이콘 이미지 등록하기
      • 푸시앱에서 푸시발송하기
      • 푸시테스트발송 - 푸시 장치 관리
      • [푸시앱] App Id, App Key
  • 앱 이용 가이드
    • 스윙투앱 브라우저 앱 이용방법
    • 어플리케이션 운영
      • 유료앱 전환 및 스토어 업로드 신청방법
      • 미리보기 이용방법
      • APK파일 받기 (앱 다운)
      • AAB파일 받기
      • 공유하기로 앱 설치하는 방법
      • 앱 설치 링크주소로 앱 다운받기
      • 모바일 스윙투앱 사이트 접속 후 앱 다운받기
      • 무료버전앱(APK파일) 설치가 안된다면 확인해주세요!
      • 유료버전앱(APK파일) 설치가 안된다면 확인해주세요!
      • 유료앱 기간 종료 후 무료앱 전환방법
      • 앱 비밀번호 찾기
      • 앱 프로필 사진 등록 및 변경하기
      • 앱 회원탈퇴 후 동일 아이디 재가입 방법
      • 게시판, 게시물 공유하기
      • 앱 관리자 메뉴 :관리자 로그인
      • 앱 관리자메뉴:채팅
      • 앱 관리자메뉴:스탬프 등록
      • 앱 관리자메뉴:쿠폰사용
    • 앱 미리보기 이용방법
  • 프로그램 및 컨설팅
    • 제휴프로그램
      • 제휴프로그램 소개
      • 제휴프로그램 신청방법
      • 제휴프로그램 약관
      • 제휴프로그램 홍보방법
    • 타사 앱 서비스 이전 문의
  • 스토어
    • 스토어 이용약관
      • 플레이스토어 업로드 대행 약관
      • 앱스토어 업로드 대행 약관
      • 플레이스토어 등록 불가 앱(컨텐츠, 업종)
      • 앱스토어 등록 불가 앱(컨텐츠, 업종)
      • 앱스토어, 플레이스토어 등록 주의사항
      • 애플 개발자 계정 대리 등록 주의사항
      • 앱스토어 주요 정책 이슈
      • 플레이스토어 주요 정책 이슈
    • 개발자 계정 자주 묻는 질문
      • 구글 개발자계정 자주 묻는 질문
      • 애플-앱스토어 자주 묻는 질문
      • 구글 개발자 계정 생성 방법
      • 애플 개발자 계정 생성 방법
      • 애플 개발자 계정 갱신(멤버십 연장)
    • 플레이스토어
      • 구글 플레이 정책
        • 민감한 권한 API: 쿼리 권한 정책
        • 앱 액세스 권한
        • 사용자 제작 콘텐츠(UGC)
        • 데이터 보안
        • 아동 안전 표준 정책
        • 개인정보 링크 연결하기
        • 플레이스토어 사전고지 문서(증빙서류)
      • 비공개 테스트
        • 비공개 테스트 등록
        • 비공개 테스트 승인 완료 프로덕션 출시
        • 비공개 테스트 가이드 및 주의사항
        • 비공개 테스트 FAQ
      • 플레이스토어 앱 등록 매뉴얼
      • 플레이스토어 앱 업데이트
      • 구글 개발자-개인 계정 만들기
      • 구글 개발자 개인 계정 인증
      • 구글 개발자-조직 계정 만들기
      • 구글 개발자 조직 계정 인증
      • 구글 개발자-조직 웹사이트 인증
      • 구글 개발자 계정 초대
      • 플레이스토어 앱 등록 준비사항
      • 플레이스토어 스크린샷 이미지
      • [웹앱] 플레이스토어 심사 거절 사례
      • 플레이스토어 앱 심사 거절 사례
      • 플레이스토어 앱 출시 링크 확인 방법 ​
      • 플레이스토어 앱 게시취소
      • 구글 플레이 개발자 이름 변경
      • 구글 플레이 개발자 연락처 정보 변경
      • 구글 개발자 거래 ID 확인
      • 다른 개발자계정으로 앱 이전하기
      • 플레이스토어 앱 검색 TIP
      • 플레이스토어 앱 설치수 확인하기
      • 플레이스토어 개발자 페이지
      • 플레이스토어 출시 후 관리 페이지
      • 플레이스토어 출시된 앱 업데이트 받는 방법
      • 플레이스토어 앱 자동업데이트 설정하기
      • 플레이스토어 이의제기(앱 복원방법)
      • 플레이스토어 앱 리뷰에 답글 달기
      • Google Play Console 지원팀 문의하기
      • 구글 플레이 개발자 계정 인증 기한 선택
      • 구글 개발자 계정 확인 기한 '개인' 계정 인증
      • 구글 개발자 계정 확인 기한 '조직' 계정 인증
      • 플레이스토어 등록된 앱 삭제
      • 플레이스토어 운영 가이드
      • 구글 계정 만들기
      • 구글 플레이 개발자 계정 환불
    • 앱스토어
      • 애플 계정 만들기
      • 앱스토어 애플 개발자계정 등록(개인)
      • 앱스토어 애플 개발자계정 등록(기업)
      • 애플 개발자 계정 멤버십 연장(갱신)방법
      • 앱스토어 앱 등록 준비사항
      • 앱스토어 스크린샷 이미지
      • 앱스토어 업로드 신청방법
      • 앱스토어 앱 심사 거절 대표 사례
      • [웹앱] 앱스토어 앱 심사거절 사례
      • 아이폰 푸시 인증서 연장
      • TestFlight 앱출시 방법
      • TestFlight 앱 연장방법
      • Apple Developer Enterprise Program
      • 애플 개발자 계약 업데이트
      • 앱스토어 API 인증서 등록하기
      • 앱스토어 아이폰 푸시 인증서 등록
      • 애플 앱스토어 고객센터 이용방법
      • 앱스토어 앱 출시 링크 확인하는 방법
      • 애플 계정 사용자 초대
      • 앱스토어 앱 이전
      • 앱스토어 출시된 앱 삭제하기
      • 앱스토어 앱설치수 확인하기
      • 앱스토어 리뷰/ 평점 관리
      • 앱스토어 출시 후 관리 페이지
      • 앱스토어 '디지털 서비스법 규정' 조치방법 안내
      • Apple Developer Enterprise Program
    • 원스토어
      • 원스토어 앱 등록 방법
      • 원스토어 앱 업데이트하기
      • 원스토어 출시된 앱 판매중지하기
    • 갤럭시스토어
      • 갤럭시스토어 앱 등록 및 출시
      • 갤럭시스토어 앱 업데이트하기
    • 애드몹(구글 애드몹 광고)
      • 애드몹 플러그인 설정이란?
      • 애드몹 예상 수익 계산기
      • 애드몹 가입방법, 광고단위 아이디 만들기
      • 애드몹 플러그인 광고 셋팅
      • 애드몹 - 테스트 아이디 설정
      • 애드몹 - 광고 노출 권한 설정
      • 애드몹 배너광고 노출빈도 설정
      • 애드몹 - app-ads.txt 파일 설정하기
      • 애드몹-스윙투앱 계정 초대하기
      • 애드몹 운영 주의사항
      • 애드몹 광고 셋팅 주의사항
      • 앱미리보기 이용방법
    • 인앱(In-App)
      • 인앱(In-app)이란?
      • 인앱 주의사항
      • [구글] 결제 프로필 설정 방법
      • [구글] 플레이스토어 인앱 상품 등록
      • [구글] 플레이스토어 인앱 환불, 취소
      • [구글] 인앱 판매자 계좌정보 입력
      • [애플] 은행 계좌 등록 및 수정방법
      • [애플] 앱스토어 인앱 상품 등록
  • 개발자 문서
    • AppLink 연동
      • 안드로이드 AppLink 연동하기
      • iOS앱 Universal Links 적용하기
    • Server Side API 명세서
      • 푸시 API를 이용하여 푸시 발송하기
      • 푸시알림 목록 가져오기
      • 푸시알림 읽지 않은 메시지 Count
      • 푸시알림 읽음처리 API
    • 웹뷰(웹뷰,푸시전용) 개발도구
      • 웹뷰에서 구글, 페이스북 로그인 구현하기
      • 웹사이트 회원 연동 가이드
        • 워드프레스 웹사이트 회원 연동 가이드
        • Wix 웹사이트 회원 연동 가이드
        • 카페24(Cafe24) 웹사이트 회원 연동 가이드
        • 아임웹 웹사이트 회원 연동 가이드
      • Javascript 웹뷰 API 문서
        • API 를 활용한 예제
        • Meta SDK 활용하기
        • 안드로이드 인앱결제 구현하기
        • iOS 인앱결제 구현하기
    • Firebase 연동
      • Firebase 프로젝트 연동하기(안드로이드)
      • Firebase 프로젝트 연동하기(iOS)
      • Dynamic Links 연동
    • 애플 개발자 계정 등록 프로세스
    • DUNS 번호 발행 방법
    • DUNS 번호 조회방법
    • 네이버 로그인 API 연동
    • 카카오 로그인 API 연동
    • 구글 로그인 API 연동
  • 이용약관
    • 스윙투앱 이용약관
    • 스윙투앱 개인정보 처리방침
    • 스윙투앱 어플리케이션 개인정보 처리방침
    • 스윙투앱 교육용 라이선스
    • 무료앱 설치 기기수 제한
    • 이용제한 이용자 안내
    • 아동 안전 표준 정책
Powered by GitBook
On this page
  • 웹뷰 Javascript API 명세서
  • 웹뷰 제어관련 Method
  • • 웹뷰 뒤로가기
  • • 웹뷰 앞으로 가기
  • • 웹뷰 홈으로 이동
  • • 웹뷰 캐시 초기화
  • • 웹뷰 Navigation History 초기화
  • 툴바 제어관련 Method
  • • 툴바 활성화 설정하기
  • 어플리케이션 관련 Method
  • • 플랫폼 정보 가져오기
  • • 버전 및 기기정보 가져오기
  • • 앱 종료 기능
  • • 외부 브라우저로 URL 실행하기
  • • 내장 브라우저로 URL 실행하기
  • • 현재 페이지를 공유하기
  • • 지정 URL 공유하기
  • • 어플리케이션의 알림 설정 상태를 확인하기
  • • 알람 설정 이동하기
  • • 클립보드에 텍스트 저장하기
  • • 푸시메시지 수신 활성화 하기
  • • 푸시메시지 수신 비활성화 하기
  • • 디바이스에 변수 저장하기
  • • (New)디바이스에 저장된 변수 불러오기
  • • (Old)디바이스에 저장된 변수 불러오기
  • • TTS 재생하기(프리미엄 기능) - 커스터마이징 필요
  • • 앱 첫 실행 여부 확인하기
  • • 앱 리뷰 요청하기
  • 앱 UI 제어관련 Method
  • • iOS 배경색상 설정하기
  • • 앱 화면모드 확인하기(다크모드,라이트모드)
  • 앱 화면 제어관련 Method
  • • 설정화면으로 이동하기
  • • 알림목록화면으로 이동하기
  • • 메뉴화면으로 이동하기
  • • 북마크목록화면으로 이동하기
  • 어플리케이션 Event
  • • 안드로이드 앱 Back key 웹뷰 Navigation 이벤트 추가하기
  • • 안드로이드 앱 Back key로 인해 종료 이벤트 추가하기
  • 어플리케이션 권한제어 Method
  • • 권한 요청 (Android)
  • • 권한 확인 (Android)
  • • 권한 요청 (iOS)
  • • 권한 확인 (iOS)
  • 추가 기능 API
  • • 애플 아이디로 로그인하기 구현
  • 애드몹 관련 Method
  • • 배너광고 노출하기
  • • 배너광고 종료하기
  • • 전면광고 노출하기
  • • 보상형 광고 노출하기
  • • 보상형 전면 광고 노출하기
Edit on GitHub
  1. 개발자 문서
  2. 웹뷰(웹뷰,푸시전용) 개발도구

Javascript 웹뷰 API 문서

WebView 모듈(웹뷰,푸시전용)을 제어할 수 있는 Javascript API

스윙투앱에서 제공하는 웹뷰와 푸시전용 프로토타입의 앱을 제어할 수 있는 javascript API 입니다.

공통적으로 아래의 js 파일을 include 하여 사용하시고 아래의 API 명세를 통해서

필요한 기능을 실행하시면 됩니다.

공통 js 파일 HTML 파일에 아래의 js 파일을 포함시켜주세요

<script src="https://pcdn2.swing2app.co.kr/swing_public_src/v3/2025_03_14_001/js/swing_app_on_web.js"></script>

웹뷰 Javascript API 명세서

웹뷰 제어관련 Method

• 웹뷰 뒤로가기

웹뷰에서 이전 페이지로 이동 웹브라우저에서 뒤로가기 기능과 동일한 동작

swingWebViewPlugin.app.webview.back();

• 웹뷰 앞으로 가기

웹뷰에서 앞의 페이지로 이동 웹브라우저에서 앞으로가기 기능과 동일한 동작

swingWebViewPlugin.app.webview.forward();

• 웹뷰 홈으로 이동

웹뷰에서 스윙투앱에 셋팅된 홈 페이지(설정된 초기 페이지)로 이동하는 기능

swingWebViewPlugin.app.webview.navigateToHome()

• 웹뷰 캐시 초기화

웹뷰에서 캐시를 초기화 하는 Command

*js lib 2024_02_28_002 버전 부터 사용 가능

swingWebViewPlugin.app.webview.clearCache()

• 웹뷰 Navigation History 초기화

웹뷰에서 Navigation History 를 초기화하는 기능

*js lib 2024_02_28_002 버전 부터 사용 가능

swingWebViewPlugin.app.webview.clearWebViewRouteHistory()

툴바 제어관련 Method

• 툴바 활성화 설정하기

푸시전용 프로토타입에서 Toolbar 를 API 통해서 제어할 수 있습니다.

앱 실행상태에서 툴바를 숨기거나 활성화 그리고 자동 숨김 옵션까지 모두 제어할 수 있습니다.

*js lib 2024_02_28_002 버전 부터 사용 가능

// toolbar 활성화 , 자동숨김 비활성화 
// swingWebViewPlugin.app.webview.updateToolbar(true,false)
// toolbar 활성화 , 자동숨김 활성화 
// swingWebViewPlugin.app.webview.updateToolbar(true,true)
// toolbar 비활성화 , 자동숨김 비활성화 
// swingWebViewPlugin.app.webview.updateToolbar(false,false)
swingWebViewPlugin.app.webview.updateToolbar(false,false)

어플리케이션 관련 Method

• 플랫폼 정보 가져오기

웹상에서 플랫폼 정보를 가져오기 위한 함수

if( swingWebViewPlugin.app.methods.getCurrentPlatform() == 'android' )
{
    console.log('android');
}
else if( swingWebViewPlugin.app.methods.getCurrentPlatform() == 'ios' )
{
    console.log('ios');
}
else
{
    console.log('web browser');
}

• 버전 및 기기정보 가져오기

앱의 버전및 기기의 H/W 그리고 S/W 정보를 가져오는 함수

// android
swingWebViewPlugin.app.methods.getAppVersion(function(value){
    var appVersion = JSON.parse(value);

    console.log('model : ' + appVersion.model);
    console.log('sdk_version : ' + appVersion.sdk_version);
    console.log('version_release : ' + appVersion.version_release);
    console.log('manufacturer : ' + appVersion.manufacturer);
    console.log('app_version : ' + appVersion.app_version);
    console.log('radio_version : ' + appVersion.radio_version);
    console.log('package_name : ' + appVersion.package_name);
    console.log('uuid : ' + appVersion.uuid);
    console.log('deviceToken : ' + appVersion.deviceToken);
});

// ios
swingWebViewPlugin.app.methods.getAppVersion(function(value){
    var appVersion = JSON.parse(value);
    
    console.log('model : ' + appVersion.model);
    console.log('name : ' + appVersion.name);
    console.log('systemVersion : ' + appVersion.systemVersion);
    console.log('appVersion : ' + appVersion.appVersion);
    console.log('bundleVersion : ' + appVersion.bundleVersion);
    console.log('bundleID : ' + appVersion.bundleID);
    console.log('uuid : ' + appVersion.uuid);
    console.log('deviceToken : ' + appVersion.deviceToken);
});

• 앱 종료 기능

실행중인 앱을 종료하는 명령어

swingWebViewPlugin.app.methods.doExitApp();

• 외부 브라우저로 URL 실행하기

크롬 또는 사파리등 앱의 기본 브라우저로 특정 페이지를 열고 싶을때 아래의 함수를 이용할 수 있다.

swingWebViewPlugin.app.methods.doExternalOpen('https://www.swing2app.com');

• 내장 브라우저로 URL 실행하기

안드로이드와 iOS 자체적으로 제공하는 앱 내장 브라우저를 이용해서 실행

크롬과 사파리등을 반드시 이용해야 하는 경우 아래의 코드를 통해서 앱 내부에서 크롬과 사파리를 호출 할 수 있다.

swingWebViewPlugin.app.methods.openBrowser('https://www.swing2app.com');

• 현재 페이지를 공유하기

현재 웹 페이지를 공유하는 기능을 위한 아래의 코드를 실행

swingWebViewPlugin.app.methods.doShareCurrentPage();

• 지정 URL 공유하기

지정한 URL을 공유하고자 할 경우 아래와 같이 코드를 실행

swingWebViewPlugin.app.methods.doShareWithUrl('https://www.swing2app.com');

• 어플리케이션의 알림 설정 상태를 확인하기

어플리케이션에서 푸시 알람 설정에 대한 상태를 확인하는 기능

푸시가 비활성화 되었을 경우 OS 자체적으로 푸시가 Off 되었을 경우와

앱 자체적인 설정으로 Off 가 되었을경우를 확인할 수 있다.

swingWebViewPlugin.app.methods.isNotificationEnabled(function (result) {
    if( result == '1' ) // 푸시를 발송 할 수 있는 상태
    {
        console.log('push active');
    }
    else if( result == 'off_on_permission' )    // android 13 이상에서 푸시 권한이 없을 경우
    {
        console.log('push inactive');    
    }
    else if( result == 'off_on_system' )    // 시스템 설정에 의한 앱 푸시 비활성화
    {
        console.log('push inactive');
    }
    else if( result == 'off_on_app' )       // 앱 설정에 의한 앱 푸시 비활성화
    {
        console.log('push inactive');
    }
});

Ex:) 푸시 설정에 따라 Off 설정일 경우 활성화 권장을 위한 코드예제

swingWebViewPlugin.app.methods.isNotificationEnabled(function (result) {
    if( result == '1' ) // 푸시를 발송 할 수 있는 상태
    {
        console.log('push active');
    }
    else if( result == 'off_on_permission' )    // android 13 이상에서 푸시 권한이 없을 경우
    {
        console.log('push inactive');    
        swingWebViewPlugin.app.permission.android.requestPermission('android.permission.POST_NOTIFICATIONS', function(status) {
            if (status == 'granted') {
                console.log('Push notification permission granted');
            } else {
                console.log('Push notification permission denied');
            }
        });        
    }
    else if( result == 'off_on_system' )    // 시스템 설정에 의한 앱 푸시 비활성화
    {
        console.log('push inactive');
        swingWebViewPlugin.app.methods.goToNotificationSetting("system"); // 시스템 설정 Open
    }
    else if( result == 'off_on_app' )       // 앱 설정에 의한 앱 푸시 비활성화
    {
        console.log('push inactive');
        swingWebViewPlugin.app.screen.setting.show();    // 앱 설정 Open
    }
});

• 알람 설정 이동하기

어플리케이션 또는 시스템의 알람설정을 이동할 수 있는 기능

(1) 어플리케이션 자체적인 알람 설정을 할 수 있는 화면으로 이동

swingWebViewPlugin.app.screen.setting.show();

(2) 시스템(안드로이드, iOS) 자체적인 알람 설정을 할 수 있는 화면으로 이동

swingWebViewPlugin.app.methods.goToNotificationSetting('system');

• 클립보드에 텍스트 저장하기

클립보드에 텍스트를 저장할 수 있는 기능

웹뷰에서는 보안상의 이슈로 window.navigator.clipboard.writeText API 가 정상동작하지 않기 때문에

스윙투앱 웹뷰에서는 아래의 API 를 이용하여 clipboard 에 저장하면 됩니다.

swingWebViewPlugin.app.methods.copyToClipboard("copyToClipboard 텍스트 테스트");

• 푸시메시지 수신 활성화 하기

푸시메시지 수신설정을 활성화 하기 위한 API

swingWebViewPlugin.app.methods.activePush();

• 푸시메시지 수신 비활성화 하기

푸시메시지 수신설정을 비활성화 하기 위한 API

swingWebViewPlugin.app.methods.inactivePush();

• 디바이스에 변수 저장하기

앱내에 Storage 변수 저장하기

앱내의 Storage 저장하고 싶은 데이터가 있다면 아래의 함수를 이용해서 저장할 수 있습니다.

다음 기능을 활용해서 웹 사이트 자동 로그인을 쉽게 구현할 수 있습니다.

*js lib 2025_02_14_001 버전으로 업데이트 됨

// 앱과 웹 모두 사용할 경우
swingWebViewPlugin.app.methods.setVariable('id','test', {type : 'app_n_web'}); // 앱과 웹에 모두 저장
// 앱에만 데이터를 저장할 경우
swingWebViewPlugin.app.methods.setVariable('id','test', {type : 'app'}); // 앱에만 저장

// 'app_n_web' 앱과 웹 모두 저장할 경우 앱이 아닌 웹 환경에서도 loadVariable 호출할 경우 localStorage 를 통해 값을 가져올 수 있습니다.
// 'app' 으로 사용할 경우 앱 환경에서만 저장되며, 웹 환경에서는 loadVariable 호출할 경우 값은 null이 반환됩니다.

• (New)디바이스에 저장된 변수 불러오기

앱내에 Storage 저장된 변수값 가져오기

변수값을 저장할때 setVariable 함수의 옵션에 따라 앱 또는 웹 저장소에 저장된 값을 가져오게 됩니다.

*js lib 2025_02_14_001 버전 부터 사용 가능, 2025년 2월 14일 이후 제작된 앱에서만 실행가능

swingWebViewPlugin.app.methods.loadVariable('id',function(value) {
    console.log(value);
    // 출력예시 : test
});

• (Old)디바이스에 저장된 변수 불러오기

앱내에 Storage 저장된 변수값 가져오기

웹에서는 callback 함수가 실행되지 않으며 앱으로 구동 되었을때만 callback 함수가 실행됩니다.

*js lib 2023_12_20_001 버전 부터 사용 가능

swingWebViewPlugin.app.methods.getVariable('id',function(value) {
    console.log(JSON.parse(value).value);
    // 출력예시 : test
});

• TTS 재생하기(프리미엄 기능) - 커스터마이징 필요

텍스트를 음성으로 출력하는 TTS 기능을 활성화하는 기능

*js lib 2023_12_20_001 버전 부터 사용 가능

swingWebViewPlugin.app.methods.speakOutViaTTS('안녕하세요');

• 앱 첫 실행 여부 확인하기

앱이 처음실행 했는지는 확인할 수 있는 API , 앱의 첫 실행여부를 판단하는 함수

*js lib 2024_02_28_001 버전 부터 사용 가능

swingWebViewPlugin.app.methods.isFirstRun(function (value) {
    if (JSON.parse(value).result) // 앱 첫실행 될 경우
    {
        console.log('앱 첫 실행');
    }
});

• 앱 리뷰 요청하기

사용자에게 앱 리뷰를 요청하는 기능을 호출하는 함수

*iOS 에서 리뷰 요청기능에 대한 호출 제한이 있어 호출 제한이 걸릴 경우 앱스토어 이동하도록 처리되어있습니다.

*js lib 2025_03_14_001 버전 부터 사용 가능, 25년 3월 14일 앱 제작 이후에 만든앱 부터 동작합니다.

swingWebViewPlugin.app.methods.doOpenReview();

앱 UI 제어관련 Method

• iOS 배경색상 설정하기

iOS 의 디바이스 노치 및 홈바 UI 로 인해 설정된 SafeArea 영역 및 메인 색상을 설정하는 옵션입니다.

색상은 hex 값으로 #을 제외하고 입력해주시면 됩니다. 해당 설정은 iOS 에서만 동작합니다.

*js lib 2024_02_28_001 버전 부터 사용 가능

swingWebViewPlugin.app.ui.setIosBackColor('00ff00');

• 앱 화면모드 확인하기(다크모드,라이트모드)

시스템에서 설정한 화면 모드(라이트모드,다크모드)를 확인하는 코드 입니다.

이 코드를 활용해서 사용자의 폰에 설정된 화면모드에 따라 웹페이지 컨텐츠를 변경해보세요.

*js lib 2024_07_23_001 버전 부터 사용 가능(24년 7월30일 이후 제작된 버전부터 동작)

swingWebViewPlugin.app.ui.getDeviceUiStyle(function (mode) {
    if( mode == 'light' )
    {
        console.log('light');        
    }
    else if( mode == 'dark' )
    {
        console.log('dark');
    }
});

앱 화면 제어관련 Method

• 설정화면으로 이동하기

설정화면으로 이동하는 API Command.

툴바 또는 메뉴바를 이용하지 않고 설정화면으로 이동할 수 있습니다.

*js lib 2024_02_28_002 버전 부터 사용 가능

swingWebViewPlugin.app.screen.setting.show();

• 알림목록화면으로 이동하기

알림목록화면으로 이동하는 API Command.

툴바 또는 메뉴바를 이용하지 않고 알림목록화면으로 이동할 수 있습니다.

*js lib 2024_02_28_002 버전 부터 사용 가능

swingWebViewPlugin.app.screen.notificationList.show();

• 메뉴화면으로 이동하기

메뉴화면으로 이동하는 API Command.

툴바를 이용하지 않고 메뉴화면으로 이동할 수 있습니다.

*js lib 2024_02_28_002 버전 부터 사용 가능

swingWebViewPlugin.app.screen.menu.show();

• 북마크목록화면으로 이동하기

북마크목록화면으로 이동하는 API Command.

메뉴 또는 툴바를 이용하지 않고 북마크목록화면으로 이동할 수 있습니다.

*js lib 2024_02_28_002 버전 부터 사용 가능

swingWebViewPlugin.app.screen.bookmarkList.show();

어플리케이션 Event

앱의 Native Event 를 관리할 수 있는 명령어 입니다.

• 안드로이드 앱 Back key 웹뷰 Navigation 이벤트 추가하기

앱의 Back 버튼의 종료 이벤트를 추가할 경우 Back버튼을 인한 뒤로가기 기능이 동작하지 않습니다.

따라서 backEvent 추가할 경우 Back key 로 인해 웹뷰 Navigation Back되는 상황에서 뒤로가기 기능이

동작하지 않고 직접 구현해주셔야 합니다.

swingWebViewPlugin.event.addEvent('backEvent' , function() {
    // 안드로이드 back event 
    swingWebViewPlugin.app.webview.back(); // 웹뷰 뒤로가기 예시
})

• 안드로이드 앱 Back key로 인해 종료 이벤트 추가하기

앱의 back 버튼의 종료 이벤트를 추가할 경우 back버튼을 인한 앱에서는 종료 기능이 동작하지 않습니다.

따라서 backExitEvent 추가할 경우 종료에 대한 처리를 callback 함수내에서 직접 구현해야 합니다.

swingWebViewPlugin.event.addEvent('backExitEvent' , function() {
    // 앱 종료 Logic 직접 구현
    swingWebViewPlugin.app.methods.doExitApp();    // 앱 종료 Command 호출 예시
});

어플리케이션 권한제어 Method

Android 및 iOS 플랫폼에서 웹뷰를 사용하여 권한을 요청하고 확인하는 방법을 설명합니다.

아래의 예제 코드와 함께 권한을 요청하고 확인하는 방법을 안내합니다.

*js lib 2024_07_23_001 버전 부터 사용 가능

*앱은 2024년 7월 23일 제작된 버전 이후부터 사용가능

• 권한 요청 (Android)

각 권한별 파라미터 설명

  • 카메라: android.permission.CAMERA

  • 위치: android.permission.ACCESS_FINE_LOCATION

  • 푸시 알림: android.permission.POST_NOTIFICATIONS (Andriod 13 이상에서 사용)

  • 마이크: android.permission.RECORD_AUDIO

각 권한별로 호출 예시(Ex:카메라 권한 요청)

swingWebViewPlugin.app.permission.android.requestPermission('android.permission.CAMERA', function(status) {
    if (status == 'granted') {
        console.log('Camera permission granted');
    } else {
        console.log('Camera permission denied');
    }
});

위치 권한 요청

swingWebViewPlugin.app.permission.android.requestPermission('android.permission.ACCESS_FINE_LOCATION', function(status) {
    if (status == 'granted') {
        console.log('Location permission granted');
    } else {
        console.log('Location permission denied');
    }
});

*사용자가 권한을 거부한 경우

사용자가 권한 요청을 거부한 경우, 이후 동일한 권한 요청 시 시스템에서 팝업을 표시하지 않습니다.

사용자는 시스템 설정에서 권한을 수동으로 허용해야 합니다.

• 권한 확인 (Android)

각 권한별 파라미터 설명

  • 카메라: android.permission.CAMERA

  • 위치: android.permission.ACCESS_FINE_LOCATION

  • 푸시 알림: android.permission.POST_NOTIFICATIONS (Andriod 13 이상에서만 사용가능)

  • 마이크: android.permission.RECORD_AUDIO

권한 확인 후 권한이 없는 경우 요청하는 코드 예시

카메라 권한 확인 후 요청

swingWebViewPlugin.app.permission.android.checkPermission('android.permission.CAMERA', function(status) {
    if (status == 'granted') {
        console.log('Camera permission already granted');
    } else {
        swingWebViewPlugin.app.permission.android.requestPermission('android.permission.CAMERA', function(status) {
            if (status == 'granted') {
                console.log('Camera permission granted');
            } else {
                console.log('Camera permission denied');
            }
        });
    }
});

권한이 없을 경우 메시지 처리 예시

swingWebViewPlugin.app.permission.android.checkPermission('android.permission.CAMERA', function(status) {
    if (status == 'granted') {
        console.log('Camera permission already granted');
    } else {
        alert('Camera permission is required to use this feature.');
        swingWebViewPlugin.app.permission.android.requestPermission('android.permission.CAMERA', function(status) {
            if (status == 'granted') {
                console.log('Camera permission granted');
            } else {
                console.log('Camera permission denied');
            }
        });
    }
});

모든 callback 의 결과는 granted 와 denied 로 return 값을 제공

• 권한 요청 (iOS)

각 권한별 파라미터 설명

  • 카메라: 'camera'

  • 위치: 'location'

  • 푸시 알림: 'push'

  • 앨범: 'album'

  • 마이크: 'microphone'

  • 사용자 추적: 'userTracking'

각 권한별로 호출 예시(Ex:카메라 권한 요청)

swingWebViewPlugin.app.permission.ios.requestPermission('camera', function(status) {
    if (status == 'granted') {
        console.log('Camera permission granted');
    } else {
        console.log('Camera permission denied');
    }
});

위치 권한 요청

swingWebViewPlugin.app.permission.ios.requestPermission('location', function(status) {
    if (status == 'granted') {
        console.log('Location permission granted');
    } else {
        console.log('Location permission denied');
    }
});

*사용자가 권한을 거부한 경우

사용자가 권한 요청을 거부한 경우, 이후 동일한 권한 요청 시 시스템에서 팝업을 표시하지 않습니다.

사용자는 시스템 설정에서 권한을 수동으로 허용해야 합니다.

• 권한 확인 (iOS)

각 권한별 파라미터 설명

  • 카메라: 'camera'

  • 위치: 'location'

  • 푸시 알림: 'push'

  • 앨범: 'album'

  • 마이크: 'microphone'

  • 사용자 추적: 'userTracking'

권한 확인 후 권한이 없는 경우 요청하는 코드 예시

카메라 권한 확인 후 요청

swingWebViewPlugin.app.permission.ios.checkPermission('camera', function(status) {
    if (status == 'granted') {
        console.log('Camera permission already granted');
    } else {
        swingWebViewPlugin.app.permission.ios.requestPermission('camera', function(status) {
            if (status == 'granted') {
                console.log('Camera permission granted');
            } else {
                console.log('Camera permission denied');
            }
        });
    }
});

권한이 없을 경우 메시지 처리 예시

swingWebViewPlugin.app.permission.ios.checkPermission('camera', function(status) {
    if (status == 'granted') {
        console.log('Camera permission already granted');
    } else {
        alert('Camera permission is required to use this feature.');
        swingWebViewPlugin.app.permission.ios.requestPermission('camera', function(status) {
            if (status == 'granted') {
                console.log('Camera permission granted');
            } else {
                console.log('Camera permission denied');
            }
        });
    }
});

userTracking 제외하고는 모두 granted 와 denied 로 return 값을 제공

사용자 추적 권한 요청(userTracking)

userTracking 권한의 경우 좀 더 다양한 return 값을 제공한다.(requestPermission 도 동일)

swingWebViewPlugin.app.permission.ios.checkPermission('userTracking', function(status) {
    if (status == 'granted') {
        console.log('User tracking permission granted');
    } else if (status == 'denied') {
        console.log('User tracking permission denied');
    } else if (status == 'unset_desc') {
        console.log('User tracking usage description not set in Info.plist');
    } else if (status == 'unset_os') {
        console.log('User tracking not supported on this iOS version');
    }
});

이와 같이 권한 요청 및 확인 기능을 사용하여 웹뷰에서 Android 및 iOS 플랫폼의 다양한 권한을 관리할 수 있습니다.

필요에 따라 각 플랫폼에 맞는 권한을 요청하고 확인하여 사용자 경험을 향상시키세요.

추가 기능 API

웹사이트에서 직접 앱내의 애드몹 광고를 관리할 수 있는 명령어 입니다.

아래의 내용을 참고하셔서 광고들을 활용해보세요.

반드시 애드몹이 활성된 앱의 경우만 동작하는 명령어 입니다.

• 애플 아이디로 로그인하기 구현

애플에서는 외부 로그인(예:네이버,카카오,구글 등)이 존재할 경우 반드시 애플 로그인을 제공해야 합니다.

복잡한 애플 로그인 구현을 앱의 네이티브 API 를 활용하면 손쉽게 단 몇줄로 애플 로그인을 구현하실 수 있습니다.

해당 코드는 네이티브 API 를 활용한것이기 때문에 iOS 에서만 동작합니다.

*js lib 2024_12_23_001 버전 부터 사용 가능

로그인 처리(Front-end 처리 방식)

swingWebViewPlugin.app.ios.doAppleSignIn(function (result) {
    if( result.result )
    {
        // 로그인 성공
        // 개인정보에 해당하는 정보는 최초 로그인 1회만 제공되며, 이후에는 userId 와 authTime 만 제공됩니다.
        var loginTokenResult = swingWebViewPlugin.utils.parseJWT(result.identityToken);
        var loginResult = {
            fullName : result.fullName,
            givenName : result.givenName,
            familyName : result.familyName,
            email : loginTokenResult.email,
            userId : loginTokenResult.sub,
            authTime : loginTokenResult.auth_time
        }

        console.log(JSON.stringify(loginResult));
        alert(JSON.stringify(loginResult));
    }
    else
    {
        alert('로그인 실패');
    }
});

로그인 처리(Back-end 처리 방식)

swingWebViewPlugin.app.ios.doAppleSignIn(function (result) {
    if( result.result )
    {
        // 로그인 성공
        // 개인정보에 해당하는 정보는 최초 로그인 1회만 제공되며, 이후에는 userId 와 authTime 만 제공됩니다.
        // 파라미터로 전달된 identifyToken 을 서버에서 복호화해서 아래의 데이터를 가져와 로그인 및 회원가입을 처리한다.
        // fullName, givenName, familyName, email, userId, authTime
        location.href = '/loginWithApple?token=' + result.identityToken;
    }
    else
    {
        alert('로그인 실패');
    }
});

identityToken 처리 방법(Server-Side)

전달된 identifyToken 은 JWT(Java JSON Web Token) 형식으로 암호화 되어있습니다.

각 언어별로 JWT 토큰 파싱 방법은 쉽게 검색할 수 있습니다.

import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import org.json.JSONObject;

public class DecoderMain {
    public static void main(String[] args) {
        // 테스트용 JWT (실제 토큰 사용 시 변경)
        String identityToken = "identifyToken 값";  

        // 토큰 디코딩 및 값 추출
        Map<String, Object> loginResult = decodeIdentityToken(identityToken);

        // 결과 출력
        System.out.println("Decoded Identity Token Data:");
        loginResult.forEach((key, value) -> System.out.println(key + " : " + value));
    }

    public static Map<String, Object> decodeIdentityToken(String token) {
        Map<String, Object> result = new HashMap<>();

        try {
            // JWT는 "header.payload.signature" 형태이므로, 두 번째 부분(payload)만 추출
            String[] parts = token.split("\\.");
            if (parts.length < 2) {
                throw new IllegalArgumentException("유효하지 않은 JWT 형식");
            }

            // Base64Url 디코딩 (패딩 처리)
            String payloadJson = new String(Base64.getUrlDecoder().decode(parts[1]));

            // JSON 파싱 (JDK 기본 기능만 사용할 경우 직접 String 파싱 필요)
            JSONObject json = new JSONObject(payloadJson);

            // 필요한 정보 추출
            result.put("fullName", json.optString("fullName", null));
            result.put("givenName", json.optString("given_name", null));
            result.put("familyName", json.optString("family_name", null));
            result.put("email", json.optString("email", null));
            result.put("userId", json.optString("sub", null));
            result.put("authTime", json.optLong("auth_time", 0));

        } catch (Exception e) {
            System.err.println("토큰 디코딩 오류: " + e.getMessage());
        }

        return result;
    }
}

애드몹 관련 Method

웹사이트에서 직접 앱내의 애드몹 광고를 관리할 수 있는 명령어 입니다.

아래의 내용을 참고하셔서 광고들을 활용해보세요.

반드시 애드몹이 활성된 앱의 경우만 동작하는 명령어 입니다.

• 배너광고 노출하기

어플리케이션내에 애드몹 배너 광고를 노출시키는 명령

Parameter
설명
값 예시

adId

배너광고 단위 아이디 입력

ca-app-pub-3940256099942544/6300978111

swingWebViewPlugin.app.admob.showBanner('ca-app-pub-3940256099942544/6300978111');

• 배너광고 종료하기

어플리케이션내에 애드몹 배너 광고를 종료시키는 명령

swingWebViewPlugin.app.admob.closeBanner();

• 전면광고 노출하기

어플리케이션내에 애드몹 전면 광고를 노출시키는 명령

Parameter
설명
값 예시

adId

전면광고 단위 아이디 입력

ca-app-pub-3940256099942544/6300978111

swingWebViewPlugin.app.admob.showInterstitialAd('ca-app-pub-3940256099942544/6300978111');

• 보상형 광고 노출하기

어플리케이션내에 애드몹 보상형 광고를 노출시키는 명령

Parameter
설명
값 예시

adId

리워드 광고 단위 아이디 입력

ca-app-pub-3940256099942544/5224354917

swingWebViewPlugin.app.admob.showRewardAd('ca-app-pub-3940256099942544/5224354917');

• 보상형 전면 광고 노출하기

어플리케이션내에 애드몹 보상형 전면 광고를 노출시키는 명령

Parameter
설명
값 예시

adId

보상형 전면 광고 단위 아이디 입력

ca-app-pub-3940256099942544/5354046379

swingWebViewPlugin.app.admob.showRewardInterstitial('ca-app-pub-3940256099942544/5354046379');

Previous아임웹 웹사이트 회원 연동 가이드NextAPI 를 활용한 예제

Last updated 20 days ago

앱에서 리뷰 기능을 호출한 화면