在Flash平台上用ActionScript应用程序接口开发具有Push通知功能的iOS应用是非常耗时的过程,同时我们也知道时间非常珍贵。因此,这篇文章的主要目标就是让哪些使用Flash给iPhone开发具有Push功能的应用的开发人员开发过程所耗时间更短,开发的方法更容易得到理解。为了便于理解,下面我们举了一个使用App42 Action-Script应用程序接口的Push应用。我们只用了几分钟就可以把App42 PUSH通知组件集成到应用里。
所讨论的内容
1.如何在Flash iOS应用中使用App42 Action-Script应用程序接口集成Push通知组件?
2.如何使用App42 Action-Script Push通知应用程序接口发送Push通知消息?
运行例程
1.注册到App42平台
2.注册之后在快速进入页面创建应用
3.如果你已经注册过了,那么请登录到AppHQ控制台,然后点击App管理标签,通过它创建应用
4.首先你需要到iOS开发中心创建证书,然后按照安装之前设置部分所提到的步骤提交证书
5.然后下载例程项目,并把这个项目导入到FlashBuilder里。如果你打算自己创建项目,那么请点击选择移动应用标签,然后创建新的ActionScript移动项目。选择Apple iOS,提交,接着点击完成。
6.向Adobe集成运行环境(AIR)移动应用描述XML文件添加信息。这个文件是iOS特有的。(注意:创建新项目的时候可以更改这个文件)
<id>Bundle ID</id> //添加在第四步看到的Apple包的ID
<iPhone>
<InfoAdditions>
<![CDATA[
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>YES</string>
]]>
</InfoAdditions>
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
7.打开例程所在项目的Constant.as文件,并做一下修改:
替换你在第二步或者第三步看到的api-Key和secert-Key
用你注册Push通知应用所用的用户名替换现有的user-name
8, 您能使用Flash Builder - File|Export|Release Build (在Flash Builder的输出对话框下)选项或者直接在截图中显示的位置选择Export Release Build
- 添加iOS包文件
a)选择项目,程序,目标平台
b)设置包设置,为在第4步中已接收的部分选择所有的数字签名集。现在,点击结束,几秒钟后将在你的项目目录中生成.ipa文件
10.选择这个.ipa文件和.mobileprovision并访问iTunes。然后,安装它到你的手机中。
在AppHQ控制台测试和验证Push通知消息
1 点击Store Token按钮,保存在第7步中已通过的用户设备令牌。
2 在注册Push通知消息之后,进入AppHQ控制台并点击PushNotification。选择用户和程序
3 从已注册的用户列表中选择期望的用户并点击发送Push
4 选择发送按钮发送适当的消息给用户
使用App42 ActionScript API给用户发送Push通知消息
1.点击Store Token按钮,存储在第7步中已通过的用户设备令牌
StoreToken Integrating Push Notification in Flash With iOS
public function storeDeviceToken_click(e:MouseEvent):void
{
outputBtn.text = "";
pushNotificationService.storeDeviceToken(Constant.userName, deviceToken, DeviceType.iOS , new app42StorePushCallBack());
}
//Callback Class
class app42StorePushCallBack implements App42CallBack {
public function onSuccess(response:Object):void
{
outputBtn.appendText("\n PushNotification");
var pushNotification:PushNotification = PushNotification(response);
outputBtn.appendText("\n PushNotification success is : "+pushNotification)
outputBtn.appendText("\n User Name : "+pushNotification.getUserName());
outputBtn.appendText("\n DeviceToken :"+pushNotification.getDeviceToken());
outputBtn.appendText("\n Device Type : "+pushNotification .getType());
}
public function onException(exception:App42Exception):void
{
outputBtn.appendText ( "\n Exception is : " + exception);
}
}
- 输入消息并按发送消息按钮,在输入控制台界面你将得到响应信息。
SendMessage Integrating Push Notification in Flash With iOS
public function sendMessage_click(e:MouseEvent):void
{
outputBtn.text = "";
pushNotificationService.sendPushMessageToUser(Constant.userName, headingTextField , new app42PushCallBack());
}
//Callback Class
class app42PushCallBack implements App42CallBack
{
public function onSuccess(response:Object):void
{
outputBtn.appendText("\n PushNotification");
var pushNotification:PushNotification = PushNotification(response);
outputBtn.appendText("\n PushNotification success is : "+pushNotification)
outputBtn.appendText("\n User Name : "+pushNotification.getUserName());
outputBtn.appendText("\n Expiry is " + pushNotification.getExpiry());
outputBtn.appendText("\n Message is " + pushNotification.getMessage());
}
public function onException(exception:App42Exception):void
{
outputBtn.appendText ( "\n Exception is : " + exception);
}
}
请注意:如果你的App是启动的,消息将显示在输出控制台