Android API Reference for AAR
※ 라이브러리 3.5.1 기준으로 설명되어 있습니다.
※ 푸시 메시지 아이디, 모드, 라벨 코드는 푸시 수신 클래스의 onMessage 메소드 내 Bundle에서 가져올 수 있습니다.
파라미터에 대해서는 Android SDK Manual 에서 10. IntentService 클래스 생성의 10-3번, 10-4번 항목을 참고 바랍니다.
– 변수
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 : 버전 업데이트 일
– 기능 : 핑거푸시 메시지 수신 시, 첨부된 이미지를 가져온다.
– 변수
JSONObject data : getPushContent에서 얻는 data
NetworkBitmapListener 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) { } } );
– 변수
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
getPushList
– 변수
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
getPushListPage
– 변수
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) { } } );
※ 식별자 값은 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) { } } );
※ 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) { } } );
– 변수
boolean isEnable : 수신 활성화 true, 비활성화 false
ObjectListener 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, 비활성화 false
ObjectListener listener : ObjectListener 리스너
– 결과 : 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
– 구조
FingerPushManager.getInstance(context).setAdvertisePushEnable( boolean, // 광고 푸시 활성화 여부 (true : 활성화, false : 비활성화) new ObjectListener() {} // 비동기 이벤트 리스너 );
FingerPushManager.getInstance(this).setAdvertisePushEnable( true, // 광고 푸시 활성화 여부 (true : 활성화, false : 비활성화) new ObjectListener() { // 비동기 이벤트 리스너 @Override public void onError(String code, String message) { } @Override public void onComplete(String code, String message, JSONObject data) { } } );
– 변수
String tag : 태그 값
ObjectListener listener : ObjectListener 리스너
– 결과 : 결과 여부에 따라 onError 또는 onComplete로 결과 값 리턴
– 구조
FingerPushManager.getInstance(context).setTag( String, // 태그값(Kissoft, FingerPush)와 같이 콤마로 구분하여 입력 new ObjectListener() {} // 비동기 이벤트 리스너 );
FingerPushManager.getInstance(this).setTag( "핑거푸시", // 태그값 new ObjectListener() { // 비동기 이벤트 리스너 @Override public void onError(String code, String message) { } @Override public void onComplete(String code, String message, JSONObject data) { } } );