android apns push 不需要注册邮件的,简单方便

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

到官方主页申请免费API, 下载 apns_beta_20110831.jar    


官方主页: www.push-notification.mobi


如何在 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.mobi/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,apns,不需要注册邮件)