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




Les Tanukis dans 20 Minutes

graffitis virtuels sur les murs

Les Tanukis ont eu l’honneur d’avoir un article sur l’application VieTaVille, application permettant de tagguer virtuellement les murs.

innovation Un studio créée une application pour taguer avec son téléphone

Les Tanukis ont un projet de réseau social un peu fou. Ce studio de création, basé à Villeurbanne, veut inciter les Lyonnais à taguer leurs lieux préférés, à laisser un commentaire sur la façade d’un bon resto ou encore à coller des photos sur des vitrines… en toute légalité. Comment ? A l’aide d’une application pour mobile en cours de développement, qui permettra de superposer des images virtuelles sur des murs bien réels. C’est ce qu’on appelle le principe de réalité augmentée.

Photos et vidéos deviennent des tags
«L’idée, c’est de créer un réseau social ancré dans la ville, où chacun personnalise son environnement urbain de façon virtuelle », explique Damien Briatte, Pdg de la société les Tanukis qui travaille en collaboration avec le laboratoire Liris. Les membres du réseau, en contact via une application Facebook, seraient alertés de ces graffitis par un système d’alerte sur leur téléphone mobile. Le concept « VieTaVille », présenté mardi lors du salon Serious Game, a été retenu dans le cadre d’un appel à projets lancé par le pôle de compétitivité Imaginove il y a un an. Le dossier vient de trouver les financements auprès du Grand Lyon et de la région. Il devrait être prêt dans un an. « La réalité augmentée reste un gadget pour le moment. VieTaVille le rend intéressant. Au lieu de taguer avec de la bombe, on tague virtuellement des photos, des vidéos ou encore des textes », souligne Emmanuel Roudeau, chef de projet Recherche et développement à Imaginove. VieTaVille proposera un volet ludique, avec par exemple l’arrosage virtuel d’un arbre dans une rue où les habitants viendraient se rencontrer de façon bien réelle.

Article original





Microsoft présente Steet Slide

Vu le succès rencontré par Google Street View , Microsoft (qui décidément ne rate pas une occasion de jouer la concurrence avec Google) a décidé de présenter son dernier projet en date : Street Slide.
Présenté lors du  SIGGRAPH 2010, Street slide est propose une vue 2D en panorama. le résultat est sensiblement diffèrent.
Il tient compte de la dénivellation de la rue et le panorama crée une réelle sensation de 3D (lors d’une rotation a 360 degrés par exemple)
La vidéo de présentation montre la version IPhone, reste à savoir si l’application restera fluide.
affaire à suivre …