Skip to content

Commit 29c35d5

Browse files
committed
Added getAppsFlyerUID functionality
1 parent f8fda43 commit 29c35d5

File tree

4 files changed

+101
-80
lines changed

4 files changed

+101
-80
lines changed

android/src/main/java/com/appsflyer/appsflyersdk/AppsflyerSdkPlugin.java

Lines changed: 88 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -74,95 +74,103 @@ public static void registerWith(Registrar registrar) {
7474
public void onMethodCall(MethodCall call, Result result) {
7575
final String method = call.method;
7676
switch (method) {
77-
case "initSdk":
78-
initSdk(call, result);
79-
break;
80-
case "trackEvent":
81-
trackEvent(call, result);
82-
break;
83-
case "setHost":
84-
setHost(call, result);
85-
break;
86-
case "setCurrencyCode":
87-
setCurrencyCode(call, result);
88-
break;
89-
case "setIsUpdate":
90-
setIsUpdate(call, result);
91-
break;
92-
case "stopTracking":
93-
stopTracking(call, result);
94-
break;
95-
case "enableUninstallTracking":
96-
enableUninstallTracking(call, result);
97-
break;
98-
case "updateServerUninstallToken":
99-
updateServerUninstallToken(call, result);
100-
break;
101-
case "setImeiData":
102-
setImeiData(call, result);
103-
break;
104-
case "setAndroidIdData":
105-
setAndroidIdData(call, result);
106-
break;
107-
case "enableLocationCollection":
108-
enableLocationCollection(call, result);
109-
break;
110-
case "setCustomerUserId":
111-
setCustomerUserId(call, result);
112-
break;
113-
case "waitForCustomerUserId":
114-
waitForCustomerUserId(call, result);
115-
break;
116-
case "setAdditionalData":
117-
setAdditionalData(call, result);
118-
break;
119-
case "setUserEmails":
120-
setUserEmails(call, result);
121-
break;
122-
case "setUserEmailsWithCryptType":
123-
setUserEmailsWithCryptType(call, result);
124-
case "setCollectAndroidId":
125-
setCollectAndroidId(call, result);
126-
break;
127-
case "setCollectIMEI":
128-
setCollectIMEI(call, result);
129-
break;
130-
case "getHostName":
131-
getHostName(result);
132-
break;
133-
case "getHostPrefix":
134-
getHostPrefix(result);
135-
break;
136-
case "setMinTimeBetweenSessions":
137-
setMinTimeBetweenSessions(call, result);
138-
break;
139-
case "validateAndTrackInAppPurchase":
140-
validateAndTrackInAppPurchase(call, result);
141-
break;
142-
default:
143-
result.notImplemented();
144-
break;
77+
case "initSdk":
78+
initSdk(call, result);
79+
break;
80+
case "trackEvent":
81+
trackEvent(call, result);
82+
break;
83+
case "setHost":
84+
setHost(call, result);
85+
break;
86+
case "setCurrencyCode":
87+
setCurrencyCode(call, result);
88+
break;
89+
case "setIsUpdate":
90+
setIsUpdate(call, result);
91+
break;
92+
case "stopTracking":
93+
stopTracking(call, result);
94+
break;
95+
case "enableUninstallTracking":
96+
enableUninstallTracking(call, result);
97+
break;
98+
case "updateServerUninstallToken":
99+
updateServerUninstallToken(call, result);
100+
break;
101+
case "setImeiData":
102+
setImeiData(call, result);
103+
break;
104+
case "setAndroidIdData":
105+
setAndroidIdData(call, result);
106+
break;
107+
case "enableLocationCollection":
108+
enableLocationCollection(call, result);
109+
break;
110+
case "setCustomerUserId":
111+
setCustomerUserId(call, result);
112+
break;
113+
case "waitForCustomerUserId":
114+
waitForCustomerUserId(call, result);
115+
break;
116+
case "setAdditionalData":
117+
setAdditionalData(call, result);
118+
break;
119+
case "setUserEmails":
120+
setUserEmails(call, result);
121+
break;
122+
case "setUserEmailsWithCryptType":
123+
setUserEmailsWithCryptType(call, result);
124+
case "setCollectAndroidId":
125+
setCollectAndroidId(call, result);
126+
break;
127+
case "setCollectIMEI":
128+
setCollectIMEI(call, result);
129+
break;
130+
case "getHostName":
131+
getHostName(result);
132+
break;
133+
case "getHostPrefix":
134+
getHostPrefix(result);
135+
break;
136+
case "setMinTimeBetweenSessions":
137+
setMinTimeBetweenSessions(call, result);
138+
break;
139+
case "validateAndTrackInAppPurchase":
140+
validateAndTrackInAppPurchase(call, result);
141+
break;
142+
case "getAppsFlyerUID":
143+
getAppsFlyerUID(result);
144+
break;
145+
default:
146+
result.notImplemented();
147+
break;
145148
}
146149
}
147150

151+
private void getAppsFlyerUID(Result result) {
152+
result.success(AppsFlyerLib.getInstance().getAppsFlyerUID(this.mContext));
153+
}
154+
148155
private void setUserEmailsWithCryptType(MethodCall call, Result result) {
149156
List<String> emails = call.argument("emails");
150157
int cryptTypeInt = call.argument("cryptType");
151158
AppsFlyerProperties.EmailsCryptType cryptType = AppsFlyerProperties.EmailsCryptType.values()[cryptTypeInt];
152-
if(emails!=null) {
159+
if (emails != null) {
153160
AppsFlyerLib.getInstance().setUserEmails(cryptType, emails.toArray(new String[0]));
154161
}
155162
}
156163

157164
private void validateAndTrackInAppPurchase(MethodCall call, Result result) {
158165
registerValidatorListener();
159-
String publicKey = (String)call.argument("publicKey");
160-
String signature = (String)call.argument("signature");
161-
String purchaseData = (String)call.argument("purchaseData");
162-
String price = (String)call.argument("price");
163-
String currency = (String)call.argument("currency");
164-
Map<String, String> additionalParameters = (Map<String,String>)call.argument("additionalParameters");
165-
AppsFlyerLib.getInstance().validateAndTrackInAppPurchase(mContext,publicKey,signature,purchaseData,price,currency,additionalParameters);
166+
String publicKey = (String) call.argument("publicKey");
167+
String signature = (String) call.argument("signature");
168+
String purchaseData = (String) call.argument("purchaseData");
169+
String price = (String) call.argument("price");
170+
String currency = (String) call.argument("currency");
171+
Map<String, String> additionalParameters = (Map<String, String>) call.argument("additionalParameters");
172+
AppsFlyerLib.getInstance().validateAndTrackInAppPurchase(mContext, publicKey, signature, purchaseData, price,
173+
currency, additionalParameters);
166174
result.success(null);
167175
}
168176

@@ -193,7 +201,7 @@ public void onValidateInAppFailure(String s) {
193201
}
194202
}
195203
};
196-
AppsFlyerLib.getInstance().registerValidatorListener(mContext,validatorListener);
204+
AppsFlyerLib.getInstance().registerValidatorListener(mContext, validatorListener);
197205
}
198206

