APNS 是什么?
APNS (Android Push Notification Service) 是一种在 android 上轻松实现 push notification 的功能的解决方案. 只需申请一个 API Key, 经过简单的步骤即可实现 push notification 的功能.
特点:
快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.
无需架设服务器:通过使用"云服务",减少额外服务器负担.
可以同时推送消息到网站页面,android 手机
耗电少,占用流量少.
http://zen-mobi.com/get_api_key.php获取apikey
如何在 Android 应用中使用 Notification ?
a) 在应用中添加 APNS 功能
- 下载 libaray: com_apns.jar
- 将com_apns.jar添加到工程
在工程上右键打开“属性”,选择 “Java Build Path”, 在 Libraries 中选择 “Add External JARs”, 选择下载的 com_apns.jar.
- 接收 push notification
使用BroadcastReceiver接收系统广播:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(APNService.ON_NOTIFICATION)) {
String str = intent.getStringExtra("data");
//todo, 处理收到的消息
}
}
}
- 启动 Push Notification Service
发送Intent 启动服务,将 chanel Id 以及 此设备的标识 (chanel中唯一表示此设备的字符串) 传递过去:
Intent intent = new Intent(APNService.START);
intent.putExtra("ch", chanel);
intent.putExtra("devId", devId);
startService(intent);
Notes Chanel Id 在申请 API 后,登录开发者页面会看到. devId: chanel 内设备标识,要在chanel内保持唯一.
- 配置 AndroidManifest.xml
...
<application android:icon="@drawable/icon"
...
<service android:name="com.apns.APNSService" android:label="APNS">
<intent-filter>
<action android:name="com.apns.APNService.START" />
<action android:name="com.apns.APNService.STOP" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
<receiver android:name="MyBroadcastReceiver">
<intent-filter>
<action android:name="com.apnsd.APNService.NOTIFICATION" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...
b) 发送 Notification 到设备
通过 rest 接口发送 Notification:
http://www.push-notification.org/handlers/apns_v1.php?ch=YourChannelId&devId=xxxxx&msg =hello world&random=0123&hash=HashCode
ch:Channel Id
devId:接收设备 Id
msg:消息
random:随机数
hash:md5(ch + devId + msg + random + apiKey)
Notes 申请API后,可登录开发者页面使用测试控制台进行API测试.
分享到:
相关推荐
通过以上步骤,你可以在Android应用中实现类似APNs的推送通知功能,让应用可以及时向用户发送重要信息。记住,有效的通知策略可以提升用户参与度,但过度的通知可能会导致用户反感,因此在设计通知时需要平衡好信息...
本文将详细介绍如何实现Android Push Notification,包括服务器端(Server)和客户端(Client)的设置以及操作配置流程。 1. 服务器端(Server)实现 服务器端负责发送推送通知到Google的云消息服务(GCM,现在...
在Android平台上,推送通知(Push ...通过下载提供的项目,开发者可以快速了解和实践Android推送通知的整个流程,从而在自己的应用中实现这一功能。同时,这也为深入学习FCM的工作原理和优化推送策略提供了基础。
【Android Push Notification 方案比较】 在开发Android应用时,向用户实时推送通知是必不可少的功能,Android提供了多种推送通知方案,包括C2DM(Cloud to Device Messaging)、MQTT(Message Queuing Telemetry ...
AndroidPN(Android Push Notification)是一个开源项目,专注于提供服务端的解决方案,帮助开发者实现推送通知功能。这个压缩包包含的是AndroidPN服务端的源代码,而非编译后的二进制文件,因此可以让你深入理解其...
Android Push Notification 介绍 基于AndroidPN 项目实现的的消息推送 特点 客户端服务器交互初始化 用户登录认证 客户端发起在线心跳通知 发送消息时若用户在线则直接发送,否则保存到数据库 服务器从数据库中获取...
1. **GCM (Google Cloud Messaging)**:早期Android系统中,Google提供了GCM服务,用于实现应用的后台消息推送。但自2018年起,GCM已被FCM(Firebase Cloud Messaging)取代。 2. **FCM (Firebase Cloud Messaging)...
在Android平台上,推送通知是应用与...Java编程语言在Android应用开发中扮演着核心角色,用于实现与FCM的接口交互,处理消息接收和显示。通过理解这些概念和步骤,开发者可以构建出高效且用户体验良好的推送通知系统。
本篇文章将详细解析“Android Push Notification Service Demo”,帮助开发者了解如何在Android平台上实现推送通知。 首先,我们需要明白APNS(Apache Push Notification Service)并不是Android系统的官方服务,而是...
至此,你已经成功地在 Laravel 项目中实现了 Push Notification 的服务端支持,可以向 iOS 和 Android 设备发送自定义通知了。别忘了在实际应用中处理错误,如设备 Token 或 Registration ID 无效、推送服务响应错误...
An open source project to provide push notification support for Android -- a xmpp based notification server and a client tool kit.
Android Push Notification客户端源码包是针对这一需求而设计的,主要利用XMPP(Extensible Messaging and Presence Protocol)协议实现消息推送。XMPP是一种开放标准的即时通讯协议,它被广泛应用于各种实时通信...
Android Push Notification XPMM源码详解 在Android应用开发中,推送通知是一项至关重要的功能,它能让用户即使在不打开应用的情况下也能接收到重要的信息。XPMM(可能代表eXtended Push Message Management)是一...
本项目“Android-Push-Notifications-master”专注于教授如何在Android应用中实现推送通知功能,特别关注“androidnotification”这一核心主题。下面将详细介绍这个项目涉及的关键知识点。 1. **GCM (Google Cloud ...
在Android开发中,Push Notification是一种常见且重要的功能,它允许应用程序在后台向用户发送消息,即使应用程序未运行也能提醒用户有新的活动或信息。Parse是一个流行的云服务,它提供了包括推送通知在内的多种...
本教程将详细介绍如何在Android中实现一个常驻通知栏的Notification,以确保即使在用户关闭应用后,该通知仍然可见。 一、Notification的基本结构 1. **Notification channels**: 从Android O(8.0)开始,每个...
npm install --save react-native-push-notification react-native link NOTE: For Android, you will still have to manually update the AndroidManifest.xml (as below) in order to use Scheduled Notifications...
= 0.271.0.8 0.282.0.1 0.292.0.2 0.30、0.31、0.32> = 2.1.0 > = 0.33变更日志可从以下版本3.1.3获得 : 安装NPM npm install --save react-native-push-notification 纱yarn add react-native-push-notification ...
在提供的`AndroidPush-client`项目中,我们可以看到客户端实现推送通知的具体代码。通过阅读源码,可以理解每个类和方法的作用,例如`FirebaseMessagingService`的实现,`BroadcastReceiver`如何监听点击事件,以及...