diff --git a/.github/workflows/Scripts/checkJira.sh b/.github/workflows/Scripts/checkJira.sh old mode 100644 new mode 100755 index 92a976ab..7cbf763f --- a/.github/workflows/Scripts/checkJira.sh +++ b/.github/workflows/Scripts/checkJira.sh @@ -2,12 +2,12 @@ JIRA_TOKEN=$1 JIRA_FIXED_VERSION=$2 fixed_version_found=false -curl -X GET https://appsflyer.atlassian.net/rest/api/3/project/11723/versions --user $JIRA_TOKEN | jq -r '.[] | .name+""+.id' | while read version ; do +curl -X GET https://appsflyer.atlassian.net/rest/api/3/project/11723/versions --user $JIRA_TOKEN | jq -r '.[] | .name+""+(.id | tostring)' | while read version ; do if [[ "$version" == *"$JIRA_FIXED_VERSION"* ]] ;then echo "$JIRA_FIXED_VERSION Found!" fixed_version_found=true version_id=${version#"$JIRA_FIXED_VERSION"} - echo $(curl -X GET https://appsflyer.atlassian.net/rest/api/3/search?jql=fixVersion=$version_id --user $JIRA_TOKEN | jq -r '.issues[] | "- " + .fields["summary"]+"@"') > "$JIRA_FIXED_VERSION-releasenotes".txt + echo $(curl -s -X POST https://appsflyer.atlassian.net/rest/api/3/search/jql --user $JIRA_TOKEN -H "Content-Type: application/json" -d "{\"jql\": \"fixVersion=$version_id\", \"fields\": [\"summary\"]}" | jq -r '.issues[] | "- " + .fields["summary"]+"@"') > "$JIRA_FIXED_VERSION-releasenotes".txt sed -i -r -e "s/@ /\n/gi" "$JIRA_FIXED_VERSION-releasenotes".txt sed -i -r -e "s/@/\n/gi" "$JIRA_FIXED_VERSION-releasenotes".txt cat "$JIRA_FIXED_VERSION-releasenotes".txt diff --git a/Assets/AppsFlyer/AppsFlyer.cs b/Assets/AppsFlyer/AppsFlyer.cs index b78a891d..4259a002 100644 --- a/Assets/AppsFlyer/AppsFlyer.cs +++ b/Assets/AppsFlyer/AppsFlyer.cs @@ -6,7 +6,7 @@ namespace AppsFlyerSDK { public class AppsFlyer : MonoBehaviour { - public static readonly string kAppsFlyerPluginVersion = "6.17.81"; + public static readonly string kAppsFlyerPluginVersion = "6.17.90"; public static string CallBackObjectName = null; private static EventHandler onRequestResponse; private static EventHandler onInAppResponse; diff --git a/Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml b/Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml index 29c9095e..d690bd97 100644 --- a/Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml +++ b/Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml @@ -2,15 +2,15 @@ - - + + - - + + diff --git a/Assets/AppsFlyer/Editor/AppsFlyerObjectEditor.cs b/Assets/AppsFlyer/Editor/AppsFlyerObjectEditor.cs index f18e3fa5..a576ad1c 100644 --- a/Assets/AppsFlyer/Editor/AppsFlyerObjectEditor.cs +++ b/Assets/AppsFlyer/Editor/AppsFlyerObjectEditor.cs @@ -31,7 +31,7 @@ public override void OnInspectorGUI() { serializedObject.Update(); - GUILayout.Box((Texture)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("appsflyer_logo")[0]), typeof(Texture)), new GUILayoutOption[] { GUILayout.Width(600) }); + DrawLogo(); EditorGUILayout.Separator(); EditorGUILayout.HelpBox("Set your devKey and appID to init the AppsFlyer SDK and start tracking. You must modify these fields and provide:\ndevKey - Your application devKey provided by AppsFlyer.\nappId - For iOS only. Your iTunes Application ID.\nUWP app id - For UWP only. Your application app id \nMac OS app id - For MacOS app only.", MessageType.Info); @@ -80,5 +80,25 @@ public override void OnInspectorGUI() serializedObject.ApplyModifiedProperties(); } + private void DrawLogo() + { + var guids = AssetDatabase.FindAssets("appsflyer_logo"); + if (guids.Length == 0) return; + + Texture logo = (Texture)AssetDatabase.LoadAssetAtPath( + AssetDatabase.GUIDToAssetPath(guids[0]), + typeof(Texture)); + + if (logo == null) return; + + float maxWidth = Mathf.Min(200, EditorGUIUtility.currentViewWidth - 40); + float aspect = (float)logo.height / logo.width; + float height = maxWidth * aspect; + + Rect rect = GUILayoutUtility.GetRect(maxWidth, height, GUILayout.ExpandWidth(false)); + rect.x = (EditorGUIUtility.currentViewWidth - maxWidth) * 0.5f; + rect.width = maxWidth; + GUI.DrawTexture(rect, logo, ScaleMode.ScaleToFit); + } } \ No newline at end of file diff --git a/Assets/AppsFlyer/Editor/appsflyer_logo.png b/Assets/AppsFlyer/Editor/appsflyer_logo.png index 01c2b8ca..4cc30954 100644 Binary files a/Assets/AppsFlyer/Editor/appsflyer_logo.png and b/Assets/AppsFlyer/Editor/appsflyer_logo.png differ diff --git a/Assets/AppsFlyer/Plugins/iOS/AppsFlyeriOSWrapper.mm b/Assets/AppsFlyer/Plugins/iOS/AppsFlyeriOSWrapper.mm index 044cb65a..7fff8426 100644 --- a/Assets/AppsFlyer/Plugins/iOS/AppsFlyeriOSWrapper.mm +++ b/Assets/AppsFlyer/Plugins/iOS/AppsFlyeriOSWrapper.mm @@ -33,7 +33,7 @@ static void unityCallBack(NSString* objectName, const char* method, const char* const void _startSDK(bool shouldCallback, const char* objectName) { [[AppsFlyerLib shared] setPluginInfoWith: AFSDKPluginUnity - pluginVersion:@"6.17.81" + pluginVersion:@"6.17.90" additionalParams:nil]; startRequestObjectName = stringFromChar(objectName); AppsFlyeriOSWarpper.didCallStart = YES; diff --git a/Assets/AppsFlyer/package.json b/Assets/AppsFlyer/package.json index e2602129..dfe38bd6 100644 --- a/Assets/AppsFlyer/package.json +++ b/Assets/AppsFlyer/package.json @@ -2,7 +2,7 @@ "name": "appsflyer-unity-plugin", "displayName": "AppsFlyer", "description": "AppsFlyer Unity plugin", - "version": "6.17.81", + "version": "6.17.90", "unity": "2019.4", "license": "MIT" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dd69312..2ebfd175 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Versions +## v6.17.90 +* Update Android SDK version - 6.17.6 +* Update iOS SDK version - 6.17.9 +* Update iOS Purchase Connector version - 6.17.9 +* Two unity-wrapper variants published: + * v6.17.90 β€” Billing Library 7 (billing:5.2.0) + * v6.17.91 β€” Billing Library 8 (billing:8.0.0) +* Update appsflyer_logo + ## v6.17.81 * Update Android Purchase Connector version - 2.2.0 diff --git a/README.md b/README.md index 6a192403..afe2fda5 100755 --- a/README.md +++ b/README.md @@ -16,24 +16,24 @@ To do so, please follow [this article](https://support.appsflyer.com/hc/en-us/ar ### This plugin is built for -- Android AppsFlyer SDK v6.17.5 +- Android AppsFlyer SDK v6.17.6 - Android Purchase Connector 2.2.0 -- iOS AppsFlyer SDK v6.17.8 -- iOS Purchase Connector 6.17.8 +- iOS AppsFlyer SDK v6.17.9 +- iOS Purchase Connector 6.17.9 --- -## πŸ“Œ Important: Two Versions of Unity Plugin v6.17.7 +## πŸ“Œ Important: Two Versions of Unity Plugin v6.17.9 We have released **two** versions of the AppsFlyer Unity plugin to support teams at different stages of migrating to **Google Play Billing Library v8.0.0**. -### Option A β€” `v6.17.81` (Billing Library v8) +### Option A β€” `v6.17.91` (Billing Library v8) - **What's included:** Support for **Google Play Billing Library 8.0.0** on Android (Android Purchase Connector version - 2.2.0). - **Impact:** This version may introduce **breaking changes** for apps that have **not yet migrated** to the Billing v8 APIs. - **Unity IAP requirement:** If you choose this option, update **Unity IAP (`com.unity.purchasing`) to version 5.0.0 or newer** (we recommend the latest 5.x). Unity IAP 4.x does **not** include Billing v8. -### Option B β€” `v6.17.80` (Billing Library v7) +### Option B β€” `v6.17.90` (Billing Library v7) - **Purpose:** For developers **not ready** to adopt Billing v8. -- **Bundled SDKs:** **iOS SDK 6.17.8** and **Android SDK 6.17.5**. -- **Android Purchase Connector:** Version 2.1.2 +- **Bundled SDKs:** **iOS SDK 6.17.9** and **Android SDK 6.17.6**. +- **Android Purchase Connector:** Version 2.2.0 - **Impact:** Lets you update the AppsFlyer SDKs without changing your existing (pre‑v8) billing integration. --- diff --git a/android-unity-wrapper/gradle.properties b/android-unity-wrapper/gradle.properties index 76dfa60d..a9664f02 100644 --- a/android-unity-wrapper/gradle.properties +++ b/android-unity-wrapper/gradle.properties @@ -20,8 +20,8 @@ android.enableJetifier=true GROUP=com.appsflyer -VERSION_CODE=56 -VERSION_NAME=6.17.81 +VERSION_CODE=58 +VERSION_NAME=6.17.91 POM_ARTIFACT_ID=unity-wrapper POM_PACKAGING=aar diff --git a/android-unity-wrapper/unitywrapper/build.gradle b/android-unity-wrapper/unitywrapper/build.gradle index b174b824..5b90f01b 100644 --- a/android-unity-wrapper/unitywrapper/build.gradle +++ b/android-unity-wrapper/unitywrapper/build.gradle @@ -29,7 +29,7 @@ repositories { dependencies { compileOnly fileTree(dir: 'libs', include: ['*.jar']) compileOnly 'androidx.appcompat:appcompat:1.1.0' - compileOnly 'com.appsflyer:af-android-sdk:6.17.5' + compileOnly 'com.appsflyer:af-android-sdk:6.17.6' compileOnly 'com.appsflyer:purchase-connector:2.2.0' compileOnly 'com.android.billingclient:billing:8.0.0' } diff --git a/android-unity-wrapper/unitywrapper/src/main/java/com/appsflyer/unity/AppsFlyerAndroidWrapper.java b/android-unity-wrapper/unitywrapper/src/main/java/com/appsflyer/unity/AppsFlyerAndroidWrapper.java index 10b0e829..a619d844 100644 --- a/android-unity-wrapper/unitywrapper/src/main/java/com/appsflyer/unity/AppsFlyerAndroidWrapper.java +++ b/android-unity-wrapper/unitywrapper/src/main/java/com/appsflyer/unity/AppsFlyerAndroidWrapper.java @@ -62,7 +62,7 @@ public class AppsFlyerAndroidWrapper { private static final String IN_APP_RESPONSE_CALLBACK = "inAppResponseReceived"; private static final String VALIDATION_CALLBACK = "didReceivePurchaseRevenueValidationInfo"; private static final String ERROR_CALLBACK = "didReceivePurchaseRevenueError"; - private static final String PLUGIN_VERSION = "6.17.81"; + private static final String PLUGIN_VERSION = "6.17.91"; private static final long DDL_TIMEOUT_DEFAULT = 3000; private static AppsFlyerConversionListener conversionListener; diff --git a/appsflyer-unity-plugin-6.17.81.unitypackage b/appsflyer-unity-plugin-6.17.81.unitypackage deleted file mode 100644 index 6bbe974f..00000000 Binary files a/appsflyer-unity-plugin-6.17.81.unitypackage and /dev/null differ diff --git a/appsflyer-unity-plugin-6.17.90.unitypackage b/appsflyer-unity-plugin-6.17.90.unitypackage new file mode 100644 index 00000000..eb1d864b Binary files /dev/null and b/appsflyer-unity-plugin-6.17.90.unitypackage differ diff --git a/deploy/build_unity_package.sh b/deploy/build_unity_package.sh index db97da3d..909af0f1 100644 --- a/deploy/build_unity_package.sh +++ b/deploy/build_unity_package.sh @@ -4,7 +4,7 @@ echo "Start Build for appsflyer-unity-plugin.unitypackage" DEPLOY_PATH=outputs UNITY_PATH="/Applications/Unity/Unity.app/Contents/MacOS/Unity" -PACKAGE_NAME="appsflyer-unity-plugin-6.17.81.unitypackage" +PACKAGE_NAME="appsflyer-unity-plugin-6.17.90.unitypackage" mkdir -p $DEPLOY_PATH #move external dependency manager @@ -29,7 +29,7 @@ mv ../Assets/AppsFlyer/Tests.meta ../Tests_temp.meta 2>/dev/null || true Assets/AppsFlyer \ $PWD/$DEPLOY_PATH/$PACKAGE_NAME \ -quit \ -&& echo "package exported successfully to outputs/appsflyer-unity-plugin-6.17.81.unitypackage" \ +&& echo "package exported successfully to outputs/appsflyer-unity-plugin-6.17.90.unitypackage" \ || echo "Failed to export package. See create_unity_core.log for more info." # Move Tests folder back diff --git a/deploy/strict_mode_build_package.sh b/deploy/strict_mode_build_package.sh index e7840518..7485c5d7 100644 --- a/deploy/strict_mode_build_package.sh +++ b/deploy/strict_mode_build_package.sh @@ -5,7 +5,7 @@ echo "Start Build for appsflyer-unity-plugin.unitypackage. Strict Mode." DEPLOY_PATH=outputs UNITY_PATH="/Applications/Unity/Unity.app/Contents/MacOS/Unity" - PACKAGE_NAME="appsflyer-unity-plugin-strict-mode-6.17.81.unitypackage" + PACKAGE_NAME="appsflyer-unity-plugin-strict-mode-6.17.90.unitypackage" mkdir -p $DEPLOY_PATH #move external dependency manager @@ -46,7 +46,7 @@ mv ../Assets/AppsFlyer/Tests.meta ../Tests_temp.meta 2>/dev/null || true Assets/AppsFlyer \ $PWD/$DEPLOY_PATH/$PACKAGE_NAME \ -quit \ - && echo "package exported successfully to outputs/appsflyer-unity-plugin-strict-mode-6.17.81.unitypackage" \ + && echo "package exported successfully to outputs/appsflyer-unity-plugin-strict-mode-6.17.90.unitypackage" \ || echo "Failed to export package. See create_unity_core.log for more info." # Move Tests folder back diff --git a/docs/Installation.md b/docs/Installation.md index dc6badc1..803e8c34 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -55,10 +55,10 @@ Add this line for the latest version of the regular mode 2. Download and add the required Android dependencies to the Assets/Plugins/Android folder: - 1. [AppsFlyer Android SDK](https://repo1.maven.org/maven2/com/appsflyer/af-android-sdk/6.17.5/af-android-sdk-6.17.5.aar) - 2. [AppsFlyer Unity Wrapper](https://repo1.maven.org/maven2/com/appsflyer/unity-wrapper/6.17.81/unity-wrapper-6.17.81.aar) + 1. [AppsFlyer Android SDK](https://repo1.maven.org/maven2/com/appsflyer/af-android-sdk/6.17.6/af-android-sdk-6.17.6.aar) + 2. [AppsFlyer Unity Wrapper](https://repo1.maven.org/maven2/com/appsflyer/unity-wrapper/6.17.90/unity-wrapper-6.17.90.aar) β€” Billing Library 7, or [unity-wrapper-6.17.91](https://repo1.maven.org/maven2/com/appsflyer/unity-wrapper/6.17.91/unity-wrapper-6.17.91.aar) for Billing Library 8 3. [Google Installreferrer library](https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/2.1) 3. Download and add the required iOS dependencies to the Assets/Plugins/iOS/AppsFlyer folder: - 1. [Download](https://github.com/AppsFlyerSDK/AppsFlyerFramework/releases/tag/6.14.4) the iOS SDK as a static library `AppsFlyerLib.xcframework.zip` + 1. [Download](https://github.com/AppsFlyerSDK/AppsFlyerFramework/releases/tag/6.17.9) the iOS SDK as a static library `AppsFlyerLib.xcframework.zip` 2. Unzip the file you downloaded 3. Drag & drop all the files into the `Assets/Plugins/iOS/AppsFlyer` folder diff --git a/strict-mode-sdk/appsflyer-unity-plugin-strict-mode-6.17.81.unitypackage b/strict-mode-sdk/appsflyer-unity-plugin-strict-mode-6.17.81.unitypackage deleted file mode 100644 index 2658e4f3..00000000 Binary files a/strict-mode-sdk/appsflyer-unity-plugin-strict-mode-6.17.81.unitypackage and /dev/null differ diff --git a/strict-mode-sdk/appsflyer-unity-plugin-strict-mode-6.17.90.unitypackage b/strict-mode-sdk/appsflyer-unity-plugin-strict-mode-6.17.90.unitypackage new file mode 100644 index 00000000..7f2edfb6 Binary files /dev/null and b/strict-mode-sdk/appsflyer-unity-plugin-strict-mode-6.17.90.unitypackage differ