Gérer les Notifications Push sur IOs dans AIR

1/ Utilisez tout d’abord le SDK 4.6 avec AIR 3.4 minimum

2/Créer une classe qui gérera la notification en se connectant sur Urban Airship

package notifications
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.HTTPStatusEvent;
	import flash.events.IOErrorEvent;
	import flash.events.RemoteNotificationEvent;
	import flash.events.StatusEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.net.URLRequestDefaults;
	import flash.net.URLRequestMethod;
	import flash.notifications.NotificationStyle;
	import flash.notifications.RemoteNotifier;
	import flash.notifications.RemoteNotifierSubscribeOptions;

	import ressources.tacSkinnableContainerDefault;

	import spark.components.Group;

	import taccomponents.tacEventsTools;

	public class NotifierAPN extends Sprite
	{
		private var _subscribeOptions:RemoteNotifierSubscribeOptions = new RemoteNotifierSubscribeOptions();
		private var _preferredStyles:Vector. = new Vector.();
		private var _remoteNot:RemoteNotifier = new RemoteNotifier();
		private var _urlString:String;
		private var _urlreq:URLRequest;
		private var _urlLoad:URLLoader = new URLLoader();

		/**
		 *
		 *
		 */
		public function NotifierAPN()
		{
			init();
		}

		/**
		 *
		 *
		 */
		private function init():void
		{
			trace("SupportedNotification Styles: " + RemoteNotifier.supportedNotificationStyles.toString() + "\n");

			trace("Before Preferred notificationStyles: " + _subscribeOptions.notificationStyles.toString() + "\n");

			_preferredStyles.push(NotificationStyle.ALERT ,NotificationStyle.BADGE,NotificationStyle.SOUND );

			_subscribeOptions.notificationStyles= _preferredStyles;

			trace("After Preferred notificationStyles:" + _subscribeOptions.notificationStyles.toString() + "\n");

			_remoteNot.addEventListener(RemoteNotificationEvent.TOKEN,tokenHandler);
			_remoteNot.addEventListener(RemoteNotificationEvent.NOTIFICATION,notificationHandler);
			_remoteNot.addEventListener(StatusEvent.STATUS,statusHandler);

			this.addEventListener(Event.ACTIVATE,activateHandler);
		}

		/**
		 *
		 * @param e
		 *
		 */
		public function tokenHandler(e:RemoteNotificationEvent):void
		{
			trace("\nRemoteNotificationEvent type: "+e.type +"\nBubbles: "+ e.bubbles + "\ncancelable " +e.cancelable +"\ntokenID:\n"+ e.tokenId +"\n");

			_urlString = new String("https://go.urbanairship.com/api/device_tokens/" + e.tokenId);
			_urlreq = new URLRequest(_urlString);

			_urlreq.authenticate = true;
			_urlreq.method = URLRequestMethod.PUT;

			URLRequestDefaults.setLoginCredentialsForHost("go.urbanairship.com","Application id","Application Secret");

			_urlLoad.load(_urlreq);
			_urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
			_urlLoad.addEventListener(Event.COMPLETE,compHandler);
			_urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
		}

		/**
		 *
		 * @param e
		 *
		 */
		public function notificationHandler(e:RemoteNotificationEvent):void
		{
			trace("\nRemoteNotificationEvent type: " + e.type +"\nbubbles: "+ e.bubbles + "\ncancelable " +e.cancelable);

			for (var x:String in e.data)
			{
				trace("\n"+ x + ":  " + e.data[x]);
			}
		}

		/**
		 *
		 * @param e
		 *
		 */
		public function activateHandler(e:Event):void
		{
			if(RemoteNotifier.supportedNotificationStyles.toString() != " ")
			{
				_remoteNot.subscribe(_subscribeOptions);
			}
			else
			{
				trace("\n Remote Notifications not supported on this Platform !");
			}
		}

		/**
		 *
		 * @param e
		 *
		 */
		private function compHandler(e:Event):void
		{
			trace("\n In Complete handler,"+"status: " +e.type + "\n");
		}

		/**
		 *
		 * @param e
		 *
		 */
		private function httpHandler(e:HTTPStatusEvent):void
		{
			trace("\n in httpstatus handler,"+ "Status: " + e.status);
		}

		/**
		 *
		 * @param e
		 *
		 */
		private function iohandler(e:IOErrorEvent):void
		{
			trace("\n In IOError handler" + e.errorID +" " +e.type);
		}

		/**
		 *
		 * @param e
		 *
		 */
		public function statusHandler(e:StatusEvent):void
		{
			trace("\n statusHandler");

			trace("event Level" + e.level +"\nevent code " + e.code + "\ne.currentTarget: " + e.currentTarget.toString());
		}
	}
}

3/ Enfin ajouter dans le fichier Manifest :

