如何使用GCM从Java服务器向Android应用程序发送通知?
2022-09-02 02:01:49
我有一个简单的Android应用程序,它使用REST Web服务。现在我想使用GCM将通知从我的REST Web服务发送到Android应用程序。
这是怎么做到的?有没有针对此要求的简单教程?我搜索并找到了Google API,但我不明白。
我有一个简单的Android应用程序,它使用REST Web服务。现在我想使用GCM将通知从我的REST Web服务发送到Android应用程序。
这是怎么做到的?有没有针对此要求的简单教程?我搜索并找到了Google API,但我不明白。
我为GCMUtils项目创建了一个基于Java的测试服务器,作为maven插件实现:https://code.google.com/p/gcmutils/wiki/MavenPlugin#Test_server
下面是源代码:https://github.com/jarlehansen/gcmutils/tree/master/gcm-test-server
maven 插件的来源:https://github.com/jarlehansen/gcmutils/tree/master/gcmutils-maven-plugin
也许这可以帮助您入门?
这是一个用于将通知从java发送到应用程序Android的函数。此代码使用 JSONObject,您必须将此 jar 添加到项目构建路径中。
注:I使用断续器
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONObject;
public class FcmNotif {
public final static String AUTH_KEY_FCM ="AIzB***********RFA";
public final static String API_URL_FCM = "https://fcm.googleapis.com/fcm/send";
// userDeviceIdKey is the device id you will query from your database
public void pushFCMNotification(String userDeviceIdKey, String title, String message) throws Exception{
String authKey = AUTH_KEY_FCM; // You FCM AUTH key
String FMCurl = API_URL_FCM;
URL url = new URL(FMCurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization","key="+authKey);
conn.setRequestProperty("Content-Type","application/json");
JSONObject json = new JSONObject();
json.put("to",userDeviceIdKey.trim());
JSONObject info = new JSONObject();
info.put("title", title); // Notification title
info.put("body", message); // Notification body
info.put("image", "https://lh6.googleusercontent.com/-sYITU_cFMVg/AAAAAAAAAAI/AAAAAAAAABM/JmQNdKRPSBg/photo.jpg");
info.put("type", "message");
json.put("data", info);
System.out.println(json.toString());
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(json.toString());
wr.flush();
conn.getInputStream();
}
}
祝你好运