199207
private void setMinTimeBetweenSessions(MethodCall call, Result result) {
@@ -223,13 +231,13 @@ private void setCollectAndroidId(MethodCall call, Result result) {
223231
}
224232

225233
private void waitForCustomerUserId(MethodCall call, Result result) {
226-
boolean wait = (boolean)call.argument("wait");
234+
boolean wait = (boolean) call.argument("wait");
227235
AppsFlyerLib.getInstance().waitForCustomerUserId(wait);
228236
result.success(null);
229237
}
230238

231239
private void setAdditionalData(MethodCall call, Result result) {
232-
HashMap<String,Object> customData = (HashMap<String,Object>)call.argument("customData");
240+
HashMap<String, Object> customData = (HashMap<String, Object>) call.argument("customData");
233241
AppsFlyerLib.getInstance().setAdditionalData(customData);
234242
result.success(null);
235243
}
@@ -308,7 +316,7 @@ private void initSdk(MethodCall call, MethodChannel.Result result) {
308316
AppsFlyerConversionListener gcdListener = null;
309317
AppsFlyerLib instance = AppsFlyerLib.getInstance();
310318

311-
if(mIntent.getData()!=null) {
319+
if (mIntent.getData() != null) {
312320
instance.setPluginDeepLinkData(mIntent);
313321
}
314322

example/lib/main_page.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ class MainPageState extends State<MainPage> {
4343
// widget.appsFlyerSdk.setCollectAndroidId(true);
4444
// widget.appsFlyerSdk.setCollectIMEI(true);
4545
// widget.appsFlyerSdk.setHost("pref", "my-host");
46+
// widget.appsFlyerSdk.getAppsFlyerUID().then((value) {
47+
// print("AppsFlyerUID: ${value}");
48+
// });
4649
// widget.appsFlyerSdk.getHostName().then((name) {
4750
// print("Host name: ${name}");
4851
// });

ios/Classes/AppsflyerSdkPlugin.m

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,18 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
5050
[self setAdditionalData:call result:result];
5151
}else if([@"validateAndTrackInAppPurchase" isEqualToString:call.method]){
5252
[self validateAndTrackInAppPurchase:call result:result];
53+
}else if([@"getAppsFlyerUID" isEqualToString:call.method]){
54+
[self getAppsFlyerUID:result];
5355
}
5456
else{
5557
result(FlutterMethodNotImplemented);
5658
}
5759
}
5860

61+
- (void)getAppsFlyerUID:(FlutterResult)result{
62+
result([[AppsFlyerTracker sharedTracker] getAppsFlyerUID]);
63+
}
64+
5965
- (void)getHostPrefix:(FlutterResult)result{
6066
result([[AppsFlyerTracker sharedTracker] hostPrefix]);
6167
}

lib/src/appsflyer_sdk.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,10 @@ class AppsflyerSdk {
226226
}
227227
}
228228

229+
Future<String> getAppsFlyerUID() async {
230+
return await _methodChannel.invokeMethod("getAppsFlyerUID");
231+
}
232+
229233
void waitForCustomerUserId(bool wait) {
230234
_methodChannel.invokeMethod("waitForCustomerUserId", {'wait': wait});
231235
}

0 commit comments

Comments
 (0)