Project : https://github.com/ioslibraries/002-Pusher
Site Web : http://pusher.com/
Github libPusher : https://github.com/lukeredpath/libPusher
Installation
Téléchargez la librairie disponible depuis le github sur le lien : libPusher
Dans le dossier, vous allez trouver des librairies déjà compilées,
avec le dossier contenant les headers.
Faites glisser le fichier "libPushe-combined.a" dans votre projet en
cochant la case "copiez..."
Allez ensuite dans les settings du projet - build phases, vérifiez que
le framework est bien ajouté dans la liste des frameworks pour la
target sélectionnée.
Profitez-en pour ajouter les dépendances : Security, CFNetwork,
SystemConfiguration, et libicucore.
Dans les settings du build, ajoutez -all_load pour la clé "Other linker flags".
Maintenant, ajoutez le dossier Header dans votre projet, en
choisissant toujours l'option de copier les fichiers dans votre
répertoire.
Vos identifiants fournis par Pusher à l'inscription.
// .pch
#define PUSHER_KEY @"b77****************187"
#define PUSHER_SECRET @"c8d*****************d45"
#define PUSHER_APP_ID @"1***3"
Implémentation.
// header
#import "PTPusher.h"
@class PTPusher, PTPusherChannel;
//....
@property (strong, nonatomic) PTPusher *client;
@property (strong, nonatomic) PTPusherChannel *channel;
// source file
#import "PTPusher.h"
#import "PTPusherEvent.h"
#import "PTPusherChannel.h"
#import "JSONKit.h"
#import "PTPusherAPI.h"
Initialisation des variables de classe (client et channel).
// viewDidLoad
self.client = [PTPusher pusherWithKey:PUSHER_KEY delegate:self encrypted:NO];
self.channel = [client subscribeToChannelNamed:@"ioslibs"];
// Ecoute des messages entrants
[channel bindToEventNamed:@"chat" handleWithBlock:^(PTPusherEvent *event) {
// do something with channel event
NSDictionary* data = event.data;
[self onMessage:[data objectForKey:@"message"] sendedBy:[data objectForKey:@"username"]];
}];
Envoi de message.
// A l'envoi
PTPusherAPI *api = [[PTPusherAPI alloc] initWithKey:PUSHERKEY appID:PUSHERAPPID secretKey:PUSHERSECRET];
NSDictionary *payload = [NSDictionary dictionaryWithObjectsAndKeys:self.messageTextField.text, @"message", MEN_NICKNAME, @"username" ,nil];
[api triggerEvent:@"chat" onChannel:@"ioslibs" data:payload socketID:nil];
