(以上纯属巧合)
以相声风格说一说百度云推送会是什么效果了。
百度云推送,就他妈三个字呀,当里个当,当里个当.快呀呀准呀省,快呀呀是个啥,如箭一样推过去。准字吗是个吗,亿万数据中最精确给他。省字什么啊,有了云推送,流量没有涨,没有云推送,流量刷哗哗。当里个当,当里个当。你是开发者,怎么来用它,你去看文档,文档哪儿有,网址再这呀。http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/sdk/clientsdk。
上面一小段,我们说了吗说了吗,说了云推送的大体框架,当里个当,当里个当.接下一小段,我们要干嘛要干嘛,来说说开发的具体事情呀。
打开这文档,文档这么长,一共有那32个页。我撇机撇机大嘴巴,这让我怎么看。我找啊找啊找,当里个当,当里个当.找的我老眼又昏花。以我多年编程的屁经验,首先应该把那入口吧,就像一切函数有那main函数。项目中有个函数叫做oncreate函数。源代码是这样的:
public class DemoApplication extends FrontiaApplication { @Override public void onCreate() { //必须加上这一句,否则会崩溃 super.onCreate(); } }
这句代码呀,真的要加上,否则真的会崩溃。
当里个当,这个application体现整个app的生命周期,倘若你没初始化,manifest中的初始化不可少。你要加上android:name的标签。代码便如下:
<application android:name="com.baidu.push.example.DemoApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
当里个当,这个application中的oncreate函数必须加上这么一句呀!代码这么咋:
FrontiaApplication.initFrontiaApplication(Context context)
当里个当,权限是个啥玩意,有了才能玩,一定要加上,manifest这个文件中,一定要加上,代码便爬下:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.DISABLE_KEY GUARD" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
以上是代码,有了这些的代码,security的异常快快滚回家,从此logcat文件再也不见他.
当里个当,一个Reciver代码要注册,多了接收者,推送这个鬼,请到碗里来。代码怎么样,抬头自己瞅。
<!-- push service client --> <receiver android:name="your.package.MyPushMessageReceiver"> <intent-filter> <!-- 接收 push消息 --> <action android:name="com.baidu.android.pushservice.action.MESSAGE" /> <!-- 接收 bind、setTags等 method的返回结果 --> <action android:name="com.baidu.android.pushservice.action.RECEIVE" /> <!-- 可选。接受通知点击事件,和通知自定义内容 --> <action android:name=" com.baidu.android.pushservice.action.notification.CLICK”/> </intent-filter> </receiver>
当里个当,一个Service劳模对象不可少,我该字母哦做,继续查资料,manifest清单又派上大用场,这就是源码:
<!-- push service start --> <!-- 用于接收系统消息以保证 PushService正常运行 --> <receiver android:name="com.baidu.android.pushservice.MyPushServiceReceiver" android:process=": bdservice_v1"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="com.baidu.android.pushservice.action.notification.SHOW" /> <action android:name="com.baidu.android.pushservice.action.media.CLICK" /> </intent-filter> </receiver> <!-- Push服务接收客户端发送的各种请求--> <!-- 注意:RegistrationReceiver 在 2.1.1及之前版本有拼写失误,为 RegistratonReceiver ,用新 版本 SDK 时请更改为如下代码--> <receiver android:name="com.baidu.android.pushservice.RegistrationReceiver" android:process=": bdservice_v1"> <intent-filter> <action android:name="com.baidu.android.pushservice.action.METHOD " /> <action android:name="com.baidu.android.pushservice.action.BIND_SYNC " /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_REMOVED"/> <data android:scheme="package" /> </intent-filter> </receiver> <!-- Push 服务 --> <service android:name="com.baidu.android.pushservice.PushService" android:exported="true" android:process=" bdservice_v1"/>
当里个当,这就是代码,一个推送服务已介绍,如果要进步了解,恳请大家自己找。
当里个当,以上的篇幅,只是王婆来卖瓜,卖瓜又自夸。
当里个当,百度云推送,方便又好用。特推,jpush简直要弱爆,腾讯的产品,阿里的技术灵魂护体,代表了中国牛逼互联网的光荣传统和历史,不要给google,amzon任何机会,李彦宏生日快乐。