`
butter
  • 浏览: 125655 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android Push Notification Service

阅读更多

http://www.push-notification.org/

APNS 是什么?

APNS (Android Push Notification Service) 是一种在 android 上轻松实现 push notification 的功能的解决方案. 只需申请一个 API Key, 经过简单的步骤即可实现 push notification 的功能.

特点:

  • 快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.
  • 无需架设服务器:通过使用"云服务",减少额外服务器负担.
  • 通用性强:可以整合各种平台,适用性强,即将推出 html sdk, 使 web app 也可以集成此服务.
  • 耗电少,占用流量少.

     

  • 获取 API

    如何在 Android 应用中使用 Notification ?

    a) 在应用中添加 APNS 功能

    1. 下载 libaray: com_apns.jar
    2. 将com_apns.jar添加到工程

      在工程上右键打开“属性”,选择 “Java Build Path”, 在 Libraries 中选择 “Add External JARs”, 选择下载的 com_apns.jar.

    3. 接收 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, 处理收到的消息
      		 } 
      	}
      }
      
    4. 启动 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内保持唯一.
    5. 配置 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 push notification service 实现即时通知

      在Android平台上,实现即时通知通常会借助Google的云消息推送服务(Google Cloud Messaging,简称GCM),但在iOS系统中,对应的则是Apple Push Notification service(APNs)。然而,这里提到的"android apns"可能是...

      android push notification service Demo

      首先,我们需要明白APNS(Apache Push Notification Service)并不是Android系统的官方服务,而是通常指苹果的Push Notification Service。然而,在这里,“apns”标签可能是开发者为了表示类似功能的一个简称,或者...

      android push notification 下载即可运行

      在Android平台上,推送通知(Push Notification)是一种高效且节省资源的方式,用于向用户发送应用程序相关的实时信息,即使应用并未在前台运行。这个“android push notification 下载即可运行”项目表明,它提供了...

      Android push notification方案比较

      【Android Push Notification 方案比较】 在开发Android应用时,向用户实时推送通知是必不可少的功能,Android提供了多种推送通知方案,包括C2DM(Cloud to Device Messaging)、MQTT(Message Queuing Telemetry ...

      Android Push Notification客户端源码包

      在Android开发中,Push Notification是一种重要的技术,它允许应用程序在后台接收来自服务器的消息,并在用户的通知栏中显示这些消息,即使应用并未运行。这个"Android Push Notification客户端源码包"显然是一个...

      Laravel开发-laravel-push-notification Push Notification 服务端支持

      Laravel 提供了一个方便的工具来处理这一过程,特别是与 Apple Push Notification Service (APNS) 和 Google Cloud Messaging (GCM) 集成。 首先,我们需要安装 "laravel-push-notification" 扩展包。在 Laravel ...

      apn client(android push notification 4.2.2)

      在Android平台上,推送通知服务(Push Notification Service)是开发者与用户进行实时互动的重要工具,APN(Application Programming Interface for Push Notifications)客户端则是实现这一功能的关键组件。...

      Laravel开发-laravel-push-notification

      尽管如此,Laravel Push Notification包仍然支持GCM接口,使得向Android设备发送推送变得简单。 **5. WPN(Windows Push Notification)** WPN是微软为Windows Phone和Windows 8及以上版本的桌面应用提供的通知服务...

      Android Notification和WebView结合的源码

      在Android开发中,Notification是应用与用户交互的重要方式,它可以在状态栏显示消息,即使用户不在应用程序中,也能提醒用户有新的活动或信息。而WebView则是一个强大的组件,可以加载和展示网页内容。将这两者结合...

      推送资料下载

      这里,我们主要关注两个文件:“androidpn-server-0.5.0-bin.rar”和“androidpn-client-0.5.0.rar”,它们似乎与Android Push Notification Service(AndroidPN)相关,这是一个开源项目,用于实现Android设备上的...

      android Push Services 源码和对应的.NET源码

      在Android和.NET开发中,Push Services是一个重要的概念,它涉及到应用程序如何接收远程消息或通知,尤其是在后台运行时。本文将详细解析"android Push Services 源码和对应的.NET源码",并探讨如何在Android客户端...

      Android代码-一个很好用的通知栏推送(Convert JSON to Android Notification)

      Convert JSON to Android Notification. This is very useful for push notification (GCM). Usage Notification notification = Json2Notification.from(context).with(json).notification(); NotificationManager ...

      Androidpn源码

      Androidpn,全称为Android Push Notification Service,是专门为Android平台设计的一款后台推送服务。本文将深入探讨其源码,解析其核心功能与实现机制,为开发者提供一个理解Android推送服务的窗口。 首先,我们来...

      epns-mobile-app:React Native App of EPNS

      App 应该将此用户钱包连接到由 Apple Push Notification Service 或 Android Push Notification Service 生成的推送通知令牌 应用程序应该能够以安全的格式将此信息发送到 epns 服务器 应用程序应该

      即时通讯(IM)

      这通常通过轮询、长连接(如WebSocket)或消息推送服务(如APNS,Android Push Notification Service)来实现。 6. **多平台支持**:为了满足用户在不同设备上使用的需求,IM系统通常会开发适用于桌面、手机、平板...

      Android三种Notification(通知)方式

      在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏显示消息,即使用户不在应用程序中,也能提醒用户有新的活动或信息。本文将详细介绍Android中的三种Notification实现方式:基本通知、扩展...

      Android 中Notification弹出通知实现代码

      Android 中Notification弹出通知实现代码 Notification 是 Android 中的一种机制,用于向用户显示重要信息,例如新的电子邮件、短信、软件更新等。NotificationManager 是状态栏通知的管理类,负责发通知、清除通知...

    Global site tag (gtag.js) - Google Analytics