기본적인 msg-api 호출클래스의 사용방법은 다음과 같습니다.
callback이 필요한 경우
new ApiClass(context).request(${parameters}, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});callback이 필요 없을 경우
new ApiClass(context).request(${parameters}, null);API를 사용할때 반드시 비동기로 호출해주시기를 바랍니다.
앱을 실행시에 꼭한번은 실행 시켜 주셔야합니다.
request method
public void request(final JSONObject userData, final APICallback apiCallback)userData를 사용하지 않으신다면 다음과 같이 호출하시면 됩니다.
new DeviceCert(context).request(null, ${callback});userData는 사용자 정보로 다음과 같이 JSONObject로 작성해야 합니다.
JSONObject userData = new JSONObject();
userData.put("custName", ${user_name});
userData.put("phoneNumber", ${phone_number});
userData.put("birthday", ${birthday});
userData.put("location1", ${location1});
userData.put("location2", ${location2});
userData.put("gender", ${gender});
userData.put("data1", ${data1});
userData.put("data2", ${data2});
userData.put("data3", ${data3});userData를 사용하지 않을 시 호출 예제
new DeviceCert(context).request(null, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});userData를 사용할 시 호출 예제
JSONObject userData = new JSONObject();
userData.put("custName", "user");
userData.put("phoneNumber", "010xxxxxxxx");
new DeviceCert(context).request(userData, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});앱에서 로그인 실행시 한번만 호출해주셔야 합니다. 자동 로그인일때는 수행안하셔도 됩니다.
request method
public void request(String custId, final JSONObject userData, final APICallback apiCallback)DeviceCert와 마찬가지로 사용자 정보(userData) 셋팅이 가능하며, 셋팅하지 않으신다면 다음과 같이 호출하시면 됩니다.
new LoginPms(context).request(${custId}, null, ${callback});userData를 사용하지 않을 시 호출 예제
new LoginPms(context).request("userid", null, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});userData를 사용할 시 호출 예제
JSONObject userData = new JSONObject();
userData.put("custName", "user");
userData.put("phoneNumber", "010xxxxxxxx");
new LoginPms(context).request("userid", userData, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});앱 초기 실행시에는 regUserMsgId값을 -1로 설정해 주셔야 합니다.
request
public void request(String type, String reqUserMsgId, String msgGrpCode, String pageNum, String pageSize, final APICallback apiCallback)사용자의 이전 모든 메세지를 가져오는 예제 (앱 최초실행시 실행)
new NewMsg(context).request("P", "-1", "-1", 1, 50, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});새로운 메시지 가져오는 예제
new NewMsg(context).request("N", APMS.getInstance(context).getMaxUserMsgId(), "-1", 1, 50, new APICallback() {
public void response(String code, JSONObject json) {
${callback_process}
}
});팝업창이나 Notification에 대한 읽음 처리는 따로 Receiver쪽에서 구현을 해주셔야 합니다.
request
APMSUtil.getReadParam(String msgId)를 이용해서 JSONObject 형식을 만듭니다.public void request(JSONArray reads, final APICallback apiCallback)읽음 처리 예제
JSONArray reads = new JSONArray();
reads.put(APMSUtil.getReadParam("1212")); // MsgId -> 1212일떄
new ReadMsg(context).request(reads, new APICallback() {
@Override
public void response (String code, JSONObject json) {
${callback_process}
}
});이전 버전 사용자들은 기존 설정과 동일합니다.
request
public void request(String msgFlag, String notiFlag, String mktFlag, String etqStart, String etqEnd, final APICallback apiCallback)메세지함과 푸쉬메세지 여부를 모두다 거절시 사용예제
new SetConfig(context).request("N", "N", "Y", "0800", "2100", new APICallback() {
@Override
public void response (String code, JSONObject json) {
${callback_process}
}
});메세지함에는 적재하되 푸쉬메세지만 거절 시 사용예제
new SetConfig(context).request("Y", "N", "Y", "0800", "2100", new APICallback() {
@Override
public void response (String code, JSONObject json) {
${callback_process}
}
});정보성 수신 거부 할시 사용예제
new SetConfig(context).request("Y", "N", "Y", "0800", "2100", new APICallback() {
@Override
public void response (String code, JSONObject json) {
${callback_process}
}
});마케팅 수신 거부 할시 사용예제
new SetConfig(context).request("Y", "Y", "N", "0800", "2100", new APICallback() {
@Override
public void response (String code, JSONObject json) {
${callback_process}
}
});로그아웃은 앱에서 로그아웃을 할때만 사용하여 주시면 됩니다.
request
public void request(final APICallback apiCallback)로그 아웃시 사용예제
new LogoutPms(context).request(new APICallback() {
@Override
public void response (String code, JSONObject json) {
${callback_process}
}
});API 호출 예제
APMS.getInstance(context).startSession();API 호출 예제
APMS.getInstance(context).endSession();방문에 대한 정보를 수집합니다.
APMS.getInstance(context).setVisit(String code);API 호출 예제
APMS.getInstance(context).setVisit("1");장바구니에 대한 정보를 수집합니다.
APMS.getInstance(context).setCart (String code, String quantity);API 호출 예제
APMS.getInstance(context).setCart ("10", "book_180953");구매에 대한 정보를 수집합니다.
APMS.getInstance(context).setPurchase (String code, String quantity, String units);API 호출 예제
APMS.getInstance(context). setPurchase ("10", "book_180953", "dollar");| Code | 설명 |
| 000 | 통신성공 |
| 100 | 파라미터 오류, 필수 파라미터 누락 |
| 101 | 파라미터 오류, 잘못된 파라미터 크기 |
| 102 | 파라미터 오류, 유효하지 않은 파라미터 |
| 103 | 복호화 오류 |
| 104 | JSON형식 오류 |
| 105 | 잘못된 세션(타임아웃 등) |
| 106 | 암호화 오류 |
| 109 | 사용할 수 없는 msgApi |
| 200 | 기타오류 (msgApi) |
| 201 | 기타오류 (확인되지 않음) |
| 510 | 유효하지 않은 앱키 |
| Code | 설명 |
| 901 | 암호화키 누락 |
| 902 | 네트워크 타임아웃, MsgApi 주소 확인 필요 |
| 903 | Respones 값이 없을 경우 |
| 904 | MsgApi 주소 누락 |
| 905 | 파라미터 누락 |
| 906 | License 사용 만료 |
| 907 | SDK 버전 사용불가 |
Msg class는 bean형태로 Message DB의 데이터가 저장됩니다.
Msg class는 다음과 같이 사용하실 수 있습니다.
Cusror c = APMS.getInstance(context).selectMsgList(1, 1000);
c.moveToPosition(10);
Msg msg = new Msg(c);
System.out.println(msg.id);Msg class의 변수는 다음과 같습니다.
| 변수 | 설명 |
| id | DB의 row id |
| userMsgId | (서버에서의) 메시지의 unique한 ID |
| msgGrpName | 메시지의 그룹명 |
| appLink | appLink(추가데이터) |
| iconName | iconName(추가데이터) |
| msgId | 메시지 ID |
| pushTitle | push 타이틀 |
| pushMsg | push 메시지 |
| msgText | 메시지 텍스트 |
| map1 | 추가매핑정보1 |
| map2 | 추가매핑정보2 |
| map3 | 추가매핑정보3 |
| msgType | 메시지 유형 |
| readYn | 읽음여부 |
| delYn | 삭제여부 |
| expireDate | 메시지 유효 날짜 |
| regDate | 메시지 등록 날짜 |
| msgGrpCd | 메시지 그룹 코드 |
자동 수집을 위한 TAS 서비스 시작
TAS.getInstance(ActivityContext);## 3.2 TAS 서비스 종료
* **앱 종료시 자동 수집 기능을 종료**
~~~java
TAS.Clear();TAS tas = TAS.getInstance(ActivityContext);
tas.identifyUser (String userId, JSONObject userProp);
tas.identifyUser (String userId, String email, String phoneNumber, JSONObject userProp);TAS tas = TAS.getInstance(ActivityContext);
tas.logEvent (JSONObject parameters);
tas.logEvent (String name, JSONObject parameters); TAS tas = TAS.getInstance(ActivityContext);
tas.logPageViewEvent (String pageName);Tas tas = TAS.getInstance(ActivityContext);
# 장바구니 수집 이벤트, tags는 ArrayList<String> 형식의 장바구니 리스트
tas.logCartEvent (ArrayList<String> tags);
# 예시 : tas.logCartEvent(["사과","귤","배"])
# 장바구니 유기 이벤트, tags는 ArrayList<String> 형식의 유기할 장바구니 리스트
tas.logCartAbandonEvent (ArrayList<String> tags);
# 예시 : tas.logCartEvent(["사과","배"])
# 결제 이벤트, tags는 ArrayList<String> 형식의 결제할 장바구니 리스트
tas.logPurchaseEvent (ArrayList<String> tags, int value);
# 예시 tas.logPurchaseEvent(["사과","배"], 10000)