我能够使用设备令牌注册。但是我没有收到来自我的服务器的消息。我已经用GCM注册了我的项目并获得了项目ID,服务器密钥。
在这里输入代码
public void onMessage(Event event) {
String msg;
msg = event.getPayload();
System.out.println("#### Message from the Server :" + msg);
String one="";
AdfmfContainerUtilities.invokeContainerJavaScriptFunction(AdfmfJavaUtilities.getFeatureId(), "usercheck", new Object[]{msg});
// Parse the payload of the push notification
HashMap payload = null;
String pushMsg = "No message received";
try
{
payload = (HashMap)JSONBeanSerializationHelper.fromJSON(HashMap.class, msg);
pushMsg = (String)payload.get("alert");
}
catch(Exception e) {
e.printStackTrace();
}
// Write the push message to app scope to display to the user
AdfmfJavaUtilities.setELValue("#{applicationScope.pushMessage}", pushMsg);
}
public void onError(AdfException adfException) {
System.out.println("#### Error: " + adfException.toString());
// Write the error into app scope
AdfmfJavaUtilities.setELValue("#{applicationScope.errorMessage}", adfException.toString());
}
public void onOpen(String token) {
System.out.println("#### Registration token:" + token);
// Clear error in app scope
AdfmfJavaUtilities.setELValue("#{applicationScope.errorMessage}", null);
// Write the token into app scope
AdfmfJavaUtilities.setELValue("#{applicationScope.deviceToken}", token);
}
}
答案 0 :(得分:0)
我认为this article会对您有所帮助。我能够为GCM完成它们,但尚未为APN完成。
要注册Google Cloud Messaging,请转到this link,然后点击"获取配置"按钮。
在服务器应用程序中,正确设置您的设备令牌和发件人ID。使用这些消息发送消息。
答案 1 :(得分:0)
由于您从服务器获得deviceId
,我认为问题不在于代码。您是否在PushPlugin
中启用了maf-application.xml
?