우맹 푸시 ios 서버
import java.io.IOException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
//import net.sf.json.JSONObject;
import com.alibaba.dubbo.common.json.JSONObject;
import org.apache.log4j.Logger;
import com.alibaba.dubbo.common.json.JSON;
import com.alibaba.dubbo.common.json.ParseException;
/**
* ios
* @author shanl
*
*/
public class UMengPushIOSImpl implements UMengPushPlatform{
private Map<String,String> pushParams = new HashMap<>();
static final Logger logger = Logger.getLogger(UMengPushIOSImpl.class);
public UMengPushIOSImpl(){
pushParams.put("method", Utils.UMENG_METHOD);
pushParams.put("url", Utils.UMENG_URL);
pushParams.put("appkey.tech", "555b1d7867e58e104a000cd3");
pushParams.put("appMasterSecret.tech", "9d6irworjocdanrgtrzhuspnauojuqnt");
pushParams.put("appkey.user", "555b1e4367e58e3482001d7b");
pushParams.put("appMasterSecret.user", "th9ablyqta3g6oneqsfylx97dvxraxyy");
}
public boolean custom(int userType,
String alias,String alias_type,
String title,String text,
Map<String,Object> extraParams){
Map<String,Object> resMap = new HashMap<>();
JSONObject data = new JSONObject();
data.put("appkey", pushParams.get("appkey."+Utils.toUsertypeStr(userType)));
data.put("timestamp", System.currentTimeMillis()+"");
data.put("type", "customizedcast");
data.put("alias", alias);
data.put("alias_type", alias_type);
JSONObject payload = new JSONObject();
payload.put("aps", title);
payload.put("text", text);
payload.putAll(extraParams);
data.put("payload", payload);
JSONObject aps = new JSONObject();
aps.put("alert", title);
payload.put("aps", aps);
JSONObject policy = new JSONObject();
policy.put("expire_time", Utils.getExpireTime());
data.put("policy", policy);
data.put("description", "description");
data.put("production_mode", "false");
try {
String post_body = JSON.json(data);
String sign = Utils.sign(new String[]{
pushParams.get("method"),
pushParams.get("url"),
post_body,
pushParams.get("appMasterSecret."+Utils.toUsertypeStr(userType))
});
//{"ret":"SUCCESS","data":{"msg_id":"ul62380143320937907000"}}
String res = Utils.sendMsg(pushParams.get("url"),
sign,
post_body);
resMap = JSON.parse(res, Map.class);
logger.info( "userType:"+Utils.toUsertypeStr(userType)
+",
appkey:"+pushParams.get("appkey."+Utils.toUsertypeStr(userType))
+",appMasterSecret:"+pushParams.get("appMasterSecret."+Utils.toUsertypeStr(userType))
+",
"+pushParams.get("url")+"?sign="+sign
+",
post_body:"+post_body
+",
resMap:"+resMap);
} catch (IOException|ParseException e) {
throw new RuntimeException(e);
}
return "SUCCESS".equals(resMap.get("ret")+"");
}
public void setPushParams(Map<String,String> pushParams){
this.pushParams = pushParams;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.