Android API Reference
라이브러리 3.5.1 기준으로 설명되어 있습니다.
- 기능 푸시 메시지 번호와 모드를 변수로 사용하여 핑거푸시를 통해 전송된 푸시 메시지를 읽음 처리합니다.
푸시 메시지 아이디, 모드, 라벨 코드는 푸시 수신 클래스의 onMessage 메소드 내 Bundle에서 가져올 수 있습니다.
- 변수 String message_id : 푸시 메시지 번호String mode : 푸시 메시지 모드String label_code : 푸시 메시지 라벨코드ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(context).checkPush(
String, // 푸시 메시지 번호
String, // 푸시 메시지 모드
String, // 푸시 메시지 라벨 코드
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).checkPush(
message_id, // 푸시 메시지 번호
mode, // 푸시 메시지 모드
label_code, // 푸시 메시 지 라벨 코드
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onComplete(String code, String message, JSONObject data) {
}
@Override
public void onError(String code, String message) {
}
}
);
- 기능 전체 태그 목록을 조회합니다.
- 변수 ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject data : 앱 전체 태그 값
구조
FingerPushManager.getInstance(context).getAllTag(
new ObjectListener() {}; // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getAllTag(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
try {
JSONArray ArrayData = data.getJSONArray(TagList.TAGLIST);
if(ArrayData.length() > 0) {
ArrayList<TagList> dataList = new ArrayList<TagList>();
TagList list = null;
for (int i = 0; i < ArrayData.length(); i++) {
list = new TagList();
list.date = ArrayData.getJSONObject(i).optString("date");
list.tag = ArrayData.getJSONObject(i).optString("tag");
dataList.add(list);
}
}
} catch(JSONException e) {
e.printStackTrace();
}
}
}
);
결과
date : 등록일
tag : 태그명
- 기능핑거푸시에 등록된 앱의 모든 정보를 조회합니다.
- 변수ObjectListener listener : ObjectListener 리스너
- 결과결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject data : 앱의 모든 정보
구조
FingerPushManager.getInstance(context).getAppReport(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getAppReport(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
String AppKey = data.optString("appid");
String AppName = data.optString("app_name");
String User_Id = data.optString("user_id");
String Icon = data.optString("icon");
String Category = data.optString("category");
String Environments = data.optString("environments");
String BeAndroid = data.optString("beandroid");
String VersionName = data.optString("android_version");
int VersionCode = data.optInt("android_int_version");
String AndroidUpdateLink = data.optString("android_upd_link");
String BeUpdateLink = data.optString("beupdalert_a");
String UpdateDate = data.optString("ver_update_date_a");
}
}
);
결과
appid : 앱 아이디
app_name : 앱 이름
user_id : 앱 등록자 아이디
icon 앱 아이콘
category : 앱 카테고리명
environments : 앱 구동 환경
beandroid : ANDROID 기기 지원여부(Y/N)
android_version : ANDROID 버전 네임
android_int_version : ANDROID 버전 코드
android_upd_link : ANDROID 업데이트 링크
beupdalert_a : 안드로이드 강제 업데이트 여부(Y/N)
ver_update_date_a : 버전 업데이트 날짜
getPushContent()에서 ‘ObjectListener()’ 리스너를 사용하여 콜백된 JSONObject를 변수에 넣어야 합니다.
- 기능핑거푸시 메시지 수신 시, 첨부된 이미지를 가져옵니다.
- 변수JSONObject data : getPushContent에서 얻는 dataNetworkBitmapListener listener : NetworkBitmapListener 리스너
- 결과결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴Bitmap bitmap : 첨부된 이미지
구조
FingerPushManager.getInstance(context).getAttatchedImageURL(
JsonObject, // 푸시 내용을 담고 있는 JsonObject
new NetworkBitmapListener() {}
);
예제
FingerPushManager.getInstance(context).getAttatchedImageURL(
JSONObject ObjectData,
new NetworkBitmapListener() {
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, Bitmap bitmap) {
}
}
);
결과
appid : 앱 아이디
device_type : 디바이스 타입(I : IOS, A : ANDROID)
activity : 푸시 수신 활성화 상태(A : 활성화, D : 비활성화)
ad_activity : 광고 푸시 수신 활성화 상태(A : 활성화, D : 비활성화)
identity : 식별자(Server To Server 에서 사용)
timezone : 타임존
os_version : 디바이스 OS 버전 코드
country : 국가명
version_code : 앱 버전 코드
version_name : 앱 버전 명
- 기능 핑거푸시 서버에 등록된 키 값, 디바이스 타입, 수신 여부, 식별자 값을 조회합니다.
- 변수 |ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject ObjectData : 키 값, 디바이스 타입, 수신 여부, 식별자 값 데이터
구조
FingerPushManager.getInstance(context).getDeviceInfo(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getDeviceInfo(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject ObjectData) {
String appkey = ObjectData.optString(DeviceInfo.APPKEY);
String device_type = ObjectData.optString(DeviceInfo.DEVICE_TYPE);
String activity = ObjectData.optString(DeviceInfo.ACTIVITY);
String ad_activity = ObjectData.optString(DeviceInfo.AD_ACTIVITY);
String identity = ObjectData.optString(DeviceInfo.IDENTITY);
String timezone = ObjectData.optString(DeviceInfo.TIMEZONE);
String country = ObjectData.optString(DeviceInfo.COUNTRY);
String version_code = ObjectData.optString(DeviceInfo.VERCODE);
String version_name = ObjectData.optString(DeviceInfo.VERNAME);
String os_version = ObjectData.optString(DeviceInfo.OSVER);
}
}
);
결과
appid : 앱 아이디
device_type : 디바이스 타입(I : IOS, A : ANDROID)
activity : 푸시 수신 활성화 상태(A : 활성화, D : 비활성화)
ad_activity : 광고 푸시 수신 활성화 상태(A : 활성화, D : 비활성화)
identity : 식별자(Server To Server 에서 사용)
timezone : 타임존
os_version : 디바이스 OS 버전 코드
country : 국가명
version_code : 앱 버전 코드
version_name : 앱 버전 명
- 기능 디바이스에 등록된 태그 값을 조회합니다.
- 변수 ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject data : 디바이스에 등록된 태그 값
구조
FingerPushManager.getInstance(context).getDeviceTag(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getDeviceTag(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
JSONArray ArrayData = data.getJSONArray(TagList.TAGLIST);
ArrayList<TagList> dataList = new ArrayList<TagList>();
TagList list = null;
for (int i = 0; i < ArrayData.length(); i++) {
list = new TagList();
list.date = ArrayData.getJSONObject(i).optString("date");
list.tag = ArrayData.getJSONObject(i).optString("tag");
dataList.add(list);
}
}
}
);
결과
{"total":2,
"tagList":
[{
date = "2014-08-14 16:35:11.0"; //등록일
tag = tag2; //태그명
},
{
date = "2014-08-14 16:35:06.0"; //등록일
tag = tag1; //태그명
}]}
- 기능 푸시 메시지 번호와 모드를 변수로 사용하여 핑거푸시를 통해 수신된 메시지 내용을 조회합니다.
- 변수 String tag : 푸시 메시지 번호String mode : 푸시 메시지 모드ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject object : 메시지 상세 내용
구조
FingerPushManager.getInstance(context).getPushContent(
String, // 푸시 메시지 번호
String, // 푸시 메시지 모드
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getPushContent(
tag, // 푸시 메시지 번호
mode, // 푸시 메시지 모드
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject object) {
String Tag = object.optString("msgTag");
String Date = object.optString("date");
String Title = object.optString("title");
String Content = object.optString("content");
String Type = object.optString("type");
String imgUrl = object.optString("imgUrl");
String Link = object.optString("link");
String Mode = object.optString("mode");
String Custom1 = object.optString("k1"); // 푸시 발송 시 입력한 additional key
String Custom2 = object.optString("k2"); // 푸시 발송 시 입력한 additional key
String Custom3 = object.optString("k3"); // 푸시 발송 시 입력한 additional key
String LNGT = object.optString("lngt_message");
}
}
);
결과
imgUrl : 보낸 이미지 url
content : 메세지 내용
title : 메세지 제목
link : 링크
lngt_message : 롱 텍스트 메세지
date : 메세지 보낸 날짜
msgTag : 메세지 고유 태그
mode : 메세지 모드(DEFT : 일반 서버, LNGT : 롱 푸시, STOS : 타겟 푸시)
cd1 : 커스텀 데이터1
cd2 : 커스텀 데이터2
cd3 : 커스텀 데이터3
- 기능 핑거푸시를 통해 수신된 메시지 리스트를 조회합니다.
- 변수 ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject object : 수신 리스트 데이터
구조
FingerPushManager.getInstance(context).getPushList(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getPushList(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject object) {
JSONArray jsonArray = object.getJSONArray(PushList.PUSHLIST);
for (int i = 0; i < jsonArray.length(); i++) {
String msgTag = jsonArray.getJSONObject(i).optString(PushList.MSGTAG);
String date = jsonArray.getJSONObject(i).optString(PushList.DATE);
String title = jsonArray.getJSONObject(i).optString(PushList.TITLE);
String content = jsonArray.getJSONObject(i).optString(PushList.CONTENT);
String opend = jsonArray.getJSONObject(i).optString(PushList.OPENED);
String mode = jsonArray.getJSONObject(i).optString(PushList.MODE);
String imgCheck = jsonArray.getJSONObject(i).optString(PushList.IMGCHECK);
String imgUrl = jsonArray.getJSONObject(i).optString(PushList.IMGURL);
String labelCode = jsonArray.getJSONObject(i).optString(PushList.LABELCODE);
String link = jsonArray.getJSONObject(i).optString(PushList.LINK);
String customKeyCheck = jsonArray.getJSONObject(i).optString(PushList.CODE);
// ※ 커스텀 데이터가 있을 경우만 노출
/*
String customValue1 = jsonArray.getJSONObject(i).optString("custom_key_1");
String customValue2 = jsonArray.getJSONObject(i).optString("custom_key_2");
String customValue3 = jsonArray.getJSONObject(i).optString("custom_key_3");
*/
}
}
}
);
결과
msgTag : 메세지 고유 태그
date : 메세지 보낸 날짜
title : 메세지 제목
content : 메세지 내용
opened : 메세지 수신 확인 여부(Y/N)
mode : 메세지 모드(DEFT : 일반 서버, LNGT : 롱 푸시, STOS : 타겟 푸시)
image_yn : 이미지 첨부 여부(Y/N)
imgUrl : 이미지 url
lcode : 메세지 라벨 코드
link : 웹 링크
customKeyCheck : 커스텀 데이터 사용 여부(Y/N)
※ 커스텀 데이터가 있을 경우만 노출
custom_key_1 : custom_value_1
custom_key_2 : custom_value_2
custom_key_3 : custom_value_3
- 기능 핑거푸시를 통해 수신된 메시지 리스트를 페이징 처리하여 조회합니다.
- 변수 int page : 현재 페이지 번호int listcnt : 한번에 조회할 컨텐츠 수ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴JSONObject object : 수신 리스트 데이터
구조
FingerPushManager.getInstance(context).getPushListPage(
int, // 현재 페이지 번호
int, // 한번에 조회할(한 페이지) 컨텐츠 수
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).getPushListPage(
1, // 현재 페이지 번호
5, // 한번에 조회할 컨텐츠 수
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject object) {
JSONArray jsonArray = object.getJSONArray(PushList.PUSHLIST);
for (int i = 0; i < jsonArray.length(); i++) {
String msgTag = jsonArray.getJSONObject(i).optString(PushList.MSGTAG);
String date = jsonArray.getJSONObject(i).optString(PushList.DATE);
String title = jsonArray.getJSONObject(i).optString(PushList.TITLE);
String content = jsonArray.getJSONObject(i).optString(PushList.CONTENT);
String opend = jsonArray.getJSONObject(i).optString(PushList.OPENED);
String mode = jsonArray.getJSONObject(i).optString(PushList.MODE);
String imgCheck = jsonArray.getJSONObject(i).optString(PushList.IMGCHECK);
String imgUrl = jsonArray.getJSONObject(i).optString(PushList.IMGURL);
String labelCode = jsonArray.getJSONObject(i).optString(PushList.LABELCODE);
String link = jsonArray.getJSONObject(i).optString(PushList.LINK);
String customKeyCheck = jsonArray.getJSONObject(i).optString(PushList.CODE);
// ※ 커스텀 데이터가 있을 경우만 노출
/*
String customValue1 = jsonArray.getJSONObject(i).optString("custom_key_1");
String customValue2 = jsonArray.getJSONObject(i).optString("custom_key_2");
String customValue3 = jsonArray.getJSONObject(i).optString("custom_key_3");
*/
}
}
}
);
결과
msgTag : 메세지 고유 태그
date : 메세지 보낸 날짜
title : 메세지 제목
content : 메세지 내용
opened : 메세지 수신 확인 여부(Y/N)
mode : 메세지 모드(DEFT : 일반 서버, LNGT : 롱 푸시, STOS : 타겟 푸시)
image_yn : 이미지 첨부 여부(Y/N)
imgUrl : 이미지 url
lcode : 메세지 라벨 코드
link : 웹 링크
customKeyCheck : 커스텀 데이터 사용 여부(Y/N)
※ 커스텀 데이터가 있을 경우만 노출
custom_key_1 : custom_value_1
custom_key_2 : custom_value_2
custom_key_3 : custom_value_3
핑거푸시 서버에 비동기로 결과값을 리턴 받는 인터페이스입니다.
설명
public interface ObjectListener {
// json 통신에 성공했을 경우, 호출 됨, 반환 형태는 JSONObject임
public void onComplete(
String code, // 결과 코드
String message, // 결과 메세지
JSONObject data); // 결과 데이터
// json 통신에 성공하지 못했을 경우, 호출 됨
public void onError(
String code, // 에러 코드
String message); // 에러 메세지
}
예제
new ObjectListener() {
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
}
}
핑거푸시 서버에 비동기로 결과값을 리턴 받는 인터페이스입니다.
설명
public interface NetworkBitmapListener {
// json 통신에 성공했을 경우, 호출 됨
public void onComplete(
String code, // 결과 코드
String resultMessage, // 결과 메시지
Bitmap bitmap, // 데이터가 있는 경우, 데이터셋); // 푸시 이미지
// json 통신에 성공하지 못했을 경우, 호출 됨
public void onError(
String code, // 결과 코드
String errorMessage); // 결과 메시지
}
예제
new NetworkBitmapListener() {
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, Bitmap bitmap) {
}
}
- 기능 핑거푸시 서버에 등록된 식별자 값을 삭제합니다.
- 변수 ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(context).removeIdentity(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).removeIdentity(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject ObjectData) {
}
}
);
- 기능 바이스에 등록된 태그를 삭제합니다.
- 변수 String tag : 태그 값ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(this).removeTag(
String, // 태그 값(kissoft, fingerpush)와 같이 콤마로 구분하여 입력
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).removeTag(
"핑거푸시", // 태그값
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
}
}
);
- 기능 디바이스에 등록된 태그를 전체 삭제합니다.
- 변수 ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(this).removeAllTag(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).removeAllTag(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
}
}
);
- 기능 핑거푸시 서버에 기기 토큰 값을 저장합니다.
- 변수 ObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(context).setDevice(
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).setDevice(
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
}
}
);
setUniqueIdentity를 사용하다 setIdentity로 변경하시면 타켓팅 푸시 수신이 정상적으로 안될 수 있습니다.
식별자 값은 50byte 이하로 설정하시는 걸 권장합니다.
- 기능 핑거푸시 서버에 식별자 값을 등록합니다.
- 변수 String Identity : 식별자 값ObjectListener : ObjectListener리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
설명
FingerPushManager.getInstance(context).setIdentity(
String, // 식별자 값으로 Application 개발자가 임의 지정하여 사용한다. 예) 유저 아이디, 이메일 등
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).setIdentity(
"핑거푸시", // 식별자 값
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject ObjectData) {
}
}
);
SDK 3.0.8 이상 버전에서 사용 가능합니다.
setIdentity를 사용하다 setUniqueIdentity로 변경하시면 타켓팅 푸시 수신이 정상적으로 안될 수 있습니다.
식별자 값은 50byte 이하로 설정하시는 걸 권장합니다.
- 기능 핑거푸시 서버에 고유 식별자 값을 등록합니다.
- 변수 String uniqueIdentity : 고유 식별자 값 (다른 단말기에 등록된 식별자는 삭제됨)boolean isReceiveMessage : 기존에 등록된 식별자(삭제될 단말기)에 메시지(삭제안내) 발송 여부String message : 기존에 등록된 식별자(삭제될 단말기)에 메시지(삭제안내) 내용ObjectListener : ObjectListener리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(context).setUniqueIdentity(
String, // 고유 식별자 값으로 Application 개발자가 임의 지정하여 사용한다. 예) 유저 아이디, 이메일 등
boolean,// 동일 식별자에 대해 메시지 발송 여부.
String, // 식별자 값이 삭제되는 단말기에 전송되는 메시지 내용. Default : 다른 기기에서 식별자가 설정 되었습니다.
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).setUniqueIdentity(
"핑거푸시", // 고유 식별자 값
true/false, // 동일 식별자에 대해 메시지 발송 여부
"다른 기기에서 식별자를 설정함", // 식별자 값이 삭제되는 단말기에 전송되는 메시지 내용
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject ObjectData) {
}
}
);
Deprecated 된 API 입니다. SDK 버전 3.5.0 이상부터는 setPushEnable을 사용 바랍니다.
- 기능 핑거푸시 수신 여부를 설정합니다.
- 변수 boolean isEnable : 수신 활성화 true, 비활성화 falseObjectListener listener : ObjectListener 리스너
- 결과 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
구조
FingerPushManager.getInstance(context).setPushEnable(
boolean, // 푸시 활성화 여부 (true : 활성화, false : 비활성화)
new ObjectListener() {} // 비동기 이벤트 리스너
);
예제
FingerPushManager.getInstance(this).setPushEnable(
true, // 푸시 활성화 여부 (true : 활성화, false : 비활성화)
new ObjectListener() { // 비동기 이벤트 리스너
@Override
public void onError(String code, String message) {
}
@Override
public void onComplete(String code, String message, JSONObject data) {
}
}
);
- 기능 광고 수신 여부를 설정합니다.
- 변수 boolean isEnable : 수신 활성화 true, 비활성화 falseObjectListener listener : ObjectListener 리스너