<![CDATA[

<key>aps-environment</key>

<string>development</string>

]]>


L’action de Nokia s’envole après la défaite de Samsung, Windows Phone pourrait devenir une alternative pour les constructeurs Android ?

Comme dit le proverbe : « le malheur des uns fait le bonheur des autres ». La décision de la justice américaine dans l’affaire Apple contre Samsung pourrait être bénéfique à Nokia et son partenaire Microsoft.

Le constructeur coréen a été condamné à verser 1 milliard de dollars à Apple pour avoir violé plusieurs brevets de la société et copié le look & Feel de l’iPhone. Apple pourrait obtenir le mois prochain du juge l’interdiction des ventes sur le territoire américain de certains modèles de smartphones de Samsung.

Ce verdict de la justice américaine a été salué par les investisseurs. L’action de Nokia s’est envolée de 11,5% à près de 2,8 euros à la bourse d’Helsinki après la défaite de Samsung.

Le constructeur finlandais pourrait profiter de cette situation pour se relancer sur le marché des smartphones avec sa nouvelle gamme de terminaux sous Windows Phone 8 dont la présentation du premier modèle est prévue pour le mois prochain.

Les déboires de Samsung qui détient près de 44% du marché des smartphones Android viennent non seulement affaiblir le constructeur, mais également tout l’écosystème Android.

Les constructeurs de smartphones sous Android qui craignent des actions pareilles en justice de la part d’Apple pourraient se retourner vers Windows Phone qui est actuellement l’alternative la plus fiable pour ceux-ci.

En effet, l’OS mobile de Microsoft est à l’abri de toute poursuite d’Apple, car la firme, ayant pris connaissance des brevets d’Apple pour l’iPhone, grâce à un accort d’anticlonageentre les deux sociétés, s’est arrangée pour développer un système d’exploitation entièrement différent.

Il est encore très tôt pour Nokia et Microsoft de jubiler, car la décision du juré américain pourrait encore être annulée par le juge. Mais, tous ces procès mettent à mal l’écosystème Android qui pourrait finir par flancher ?

SourceReuters



Isiapp : Créer votre application mobile en quelques clics

Isiapp

Vous souhaitez développer une application Android mais vous n’avez pas de connaissances techniques et peu de budget ? C’est possible grâce a Isiapp.com! Ce service vient de sortir a destination des entreprises, auto-entrepreneurs, associations qui souhaiteraient voir leur propre application sortir sur le célèbre OS de Google !
Le système est des plus simples car il suffis a l’utilisateur de renseigner les flux RSS (WordPress, Facebook, Flickr, Picasa, YouTube, MySpace et bien d’autres) qu’il souhaite voir apparaitre sur son application pour les convertir sous forme de page d’articles, galeries d’image, vidéos ou page de contact, et l’application est prête en quelques minutes et quelques clics ! L’utilisateur peut personnaliser entièrement son application graphiquement, enfin l’équipe technique d’Isiapp se charge de soumettre l’application sur l’Android Market. L’application se met ensuite automatiquement a  jour.
De plus l’application peut intégrer une bannière Google Adsense qui permet de monétiser son application sur chaque clic ou affichage de l’application sur Smartphone.
Enfin le site web a décidé de s’investir dans une association de protection de l’environnement car pour chaque commande 1 euro est reverse pour planter un arbre dans plusieurs pays en voie de développement. Que demander de plus ?

Isiapp




ARToolWork pour IPhone

ARToolworks ,l’éditeur de réalité augmentée utilisant le FLARToolKit annonce une nouvelle bêta de ARToolKit Professional v4.4 pour iPhone. La version Beta 2.1 est maintenant disponible pour un téléchargement immédiat pour tous les développeurs s’étant enregistré sur leur site et développant des applications utilisant ARToolKit pour l’iPhone. Beta 2.1
ARToolKit pour iPhone beta 2.1 inclut tous les grandes fonctionnalités d’ ARToolKit, utilisant les API publiques approuvées par Apple.Il inclut les codes sources pour toutes les applications entièrement compatibles IPhone, avec les classes pouvant être réutilisées par les applications des développeurs , permettant un déploiement rapide de tous le spectre d’applications de réalité augmentée tes que les demos de produits, outils de visualisation et les jeux vidéos.

ARToolKit pour iPhone beta 2.1 requière Xcode tools v3.2 et l’ iPhone OS v4.0 SDK beta 5 ou supérieur, fonctionnant sur Mac OS X 10.6.3 ou supérieur, ainsi qu’un iPhone, iPhone 3G, iPhone 3GS, or iPhone 4 fonctionnant sur IPhone OS v3.1 ou supérieur.

Pour plus d’informations sur l’ ARToolKit pour IPhone, la présentation est sur : http://www.artoolworks.com/