以相声之名说百度云推送

  1. 云栖社区>
  2. 博客>
  3. 正文

以相声之名说百度云推送

laozhu1124 2016-04-14 15:01:53 浏览1404
展开阅读全文

(以上纯属巧合)

以相声风格说一说百度云推送会是什么效果了。

百度云推送,就他妈三个字呀,当里个当,当里个当.快呀呀准呀省,快呀呀是个啥,如箭一样推过去。准字吗是个吗,亿万数据中最精确给他。省字什么啊,有了云推送,流量没有涨,没有云推送,流量刷哗哗。当里个当,当里个当。你是开发者,怎么来用它,你去看文档,文档哪儿有,网址再这呀。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任何机会,李彦宏生日快乐。




网友评论

登录后评论
0/500
评论
laozhu1124
+ 关注