安卓学习笔记4——推送服务初体验
来源:互联网 发布:js 设置data属性 编辑:程序博客网 时间:2024/06/06 00:48
一. 引子
推送服务我们都不陌生,每天你手机上的应用都会推送或多或少的信息到你的手机。这些推送信息有些是由应用开发商自己提供的,而有些则是通过第三方的推送服务上提供的,比如今天我们体验的“个推”推送平台。点击打开链接
二.开发步骤
个推提供了详细的技术文档,所以学习和使用起来都比较简单。下面我们就跟着技术文档的教程一步一步来做吧。
步骤一:注册个推账号。不说了,大家都懂的。
步骤二:登录账号,新建应用。以下界面就是登记应用界面,可以填上应用的一些信息。
登记成功后我们可以在首页中看到以下的一些信息,而这些信息是我们开发app所必要的。
步骤三: 开发自己的个推应用
在开发应用中又包括了几个步骤。
1.从个推官网下载sdk。
2.新建工程,并向libs文件夹中复制黏贴下载的jar包。在build path中导入这些jar包。
3.导入必要库
import com.igexin.sdk.Consts;import com.igexin.slavesdk.MessageManager;
4. 初始化MessageManage。一般在activity的onCreate方法中执行。
MessageManager.getInstance().initialize(this.getApplicationContext());
5.下面是在mainfest中的配置
增加权限
<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.WAKE_LOCK" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="getui.permission.GetuiService" /><!-- 可选权限 --><uses-permission android:name="android.permission.CALL_PHONE" /><!-- 自定义权限 --><permission android:name="getui.permission.GetuiService" android:protectionLevel="normal" ></permission>
在application标签中注册必要信息, 其中有些信息需要自行修改。注意中文注释
<!-- 个推SDK配置开始 --> <!-- 配置的第三方参数属性 --> <meta-data android:name="appid" android:value="你应用的appid" /> <meta-data android:name="appsecret" android:value="你应用的appsecret" /> <meta-data android:name="appkey" android:value="你应用的appkey" /> <meta-data android:name="groupid" android:value="" /> <activity android:name="com.igexin.sdk.SdkActivity"android:process=":pushservice" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:taskAffinity="android.task.GexinSdkActivityTask" android:excludeFromRecents="true" android:exported="false"> <intent-filter> <action android:name="com.igexin.action.popupact.com.igexin.demo" /> <!--这里需要改 com.igexin.action.popupact.第三方的包名 --> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity><!-- 配置弹框activity --><activity android:name="com.igexin.getuiext.activity.GetuiExtActivity" android:process=":pushservice" android:configChanges="orientation|keyboard|keyboardHidden"android:excludeFromRecents="true" android:taskAffinity="android.task.myServicetask" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="false" /> <service android:label="NotifyCenter"android:name="com.igexin.sdk.SdkMainService"android:process=":pushservice"android:exported="false"> </service> <service android:label="NotifyCenterAIDL"android:name="com.igexin.sdk.coordinator.SdkMsgService"android:process=":pushservice"android:exported="true"> </service> <!-- 个推download模块配置--> <service android:name="sdk.download.DownloadService" android:process=":pushservice" /> <receiver android:exported="false" android:name="sdk.download.DownloadReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> <provider android:authorities="sdk.download.com.igexin.demo"<!--这里需要改--> android:process=":pushservice" android:name="sdk.download.DownloadProvider"/> <!-- android:authorities="sdk.download.第三方包名" --><!-- GetuiExt模块配置 --><service android:name="com.igexin.getuiext.service.GetuiExtService" android:exported="false" android:process=":pushservice" /><receiver android:name="com.igexin.getuiext.service.PayloadReceiver"android:exported="false" > <intent-filter> <!-- 这个com.igexin.sdk.action.7fjUl2Z3LH6xYy7NQK4ni4固定,不能修改 --> <action android:name="com.igexin.sdk.action.7fjUl2Z3LH6xYy7NQK4ni4" /> <!-- android:name="com.igexin.sdk.action.第三方的appId" --> <!--这里需要改--> <action android:name="com.igexin.sdk.action.b03c5cfef65ed30108f0a3fd82c3f6b4" /> </intent-filter></receiver><service android:name="com.igexin.download.DownloadService" android:exported="false" android:process=":pushservice" /> <provider android:authorities="increment.download.com.igexin.demo" android:process=":pushservice" android:exported="false" android:name="com.igexin.download.DownloadProvider" /><receiver android:exported="false" android:name="com.igexin.download.DownloadReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver><receiver android:name="com.igexin.sdk.SdkReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver> <receiver android:name="com.igexin.sdk.coordinator.NotificationCenterAIDLReceiver"> <intent-filter> <action android:name="com.igexin.sdk.action.refreshls" /> </intent-filter> </receiver> <!-- =========================================================================== -->
步骤四:
到这里我们应用的配置就ok了,可以尝试下发送信息。看手机是否接收到信息。
三.总结
以上就是使用个推推送服务开发的基本步骤。但通过这样我们手机只是接收到消息并放到消息栏中,我们的应用是没有对这些信息进行处理的,如果要推送我们应用能够接受处理的信息就需要使用透传消息。这部分在下一篇博客中讲。
0 0
- 安卓学习笔记4——推送服务初体验
- 安卓学习笔记5——个推透传服务体验
- C#推送安卓—极光推送
- 学习Android推送功能笔记(5)---Mina初体验
- 安卓推送服务设计思路图
- 物联网学习笔记——京东云擎初体验 部署REST服务
- MSF初体验—入侵安卓手机
- 安卓学习笔记——Broadcast
- 安卓学习笔记——SQLite
- 安卓学习笔记——三
- 安卓学习笔记—popupwindow
- 体验Remix——安卓电脑
- 安卓个人学习笔记---利用服务实现电话监听
- 【Android】安卓学习笔记之服务的基本用法
- 安卓手机如何实现邮件的实时推送服务
- 安卓集成极光推送SDK基础服务
- 【安卓逆向】初体验
- wp7学习笔记1——Silverlight初体验
- CGI问题:500 Internal Server Error
- Tomcat的安装
- SD--关于销售环节的折扣、折让、回扣、佣金的介绍
- java设计模式(行为型)之命令模式
- 数据结构java学习笔记
- 安卓学习笔记4——推送服务初体验
- android.permission.MODIFY_PHONE_STATE权限问题
- C#调用WebService制作天气预报
- 【js学习笔记-098】-------键盘事件
- 基于linux-2.6.35的class_create(),device_create解析
- CI框架(七)codeIgniter.php:系统初始化文件解读
- java内存监测
- Spring MVC
- 【C++学习之路】继承、虚函数的练习题目