新浪云推送刚出来的时候就申请了测试,发现并不支持Python。无奈只能先用PHP耍耍了,但感觉有点坑,因为安卓端无法获得token,最后还是用hoker_ffb 的jar包才OK了。

今天研究了一下PHP推送的代码,发现其原理就是用curl对新浪云推送服务器发起推送请求。用Python完全可以搞定。所以我写了一个Python类,功能和PHP的一样,接口也差不多。

(For android, Apple的差不多方法可以实现)

代码使用例子(python + django):

上述代码进行测试,完全可以正常推送(在本地环境运行会出现302,可能是新浪对IP进行了限制)

page_push_ok

android_push_recv

 

相信SAE官方会很快发布Python版云推送API的(我找了半天,全是PHP的)。

下面说一下几点小知识:

1. 获得APPID很简单,在面板里可以申请到。点几下就可以了,不需要审核。

APPID_page

push_page_1

如上图,20596就是这个APP的APPID

2. 在Android上跑Example APP

首先要下SDK,然后改清单文件。

清单文件需要改4处。下面是从文档中截取的需要修改的部分,将1004改为你的APPID

 

3. 应用安装后,只有第一次运行时才会显示Token(通道标识在onPush的PushManager.MSG_TYPE_GET_AID中获得

清空应用数据,重新安装后可以重新获得。

4. 只有extra的handle_by_app为'1'时,才可以通过PushManager.MSG_TYPE_MPS_PUSH_DATA 自己处理推送数据