Skip to content

Commit 660cdb5

Browse files
committed
Add get tags
1 parent d5c033e commit 660cdb5

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

android/src/main/java/com/onesignal/flutter/OneSignalUser.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ else if (call.method.contentEquals("OneSignal#addTags"))
4848
this.addTags(call, result);
4949
else if (call.method.contentEquals("OneSignal#removeTags"))
5050
this.removeTags(call, result);
51+
else if (call.method.contentEquals("OneSignal#getTags"))
52+
this.getTags(call, result);
5153
else
5254
replyNotImplemented(result);
5355
}
@@ -124,4 +126,8 @@ private void removeTags(MethodCall call, Result result) {
124126
replyError(result, "OneSignal", "deleteTags failed with error: " + e.getMessage() + "\n" + e.getStackTrace(), null);
125127
}
126128
}
129+
130+
private void getTags(MethodCall call, Result result) {
131+
replySuccess(result, OneSignal.getUser().getTags());
132+
}
127133
}

ios/Classes/OSFlutterUser.m

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
5555
[self addTags:call withResult:result];
5656
else if ([@"OneSignal#removeTags" isEqualToString:call.method])
5757
[self removeTags:call withResult:result];
58+
else if ([@"OneSignal#getTags" isEqualToString:call.method])
59+
[self getTags:call withResult:result];
5860
else if ([@"OneSignal#addEmail" isEqualToString:call.method])
5961
[self addEmail:call withResult:result];
6062
else if ([@"OneSignal#removeEmail" isEqualToString:call.method])
@@ -102,6 +104,10 @@ - (void)removeTags:(FlutterMethodCall *)call withResult:(FlutterResult)result {
102104
result(nil);
103105
}
104106

107+
- (void)getTags:(FlutterMethodCall *)call withResult:(FlutterResult)result {
108+
result([OneSignal.User getTags]);
109+
}
110+
105111
- (void)addEmail:(FlutterMethodCall *)call withResult:(FlutterResult)result {
106112
NSString *email = call.arguments;
107113
[OneSignal.User addEmail:email];

lib/src/user.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ class OneSignalUser {
7777
return await _channel.invokeMethod("OneSignal#removeTags", tags);
7878
}
7979

80+
/// Returns the list of tags on the current user.
81+
Future<Map<String, String>> getTags() async {
82+
Map<dynamic, dynamic> tags = await _channel.invokeMethod("OneSignal#getTags");
83+
return tags.cast<String, String>();
84+
}
85+
8086
/// Add a new [email] subscription to the current user.
8187
Future<void> addEmail(String email) async {
8288
return await _channel.invokeMethod("OneSignal#addEmail", email);

0 commit comments

Comments
 (0)