我使用 python 作为服务器应用程序将我的消息发送到 GCM 服务器以在注册的 android 设备上接收。我从带有消息 ID 的 GCM 服务器获得成功。
在 android 手机上,我正在接收功能中arg1
的数据,onMessage()
但只有两个键arg1
, from
& collapse_key
。
在下面的 Java 代码中,from
key 包含一个LongInt
值 & message
is null
。
谁能告诉我我在 Java 代码或 Python 代码中缺少什么?
这是我的 JavaCode:
@Override
protected void onMessage(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
String keys="";
for (String key : arg1.getExtras().keySet())
keys+=key+"||";
String mess = arg1.getExtras().getString("from");
String mess1 = arg1.getExtras().getString("message");
}
蟒蛇代码:
def SelectAction(request,client_id):
if request.method == 'GET':
message = request.GET.get('message','')
if not message:
return Error(message = "Argument Missing.")
registration= Registration.objects.get(registeredUser = user)
values = {}
values['registration_id'] = registration.appId
values['data.message'] = message
param = urllib.urlencode(values)
req = urllib2.Request("https://android.googleapis.com/gcm/send", param)
req.add_header( 'Content-Type' , 'application/x-www-form-urlencoded;charset=UTF-8' )
req.add_header( 'Authorization' , 'key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
response = urllib2.urlopen(req)
reply = {}
if response.read().split('=')[0] == 'id':
reply['error'] = '0'
else:
reply['error'] = '1'
return HttpResponse(json.dumps(reply), mimetype="application/javascript")
else:
return Error()