Files
flipper/iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin/FlipperKitExamplePlugin.mm
Pritesh Nandgaonkar 12d2af38f7 Added screens in sample app for notification
Summary:
Added a basic communication flows and a button to trigger notification
{F142016937}

Reviewed By: jknoxville

Differential Revision: D10492428

fbshipit-source-id: b65fc46b3be695852f9197771a253d9e8596f328
2018-10-23 09:12:57 -07:00

74 lines
1.7 KiB
Plaintext

/*
* Copyright (c) 2018-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the LICENSE
* file in the root directory of this source tree.
*
*/
#if FB_SONARKIT_ENABLED
#import "FlipperKitExamplePlugin.h"
#import <FlipperKit/FlipperClient.h>
#import <FlipperKit/FlipperConnection.h>
#import <FlipperKit/FlipperResponder.h>
@interface FlipperKitExamplePlugin()
@property (strong, nonatomic) id<FlipperConnection> connection;
@property (nonatomic) NSInteger triggerCount;
@end
@implementation FlipperKitExamplePlugin
- (instancetype)init {
if (self = [super init]) {
_triggerCount = 0;
}
return self;
}
+ (instancetype)sharedInstance {
static FlipperKitExamplePlugin *sInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sInstance = [FlipperKitExamplePlugin new];
});
return sInstance;
}
- (void)didConnect:(id<FlipperConnection>)connection {
__weak FlipperKitExamplePlugin *weakSelf = self;
self.connection = connection;
[connection receive:@"displayMessage" withBlock:^(NSDictionary *params, id<FlipperResponder> responder) {
[weakSelf.delegate messageReceived:params[@"message"]];
[responder success:@{@"greeting": @"Hello"}];
}];
}
- (void)didDisconnect {
self.connection = nil;
}
- (NSString *)identifier {
return @"Example";
}
- (BOOL)runInBackground {
return YES;
}
- (void)sendMessage:(NSString *)msg {
[self.connection send:@"displayMessage" withParams:@{@"msg": msg}];
}
- (void)triggerNotification {
[self.connection send:@"triggerNotification" withParams:@{@"id": @(self.triggerCount)}];
self.triggerCount++;
}
@end
#endif