diff --git a/README.md b/README.md index e911227..bccb222 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,8 @@ Supported platforms: Based on: -- iOS AppsFlyerSDK **v6.2.4** -- Android AppsFlyerSDK **v6.2.3** +- iOS AppsFlyerSDK **v6.3.0** +- Android AppsFlyerSDK **v6.3.1** Built with: @@ -109,7 +109,7 @@ Here is what the script is doing. In case of any issues you can perform those st 1. Decode the apk using [apktool](https://ibotpeaches.github.io/Apktool/). This will create app_name folder. `apktool d app_name.apk` 2. Download - the [AppsFlyer SDK jar/aar](https://repo.maven.apache.org/maven2/com/appsflyer/af-android-sdk/6.2.3/af-android-sdk-6.2.3.aar) + the [AppsFlyer SDK jar/aar](https://repo.maven.apache.org/maven2/com/appsflyer/af-android-sdk/6.3.1/af-android-sdk-6.3.1.aar) of the same version that was used in the apk 3. Extract files `a-` and `b-` from the jar (by renaming jar into a zip) and place them into the folder with the decompiled apk to `app_name/unknown/com/appsflyer/internal` diff --git a/SampleApp/libs/AppsFlyerAIRExtension.ane b/SampleApp/libs/AppsFlyerAIRExtension.ane new file mode 100644 index 0000000..a8ab015 Binary files /dev/null and b/SampleApp/libs/AppsFlyerAIRExtension.ane differ diff --git a/bin/AppsFlyerAIRExtension-strict.ane b/bin/AppsFlyerAIRExtension-strict.ane index c983d3f..c80d8fe 100644 Binary files a/bin/AppsFlyerAIRExtension-strict.ane and b/bin/AppsFlyerAIRExtension-strict.ane differ diff --git a/bin/AppsFlyerAIRExtension-witout-gp-support.ane b/bin/AppsFlyerAIRExtension-witout-gp-support.ane index e9d60c0..1a1de80 100644 Binary files a/bin/AppsFlyerAIRExtension-witout-gp-support.ane and b/bin/AppsFlyerAIRExtension-witout-gp-support.ane differ diff --git a/bin/AppsFlyerAIRExtension-witout-gp.ane b/bin/AppsFlyerAIRExtension-witout-gp.ane index d4ebba0..57e6b83 100644 Binary files a/bin/AppsFlyerAIRExtension-witout-gp.ane and b/bin/AppsFlyerAIRExtension-witout-gp.ane differ diff --git a/bin/AppsFlyerAIRExtension.ane b/bin/AppsFlyerAIRExtension.ane index f62d867..a8ab015 100644 Binary files a/bin/AppsFlyerAIRExtension.ane and b/bin/AppsFlyerAIRExtension.ane differ diff --git a/bin/AppsFlyerAIRExtension.swc b/bin/AppsFlyerAIRExtension.swc index 85d5ecb..99ed477 100644 Binary files a/bin/AppsFlyerAIRExtension.swc and b/bin/AppsFlyerAIRExtension.swc differ diff --git a/bin/af_apk_fix.sh b/bin/af_apk_fix.sh index c24a29b..19c8ce7 100755 --- a/bin/af_apk_fix.sh +++ b/bin/af_apk_fix.sh @@ -25,7 +25,7 @@ read -p 'Enter the name of they key from the keystore above that should be used mkdir tmp; # Download relecant SDK version for further exctraction of needed files -curl -o ./tmp/android_sdk.zip 'https://repo.maven.apache.org/maven2/com/appsflyer/af-android-sdk/6.2.3/af-android-sdk-6.2.3.aar'; +curl -o ./tmp/android_sdk.zip 'https://repo.maven.apache.org/maven2/com/appsflyer/af-android-sdk/6.3.1/af-android-sdk-6.3.1.aar'; # Extract jar from the aar unzip ./tmp/android_sdk.zip -d tmp/android_sdk; diff --git a/build/extension.xml b/build/extension.xml index 0262ecd..ebc03db 100644 --- a/build/extension.xml +++ b/build/extension.xml @@ -1,6 +1,6 @@ com.appsflyer.adobeair - 6.2.41 + 6.3.10 diff --git a/ios/AppsFlyerAIRExtension/AppsFlyerAIRExtension.m b/ios/AppsFlyerAIRExtension/AppsFlyerAIRExtension.m index 0c17bf7..e1dd111 100644 --- a/ios/AppsFlyerAIRExtension/AppsFlyerAIRExtension.m +++ b/ios/AppsFlyerAIRExtension/AppsFlyerAIRExtension.m @@ -14,8 +14,6 @@ #define DEFINE_ANE_FUNCTION(fn) FREObject (fn)(FREContext context, void* functionData, uint32_t argc, FREObject argv[]) -typedef void (*bypassDidFinishLaunchingWithOption)(id, SEL, NSInteger); - @implementation AppsFlyerAIRExtension static IMP __original_applicationDidBecomeActive_Imp; @@ -53,18 +51,6 @@ BOOL didReceiveRemoteNotificationHandler(id self, SEL _cmd, UIApplication* appli return ((BOOL(*)(id, SEL, UIApplication*, NSDictionary*))__original_didReceiveRemoteNotification_Imp)(self, _cmd, application, userInfo); } -static IMP __original_didFinishLaunchingWithOptions_Imp; -BOOL didFinishLaunchingWithOptions(id self, SEL _cmd, UIApplication* application, NSDictionary * launchOptions) { - NSLog(@"[AppsFlyerAIRExtension] didFinishLaunchingWithOptions: %@", self); - SEL SKSel = NSSelectorFromString(@"__willResolveSKRules:"); - id AppsFlyer = [AppsFlyerLib shared]; - if ([AppsFlyer respondsToSelector:SKSel]) { - bypassDidFinishLaunchingWithOption msgSend = (bypassDidFinishLaunchingWithOption)objc_msgSend; - msgSend(AppsFlyer, SKSel, 2); - } - return ((BOOL(*)(id, SEL, UIApplication*, NSDictionary *))__original_didFinishLaunchingWithOptions_Imp)(self, _cmd, application, launchOptions); -} - + (void) load { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ @@ -78,21 +64,18 @@ + (void) load { SEL originalOpenURLDeprecatedSelector = @selector(application:openURL:sourceApplication:annotation:); SEL originalOpenURLSelector = @selector(application:openURL:options:); SEL originalDidReceiveRemoteNotificationSelector = @selector(application:didReceiveRemoteNotification:); - SEL originalDidFinishLaunchingWithOptionsSelector = @selector(application:didFinishLaunchingWithOptions:); Method originalApplicationDidBecomeActiveMethod = class_getInstanceMethod(objectClass, originalApplicationDidBecomeActiveSelector); Method originalContinueUserActivityMethod = class_getInstanceMethod(objectClass, originalContinueUserActivitySelector); Method originalOpenURLDeprecatedMethod = class_getInstanceMethod(objectClass, originalOpenURLDeprecatedSelector); Method originalOpenURLMethod = class_getInstanceMethod(objectClass, originalOpenURLSelector); Method originalDidReceiveRemoteNotificationMethod = class_getInstanceMethod(objectClass, originalDidReceiveRemoteNotificationSelector); - Method originalDidFinishLaunchingWithOptionsMethod = class_getInstanceMethod(objectClass, originalDidFinishLaunchingWithOptionsSelector); __original_applicationDidBecomeActive_Imp = method_setImplementation(originalApplicationDidBecomeActiveMethod, (IMP)applicationDidBecomeActive); __original_continueUserActivity_Imp = method_setImplementation(originalContinueUserActivityMethod, (IMP)continueUserActivity); __original_openURLDeprecated_Imp = method_setImplementation(originalOpenURLDeprecatedMethod, (IMP)openURLDeprecated); __original_openURL_Imp = method_setImplementation(originalOpenURLMethod, (IMP)openURL); __original_didReceiveRemoteNotification_Imp = method_setImplementation(originalDidReceiveRemoteNotificationMethod, (IMP)didReceiveRemoteNotificationHandler); - __original_didFinishLaunchingWithOptions_Imp = method_setImplementation(originalDidFinishLaunchingWithOptionsMethod, (IMP)didFinishLaunchingWithOptions); } }); } @@ -455,14 +438,6 @@ + (NSData *)dataFromHexString:(NSString *)string return NULL; } -// DEFINE_ANE_FUNCTION(requestATTPermission){ -// if (@available(iOS 14, *)) { -// [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { -// //.... -// }]; -// } -// return NULL; -// } void AFExtContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) { diff --git a/ios/AppsFlyerAIRExtension/AppsFlyerLib.h b/ios/AppsFlyerAIRExtension/AppsFlyerLib.h index de62bac..03b8ecc 100644 --- a/ios/AppsFlyerAIRExtension/AppsFlyerLib.h +++ b/ios/AppsFlyerAIRExtension/AppsFlyerLib.h @@ -2,7 +2,7 @@ // AppsFlyerLib.h // AppsFlyerLib // -// AppsFlyer iOS SDK 6.2.4 (71) +// AppsFlyer iOS SDK 6.3.0 (11) // Copyright (c) 2012-2020 AppsFlyer Ltd. All rights reserved. // diff --git a/ios/libAppsFlyerLib-strict.a b/ios/libAppsFlyerLib-strict.a index 65750be..f19fcd7 100644 Binary files a/ios/libAppsFlyerLib-strict.a and b/ios/libAppsFlyerLib-strict.a differ diff --git a/ios/libAppsFlyerLib.a b/ios/libAppsFlyerLib.a index ea251b8..6698640 100644 Binary files a/ios/libAppsFlyerLib.a and b/ios/libAppsFlyerLib.a differ diff --git a/res/AF-Android-SDK.jar b/res/AF-Android-SDK.jar index 220c391..2b259ba 100644 Binary files a/res/AF-Android-SDK.jar and b/res/AF-Android-SDK.jar differ