【发布时间】:2015-01-06 00:36:13
【问题描述】:
无法推出我自己的,我决定使用Parse 发送推送通知。我一直在阅读他们的教程。我不清楚如何从 App-Engine 向特定用户发送推送。我正在处理以下情况。 一个给定的用户有五百个朋友。当该用户更新她的个人资料图片时,五百个朋友应该会收到通知。 我该怎么做这么简单的事情?这是非常简单的东西。那么我该如何用 Parse 做到这一点呢?我的服务器是 Java App-engine。我需要知道如何处理应用引擎部分。 (顺便说一句:我已经成功实现了 app-engine to android push)。
在某些情况下,这是我在 Urban Airship 应用引擎上的内容。
try {
URL url = new URL("https://go.urbanairship.com/api/push/");
String appKey = “my app key”;
String appMasterSecret = “my master key”;
String nameAndPassword = appKey + ":" + appMasterSecret;
String authorizationHeader = Base64.encodeBase64String(nameAndPassword.getBytes("UTF-8"));
authorizationHeader = "Basic " + authorizationHeader;
HTTPRequest request = new HTTPRequest(url, HTTPMethod.POST);
request.addHeader(new HTTPHeader("Authorization", authorizationHeader));
request.addHeader(new HTTPHeader("Content-type", "application/json"));
request.addHeader(new HTTPHeader("Accept", "application/vnd.urbanairship+json; version=3;"));
log.info("Authorization header for push:" + authorizationHeader);
String jsonBodyString = String.format(JSON_FORMAT, deviceTokens.toString(), alert);
log.info("PushMessage payload:" + jsonBodyString);
request.setPayload(jsonBodyString.getBytes("UTF-8"));
URLFetchService urlFetchService = URLFetchServiceFactory.getURLFetchService();
HTTPResponse fetchedResponse = urlFetchService.fetch(request);
if (fetchedResponse.getResponseCode() >= 400) {
log.warning("Push notification failed:" + new String(fetchedResponse.getContent(), "UTF-8") +
"response code:" + fetchedResponse.getResponseCode());
} else {
log.info("PushMessage send success");
}
}
所以问题真的是,Parse 版本是什么样的?
我没有使用 Urban Airship,因为他们想向我收取 200 美元/月的启动费:这是零推送通知。然后,随着我发送更多推送,这笔钱应该会增加。 (他们只是改变了定价模式)。所以我需要一个替代方案; parse 似乎很划算。我只是不知道如何完成我需要的。
【问题讨论】:
标签: java iphone google-app-engine parse-platform push-notification