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测试.
分享到:
相关推荐
为了推送iOS设备的通知,我们需要配置APNS或使用FCM,因为APNS是苹果公司提供的推送服务,而FCM(前身为Google Cloud Messaging, GCM)则由谷歌提供,支持Android和iOS设备。 Firebase Cloud Messaging (FCM) 是一...
2. 应用将设备令牌发送到服务器,服务器需要与APNs建立连接并注册设备令牌。 3. 当有新消息需要推送给用户时,服务器将设备令牌、通知内容及特定标识打包,通过加密的方式发送给APNs。 4. APNs验证消息的合法性后,...
Laravel支持多种推送服务提供商,如Firebase Cloud Messaging (FCM,前身为Google Cloud Messaging, GCM)、Apple Push Notification service (APNs)、OneSignal等。开发者可以根据目标平台(Android、iOS或Web)选择...
在iOS和Android等操作系统中,推送通知服务由操作系统级别的服务提供,例如Apple的APNs(Apple Push Notification service)和Google的Firebase Cloud Messaging (FCM)。这些服务允许开发者将消息从服务器直接推送到...
例如,像Firebase Cloud Messaging (FCM) 或Apple Push Notification Service (APNs) 这样的服务,为Android和iOS设备提供了跨平台的推送通知支持。开发者可以使用这些服务来实时传递消息、更新或者提醒给用户。 3....
iPush - Framewok:registered: 内部 推送技术是一种通信类型,其中服务器在有新信息或通知时向... 推送通知不需要应用程序在设备上运行并不断调用服务器,而是允许应用程序在后台并在收到消息时激活。 这意味着电池
这可能包括iOS的APNs(Apple Push Notification service)和Android的FCM(Firebase Cloud Messaging)。通过配置设备Token或Registration ID,可以向移动设备发送消息。 在实际应用中,PySender库的灵活性和易用性...
例如,iOS的APNs流程包括:应用注册推送、获取deviceToken、将token发送给服务器、服务器通过APNs发送消息到设备。然而,Android的C2DM(Cloud to Device Messaging)虽然简化了推送流程,但面临兼容性问题(仅支持...
6. **通知与提醒**:集成推送服务,如APNs(Apple Push Notification service)和GCM/FCM(Google Cloud Messaging/Firebase Cloud Messaging),实现实时的消息通知。 7. **负载均衡与容错**:在高并发环境下,...
6. **消息推送**:如果项目扩展到即时通讯功能,就需要了解如何实现消息推送服务,如Firebase Cloud Messaging (FCM) 或Apple Push Notification Service (APNs)。 7. **权限管理**:考虑到隐私问题,应用需要正确...
- **iOS平台**:通过与苹果APNs服务器建立连接,应用通过观察者模式注册感兴趣的消息类型。这种方式清晰且减少了系统开销,但偶尔会出现延迟和消息丢失的情况。 - **Android平台**:原生支持的C2DM因地域限制问题...
对于iOS设备,则使用Apple Push Notification service (APNs)。每个平台都有自己的认证流程和API密钥管理。一旦获取到这些,就可以通过SNS创建订阅: ```python def create_subscription(arn, platform_endpoint): ...
8. **推送通知**:为实时提醒用户接收到的新消息,软件可能采用了推送通知服务,如Apple Push Notification Service (APNs) 或 Google Firebase Cloud Messaging (FCM)。 9. **法规遵循**:考虑到短信和邮件可能...
与iOS的APNs(Apple Push Notification service)或Android的FCM(Firebase Cloud Messaging)等平台的推送服务进行交互,为移动应用用户提供即时消息。设计时需考虑不同操作系统的需求,优化电池和网络使用。 4. ...
8. **推送通知**:当有新消息时,系统可以通过APNs(Apple Push Notification Service)或FCM(Firebase Cloud Messaging)向用户发送通知。 9. **多平台兼容**:为了覆盖更广泛的用户群体,工具可能需要开发针对...
5. **推送服务**:对于实时性要求较高的通知,可能会涉及到第三方推送服务,如Firebase Cloud Messaging (FCM) 或Apple Push Notification service (APNs)。这些服务能够确保即使应用在后台或未运行时,也能将通知推...
8. **实时推送**:为了实现消息的即时显示,系统可能使用了推送服务,如Firebase Cloud Messaging (FCM) 或Apple Push Notification service (APNs)。 9. **界面设计**:良好的用户体验是聊天系统成功的关键。新语...
- **推送服务**:如Firebase Cloud Messaging (FCM) 或 Apple Push Notification service (APNs),它们是如何工作的,以及如何集成到应用程序中。 - **多平台兼容性**:如何确保通知在不同操作系统(如iOS、Android...
1. 推送服务:如Apple Push Notification Service (APNS) 和 Firebase Cloud Messaging (FCM),为移动应用提供后台消息推送。 2. 短信网关:用于将数据网络消息转化为短信,通过运营商网络发送到手机。 3. RESTful...