Android APNS

APNS 是什么?

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

特点:

  • 快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.
  • 无需架设服务器:通过使用"云服务",减少额外服务器负担.
  • 可以同时推送消息到网站页面,android 手机
  • 耗电少,占用流量少.

获取 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测试.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值