手机推送消息 Notification ane

 

在手机上调用推送信息

http://www.adobe.com/cn/devnet/air/native-extensions-for-air/extensions/notification.html

所附的ZIP文件包括:

  • Notification.ane: 必须包含在您Flash Builder项目中的notification原生扩展。
  • NotificationSample.fxp: 一个简单的Flash Builder4.6项目,向您展示怎样在Android和iOS上派发notification。
  • asdocs 文件夹 : 这里包含了使用原生扩展的文档。

 

ActionScript库

在AS3中创建Notification对象,并被NotificationManager类派发。

您可以用以下代码开始派发notification:

private var notificationManager:NotificationManager

protected function notifyUser():void
{
if ( !this.notificationManager )
{
try {
this.notificationManager = new NotificationManager();
}
catch (ae:ArgumentError)
{
trace("The notification native extension has no support for this platform.");
return;
}
}

var n:Notification = new Notification();

n.tickerText = this.tickerText.text;
n.title = this.notificationTitle.text;
n.body = this.notificationBody.text;

this.notificationManager.notifyUser("MY_NOTIFICATION_TYPE",n);
}

notifyUser() 函数用原生扩展派发了notification。在Android上,notification出现在notification drawer(简单的从上向下滑动drawer)。iOS处理notification的方式略有不同:当notification被派发时,如果应用程序正在运行中,你 将不会 接收到一个弹出框;如果应用程序正在在后台运行(通过使用后台API进行多任务处理),那么当notification被派发时你会接收一个弹出窗口。

Notification对象以及它们的性能是可配置的:

  • actionData: 当notification被user actionLabel处理时,用于指定所采取的自定义操作。
  • actionLabel
  • alertPolicy: NotificationAlertPolicy值指定是在每次出现此notification时提醒用户,还是仅第一次。
  • body
  • cancelOnSelect
  • iconType: 从NotificationAlertPolicy中可取的图标里,选择与系统notification默认图标一样的图标。
  • tickerText: 当notification首次出现时,文本会在Android Window Shade顶部出现。
  • title
  • vibrate

为NotificationManager增加一个 eventListener,以接收当一个notification已由用户处理时派发的事件。推荐您在初始化NotificationManager实例期间这样做。例如,在一个s:View对象的 creationComplete 事件处理方法(handler)中添加以下代码:

protected function view1_creationCompleteHandler(event:FlexEvent):void
{
try
{
this.notificationManager = new NotificationManager();
}
catch (ae:ArgumentError)
{
trace("The notification native extension has no support for this platform.");
return;
}

this.notificationManager.addEventListener(NotificationEvent.NOTIFICATION_ACTION,onNotificationActionEvent);
}

private function onNotificationActionEvent(ne:NotificationEvent):void
{
trace("Notification action received. Type: " + ne.actionData);
}

当用户选择notification后(Android),或者这个按钮被触发(iOS),您会收到一个NotificationEvent.NOTIFICATION_ACTION 事件。这个ne.actionData 将被设置为你在notification里设置的actionData的值。

查看在asdocs/index.html文件里的示例,以了解更多有关notification和NotificationManager的信息。

应用程序描述符

如果您要部署到Android,请确保在你的应用程序描述XML文件的manifestAdditions标签里,指定这个额外的权限。



当用户点击Android Window shade(通知区域)时,这个给予允许打开你应用程序的权限。iOS不需要额外必须的权限。

下载

notification

Comments are closed.