Giter Site home page Giter Site logo

yandexmobile / metrica-plugin-unity Goto Github PK

View Code? Open in Web Editor NEW
38.0 12.0 18.0 228 KB

Unity plugin for Yandex AppMetrica SDK

C# 79.70% Objective-C 19.87% Java 0.42%
mobile analytics ios andriod unity unity-3d unity-asset plugin opensource mobile-analytics

metrica-plugin-unity's Introduction

🚀 Project Moved to New Repository! 🚀

The plugin has moved to a new repository! To get the latest updates, contribute, or report issues, please visit our new repository.


AppMetrica - Unity Plugin

License

License agreement on use of Yandex AppMetrica SDK is available at EULA site.

Documentation

Documentation could be found at AppMetrica official site.

Changelog

Version 5.2.0

  • Updated native SDKs (iOS 4.4.0, Android 5.2.0)
  • Supported AdRevenue
  • Added class YandexAppMetricaAdRevenue
  • Added a method to report ad revenue ReportAdRevenue(YandexAppMetricaAdRevenue adRevenue)

Version 5.1.0

  • Updated native SDKs (Android 5.0.1)
  • Exceptions from Application.logMessageReceived are sent as errors

Version 5.0.0

  • Updated native SDKs (Android 5.0.0)
  • Removed LocationService.Start call
  • Removed use of APP_METRICA_TRACK_LOCATION_DISABLED define

Version 4.3.0

  • Updated native SDKs (iOS 4.2.0, Android 4.2.0)
  • Supported EDM4U for dependency resolution
  • Crash handling improved
  • Added methods for error reporting ReportError(Exception exception, string condition), ReportErrorFromLogCallback(string condition, string stackTrace)
  • Added method for crash reporting ReportUnhandledException(Exception exception)
  • Deprecared methods ReportError(string condition, string stackTrace). Use the ReportError(Exception exception, string condition) instead
  • ReportError(string groupIdentifier, string condition, string stackTrace). Use the ReportError(string groupIdentifier, string condition, Exception exception) instead

Version 4.2.0

  • Fixed a problem with uploading app in AppStore (YandexMobileMetrica.framework/YandexMobileMetrica' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles.)

Version 4.1.0

  • Updated native SDKs (Android 4.1.1)

Version 4.0.0

  • Updated native SDKs (iOS 4.0.0, Android 4.0.0)
  • Remove InstalledAppCollecting from YandexAppMetricaConfig
  • Added property RevenueAutoTrackingEnabled to YandexAppMetricaConfig for disable auto tracking revenue
  • Added dependency from Install Referrer Library v2.2

Version 3.8.0

  • Updated native SDKs (iOS 3.16.0, Android 3.21.1)
  • Added a method for requesting access to IDFA

Version 3.7.0

  • Updated native SDKs (iOS 3.14.0, Android 3.18.0)
  • Added a method to report event with json string value
  • Added a method to set error environment
  • Added a method to report error with identifier

Version 3.6.0

  • Updated native SDKs (iOS 3.11.1, Android 3.14.3)
  • Added the configuration property AppForKids for applications from App Store Kids' Category.

Version 3.5.1

  • Added a method to report referral url
  • Added a method to report open url
  • Added property PriceDecimal to YandexAppMetricaRevenue. Use it instead of deprecated Price
  • Simplified connection of the iAd framework for iOS

Version 3.5.0

  • Updated native SDKs (iOS 3.9.4, Android 3.13.1)

Version 3.4.0

  • Updated native SDKs (iOS 3.7.1, Android 3.6.4)

Version 3.3.0

  • Updated native SDKs (iOS 3.6.0, Android 3.6.0)

Version 3.2.0

  • Updated native SDKs (iOS 3.4.0, Android 3.4.0)
  • Fixed AppMetrica dependency integration

Version 3.1.0

  • Updated native SDKs (iOS 3.2.0, Android 3.2.2)
  • Added a method to disable statistics sending.
  • Added a method to retrieve the AppMetrica device ID.
  • Added a method to force stored events sending.

Version 3.0.1

  • Updated native iOS SDK 3.1.2

Version 3.0.0

  • Updated native SDKs (iOS 3.1.1, Android 3.1.0)
  • Added user profiles
  • Added revenue tracking
  • Unified and revised the API

Version 2.1

  • Updated native SDKs (iOS 2.9.8)

Version 2.0.0

  • Updated native SDKs (iOS 2.7.0, Android 2.62)
  • Fixed plugin files structure: everything moved into Assets/AppMetrica
  • Added method for activation configuration updates handling (for AppMetrica Push SDK Unity Plugin)

Version 1.20

  • Updated native SDKs (iOS 2.5.1, Android 2.42)

Version 1.10

  • Updated native SDKs (iOS 2.4.0, Android 2.40)
  • Fixed critical iOS problems (bitcode support, protobuf lib related crash)
  • Added availability to disable location gathering with compiler directive APP_METRICA_TRACK_LOCATION_DISABLED

Version 1.0

  • Initial release with iOS and Android native SDK (iOS 2.0, Android 2.0)

Notice

The directory MetricaPluginSample includes sample with plugin for Unity 5+. You should copy file Other/Unity.iOS.Extensions.Xcode.dll into MetricaPluginSample/Assets/YandexMobileMetrica/Editor to launch sample for Unity 4.

metrica-plugin-unity's People

Contributors

alexklints avatar bamx23 avatar dreamcodestudio avatar nesterovichalexey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metrica-plugin-unity's Issues

Unity with iOS target (and probably other platforms) ReportEvent with parameters forces Boxing Allocations

Hi @NesterovichAlexey

To use ReportEvent with parameters forces a Dictionary<string, object> which means there will always be boxing allocations to convert to object.

Since it passes the dictionary to ymm_reportEventWithParameters (message, JsonStringFromDictionary (parameters)) internally could we have another non-allocating method exposed please? one that accepts a json string that we created?

for example something like:

public override void ReportEvent (string message, string parametersJsonString)
    {
        ymm_reportEventWithParameters (message, parametersJsonString);
    }

then we could generate our own JSON string without alloc via another library or whatever.

If you like this idea but are too busy to implement please let me know and I will submit pull request!

AndroidJavaException: java.lang.NoClassDefFoundError

  1. Create empty unity android project
  2. Import AppMetrica
  3. Import External Dependency Manager
  4. Enable "Custom Main Gradle Template" in Player Settings/Publishing Settings
  5. Resolve dependencies on Assets/External Dependency Manager/Android Resolver/Forse Resolve
  6. Run Build
  • Unity version 2020.3.26f1
  • AppMetrica version 4.1.0
  • External Dependency Manager version 1.2.168
2022-01-18 20:44:36.180 12970-12993/? E/Unity: AndroidJavaException: java.lang.NoClassDefFoundError: com.yandex.metrica.impl.ob.uf
    java.lang.NoClassDefFoundError: com.yandex.metrica.impl.ob.uf
        at com.yandex.metrica.impl.ob.uf.a(SourceFile:1)
        at com.yandex.metrica.YandexMetrica.resumeSession(SourceFile:1)
        at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
        at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
        at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:255)
        at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
        at com.yandex.metrica.impl.ob.d0.<init>(SourceFile:9)
        at com.yandex.metrica.impl.ob.d0.<init>(Unknown Source:2)
        at com.yandex.metrica.impl.ob.X.<init>(SourceFile:17)
        at com.yandex.metrica.impl.ob.X.<init>(SourceFile:7)
        at com.yandex.metrica.impl.ob.X.g(SourceFile:5)
      at com.yandex.metrica.impl.ob.u

ANR problrm with Android

I get a lot of reports related to AppTetris

#00 pc 000000000003b008 /system/lib/libc.so (fsync+12)
#00 pc 000000000001ef43 /system/lib/libjavacore.so (???)
#00 pc 0000000000072d5f /system/framework/arm/boot.oat (Java_libcore_io_Posix_fsync__Ljava_io_FileDescriptor_2+102)
at libcore.io.Posix.fsync (Native method)
at libcore.io.BlockGuardOs.fsync (BlockGuardOs.java:143)
at java.io.FileDescriptor.sync (FileDescriptor.java:74)
at android.os.FileUtils.sync (FileUtils.java:152)
at android.app.SharedPreferencesImpl.writeToFile (SharedPreferencesImpl.java:598)
at android.app.SharedPreferencesImpl.access$800 (SharedPreferencesImpl.java:51)
at android.app.SharedPreferencesImpl$2.run (SharedPreferencesImpl.java:512)
at android.app.SharedPreferencesImpl.enqueueDiskWrite (SharedPreferencesImpl.java:533)
at android.app.SharedPreferencesImpl.access$100 (SharedPreferencesImpl.java:51)
at android.app.SharedPreferencesImpl$EditorImpl.commit (SharedPreferencesImpl.java:455)
at com.safedk.android.utils.PersistentConcurrentHashMap.b (SourceFile:142)
at com.safedk.android.utils.PersistentConcurrentHashMap.d (SourceFile:231)
at com.safedk.android.utils.PersistentConcurrentHashMap. (SourceFile:37)
at com.safedk.android.analytics.brandsafety.creatives.discoveries.h. (SourceFile:106)
at com.safedk.android.analytics.brandsafety.creatives.CreativeInfoManager.init (SourceFile)
at com.safedk.android.analytics.brandsafety.creatives.CreativeInfoManager. (SourceFile:202)
at com.safedk.android.SafeDK.b (SourceFile:625)
at com.safedk.android.SafeDK.a (SourceFile:262)
at com.safedk.android.internal.DexBridge.providerOnCreateBefore (SourceFile:52)
at com.yandex.metrica.PreloadInfoContentProvider.onCreate (SourceFile)
at android.content.ContentProvider.attachInfo (ContentProvider.java:1723)
at android.content.ContentProvider.attachInfo (ContentProvider.java:1692)
at android.app.ActivityThread.installProvider (ActivityThread.java:5674)
at android.app.ActivityThread.installContentProviders (ActivityThread.java:5269)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5209)
at android.app.ActivityThread.access$1600 (ActivityThread.java:181)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1535)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:145)
at android.app.ActivityThread.main (ActivityThread.java:6117)
at java.lang.reflect.Method.invoke! (Native method)
at java.lang.reflect.Method.invoke (Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1194)

Unable to start service Intent

Hi! Got this error when building on Unity 2017.3:
173 W ActivityManager: Unable to start service Intent { act=com.yandex.metrica.IMetricaService dat=metrica://com.herocraft.game.free.taptapbuilder flg=0x20 pkg=com.herocraft.game.free.taptapbuilder (has extras) } U=0: not found

Assets\AppMetrica\Plugins\Android\AndroidManifest.xml contains service definition but the resulting manifest after build (from /Temp folder) doesn't contain it. So I have to add this service definition to main app manifest and it works.

Please note that there are no manifest instructions in plugin setup main page anymore.

Crashing app on android - wrong api key.

When api key is not correct - app crashes on launch.
Appmetrica logging disabled.
I do not think it's good and expected behaviour from plugin. Silent warning in output (console) will be better instead of crashing.

java.lang.OutOfMemoryError

Unity version - 2020.3.26f1
EDM version - 1.2.170
Firebase Cloud Messaging - 8.9.0
Applovin MAX - 5.4.3
Yandex adapter for applovin - 4.5.0.3
target SDK version - 30

Очень большое количество OutOfMemoryError возникает судя по всему из-за com.yandex.metrica, хотя отдельно она в проект не внедрена, похоже, что она подтягивается вместе с адаптером yandex от applovin. Ниже приведены логи крашей собранные из Google Play Console. Сейчас доступен адаптер 5.1.1.0 но он не позволяет собирать под target SDK 30, переход на 31й target SDK, к сожалению сейчас не возможен

Lenovo TAB4 8 Plus - Android 7.1 (SDK 25)
Samsung Galaxy M12 - Android 11 (SDK 30)

java.lang.OutOfMemoryError: 
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:125)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:54)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:46)
  at com.yandex.metrica.impl.ob.j1.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u0.a (SourceFile:20)
  at com.yandex.metrica.impl.ob.u0.<init> (SourceFile:95)
  at com.yandex.metrica.impl.ob.b2.b (SourceFile:6)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:74)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.os.HandlerThread.run (HandlerThread.java:67)

POCO X3 Pro - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at java.util.Arrays.copyOf (Arrays.java:3257)
  at java.lang.AbstractStringBuilder.ensureCapacityInternal (AbstractStringBuilder.java:124)
  at java.lang.AbstractStringBuilder.append (AbstractStringBuilder.java:448)
  at java.lang.StringBuilder.append (StringBuilder.java:137)
  at org.json.JSONStringer.beforeValue (JSONStringer.java:425)
  at org.json.JSONStringer.value (JSONStringer.java:250)
  at org.json.JSONObject.writeTo (JSONObject.java:740)
  at org.json.JSONObject.toString (JSONObject.java:708)
  at com.yandex.metrica.impl.ob.m1.e (SourceFile:13)
  at com.yandex.metrica.impl.ob.m1.d (SourceFile:1)
  at com.yandex.metrica.impl.ob.qf.a (SourceFile:78)
  at com.yandex.metrica.impl.ob.ub.b (SourceFile:13)
  at com.yandex.metrica.impl.ob.ub.a (SourceFile:10)
  at com.yandex.metrica.impl.ob.ub.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.ec.a (SourceFile:16)
  at com.yandex.metrica.impl.ob.ec.d (SourceFile:16)
  at com.yandex.metrica.impl.ob.ec.c (SourceFile:1)
  at com.yandex.metrica.impl.ob.b8.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.la.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.o9$a.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.o9$a.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.h9.a (SourceFile:7)
  at com.yandex.metrica.impl.ob.o9.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.k7.a (SourceFile:12)
  at com.yandex.metrica.impl.ob.y7.a (SourceFile:11)
  at com.yandex.metrica.impl.ob.u8.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.h8.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.p4.run (SourceFile:24)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:210)
  at android.os.Looper.loop (Looper.java:299)
  at android.os.HandlerThread.run (HandlerThread.java:67)

POCO X3 Pro - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at libcore.util.CharsetUtils.toUtf8Bytes (Native Method)
  at java.lang.String.getBytes (String.java:946)
  at java.lang.String.getBytes (String.java:914)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:16)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:8)
  at com.yandex.metrica.impl.ob.wt.a (SourceFile:4)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:20)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:10)
  at com.yandex.metrica.impl.ob.tt.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.e.b (SourceFile:8)
  at com.yandex.metrica.impl.ob.e.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:70)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:210)
  at android.os.Looper.loop (Looper.java:299)
  at android.os.HandlerThread.run (HandlerThread.java:67)

Samsung Galaxy S20 FE 5G - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at com.yandex.metrica.impl.ob.e.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:70)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.os.HandlerThread.run (HandlerThread.java:67)

Lenovo TAB4 8 Plus - Android 7.1 (SDK 25)

java.lang.OutOfMemoryError: 
  at java.lang.StringFactory.newStringFromChars (StringFactory.java:218)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:203)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:53)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:45)
  at com.yandex.metrica.impl.ob.j1.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u0.a (SourceFile:20)
  at com.yandex.metrica.impl.ob.u0.<init> (SourceFile:95)
  at com.yandex.metrica.impl.ob.b2.b (SourceFile:6)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:74)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.os.HandlerThread.run (HandlerThread.java:61)

Samsung Galaxy S20 FE 5G - Android 12 (SDK 31)
Samsung Galaxy A12 - Android 11 (SDK 30)

java.lang.OutOfMemoryError: 
  at java.lang.Integer.parseInt (Integer.java:615)
  at java.lang.Integer.parseInt (Integer.java:650)
  at android.content.res.ResourcesImpl.getIdentifier (ResourcesImpl.java:282)
  at android.content.res.Resources.getIdentifier (Resources.java:2275)
  at com.yandex.metrica.impl.ob.w4.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.c2.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.n0.a (SourceFile:23)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:3)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.os.HandlerThread.run (HandlerThread.java:67)

realme 9 Pro+ - Android 12 (SDK 31)
Samsung Galaxy M12 - Android 11 (SDK 30)

java.lang.OutOfMemoryError: 
  at com.yandex.metrica.impl.ob.ee.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.de.a (SourceFile:5)
  at com.yandex.metrica.impl.ob.ge.a (SourceFile:6)
  at com.yandex.metrica.impl.ob.ge.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.he.a (SourceFile:4)
  at com.yandex.metrica.impl.ob.he.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.zd.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.ce.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:69)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.os.HandlerThread.run (HandlerThread.java:67)

Samsung Galaxy M12 - Android 11 (SDK 30)
Samsung Galaxy S20 FE 5G - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at android.util.Base64.encode (Base64.java:536)
  at android.util.Base64.encode (Base64.java:496)
  at com.yandex.metrica.impl.ob.j1.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u0.a (SourceFile:20)
  at com.yandex.metrica.impl.ob.u0.<init> (SourceFile:95)
  at com.yandex.metrica.impl.ob.b2.b (SourceFile:6)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:74)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.os.HandlerThread.run (HandlerThread.java:67)

NullPointerException (Nomi ULTRA3 LTE only)

I've got a few hundreds of crashes in google play on the device Nomi ULTRA3 LTE (Nomi_C101030), Android 7.0 last day

Nomi ULTRA3 LTE (Nomi_C101030), Android 7.0

java.lang.NullPointerException:
at com.yandex.metrica.impl.ak.d (SourceFile:6205)
at com.yandex.metrica.impl.ak$a.run (SourceFile:380)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
at java.lang.Thread.run (Thread.java:761)

Не загружает приложение в appstore

Добрый день.
обновил сдк аппметрики под Unity до версии 4.1.0, приложение собирает под IOS, но при Upload выдает такое:
YandexMobileMetricaCrashes.framework/YandexMobileMetricaCrashes' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles.

YandexMobileMetrica.framework/YandexMobileMetrica' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles.

Причем, на этапе App Store Connect distribution options надо снимать галку с Upload your app's symbols, иначе ошибка с Symbols вылезет на этом шаге.

Version 3.18.0 required

10% of devices with android api level 30 have crash on start up.
I think version 3.18.0 of android plugin is required to fix that

`
java.lang.SecurityException: getSerial: The user 10249 does not meet the requirements to access device identifiers.
FATAL EXCEPTION: YMM-NC[]-15

java.lang.SecurityException: getSerial: The user 10249 does not meet the requirements to access device identifiers.
at android.os.Parcel.createExceptionOrNull(Parcel.java:2373)
at android.os.Parcel.createException(Parcel.java:2357)
at android.os.Parcel.readException(Parcel.java:2340)
at android.os.Parcel.readException(Parcel.java:2282)
at android.os.IDeviceIdentifiersPolicyService$Stub$Proxy.getSerialForPackage(IDeviceIdentifiersPolicyService.java:162)
at android.os.Build.getSerial(Build.java:175)
at com.yandex.metrica.impl.ob.lt.a(SourceFile:60)
at com.yandex.metrica.impl.ob.lt.(SourceFile:48)
at com.yandex.metrica.impl.ob.ls.a(SourceFile:45)
at com.yandex.metrica.impl.ob.sd.a(SourceFile:304)
at com.yandex.metrica.impl.ob.ca.a(SourceFile:63)
at com.yandex.metrica.impl.ob.bi.b(SourceFile:27)
at com.yandex.metrica.impl.ob.cc.b(SourceFile:78)
at com.yandex.metrica.impl.ob.bh.a(SourceFile:92)
at com.yandex.metrica.impl.ob.bh.run(SourceFile:75)
at com.yandex.metrica.impl.ob.ur.execute(SourceFile:18)
at com.yandex.metrica.impl.ob.vd.execute(SourceFile:15)
at com.yandex.metrica.impl.ob.bb.run(SourceFile:90)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.internal.telephony.TelephonyPermissions.reportAccessDeniedToReadIdentifiers(TelephonyPermissions.java:381)
at com.android.internal.telephony.TelephonyPermissions.checkPrivilegedReadPermissionOrCarrierPrivilegePermission(TelephonyPermissions.java:323)
at com.android.internal.telephony.TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(TelephonyPermissions.java:257)
at com.android.internal.telephony.TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(TelephonyPermissions.java:233)
at com.android.server.os.DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy.getSerialForPackage(DeviceIdentifiersPolicyService.java:68)
`

Need IsActivated() method

How can I check if it is already possible to send events? Now, when sending events early, the application throws an exception. Need IsActivated() method.

Can't build iOS app (latest Unity 2018, xcode 10.2, plugin 3.3.0)

Привет! У меня не получается собрать проект с вашим плагином в xcode. Проект на последней версии Unity 2018, xcode тоже последней версии. При сборке в xcode получаю такие ошибки (как для armv7, так и для arm64). Deployment Target пробовал и 9, и 10, и 12.2.

Использовался плагин метрики последней версии (3.3.0). Удается собрать, если вручную добавить libz и CoreLocation в Build Phases. Тем не менее, приложение крашится при запуске.
После отката на плагин версии 3.2.2 (под вопросом, см. ниже) все собирается автоматически (без ручных добавлений) и запускается без проблем.

BTW подскажите, как определить версию плагина в Unity? Не нашел никаких признаков, кроме упоминания версии в файле в mobmetricalib-3.6.0.aar.meta (при том, что плагин скачивался версии 3.3.0). После отката на версию с mobmetricalib-3.2.2.aar.meta все собралось, залилось и опубликовалось в App Store.

Undefined symbols for architecture armv7:

  "_inflateInit2_", referenced from:

      -[YMMGZipDataEncoder decodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _z_inflateInit2_, _il2cpp_z_inflateInit2_ )

  "_inflateEnd", referenced from:

      -[YMMGZipDataEncoder decodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _unity_z_inflateEnd, _il2cpp_z_inflateEnd )

  "_deflate", referenced from:

      -[YMMGZipDataEncoder encodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _unity_z_deflate_copyright, _unity_z_deflateTune , _unity_z_deflatePrime , _unity_z_deflateGetDictionary , _unity_z_deflateSetDictionary , _unity_z_deflateParams , _z_deflateInit_ , _il2cpp_z_deflateCopy , _il2cpp_z_deflateBound , _il2cpp_z_deflateParams , _il2cpp_z_deflatePending , _il2cpp_z_deflateGetDictionary , _il2cpp_z_deflateSetDictionary , _il2cpp_z_deflateResetKeep , _il2cpp_z_deflateReset , _il2cpp_z_deflateInit_ , _unity_z_deflatePending , _il2cpp_z_deflateTune , _unity_z_deflateSetHeader , _il2cpp_z_deflate_copyright , _il2cpp_z_deflate , _il2cpp_z_deflateInit2_ , _il2cpp_z_deflateEnd , _z_deflateInit2_ , _il2cpp_z_deflateSetHeader , _unity_z_deflateEnd , _unity_z_deflate , _unity_z_deflateCopy , _unity_z_deflateResetKeep , _unity_z_deflateReset , _unity_z_deflateBound , _il2cpp_z_deflatePrime )

  "_deflateEnd", referenced from:

      -[YMMGZipDataEncoder encodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _il2cpp_z_deflateEnd, _unity_z_deflateEnd )

  "_CLLocationCoordinate2DMake", referenced from:

      -[YMMEvent restoreFromResultSet:] in YandexMobileMetrica(YMMEvent.o)

  "_kCLLocationAccuracyNearestTenMeters", referenced from:

      -[YMMLocationManager configureLocationManager] in YandexMobileMetrica(YMMLocationManager.o)

  "_OBJC_CLASS_$_CLLocationManager", referenced from:

      objc-class-ref in YandexMobileMetrica(YMMLocationManager.o)

  "_deflateInit2_", referenced from:

      -[YMMGZipDataEncoder encodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _il2cpp_z_deflateInit2_, _z_deflateInit2_ )

  "_deflateBound", referenced from:

      -[YMMGZipDataEncoder encodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _il2cpp_z_deflateBound, _unity_z_deflateBound )

  "_inflate", referenced from:

      -[YMMGZipDataEncoder decodeData:error:] in YandexMobileMetrica(YMMGZipDataEncoder.o)

     (maybe you meant: _unity_z_inflate_copyright, _unity_z_inflateCodesUsed , _unity_z_inflateUndermine , _unity_z_inflateCopy , _unity_z_inflateSyncPoint , _unity_z_inflateSync , _unity_z_inflateSetDictionary , _unity_z_inflateGetDictionary , _unity_z_inflatePrime , _il2cpp_z_inflate_copyright , _z_inflateInit_ , _unity_z_inflate_fast , _unity_z_inflateBack , _il2cpp_z_inflateCodesUsed , _il2cpp_z_inflateValidate , _il2cpp_z_inflateSync , _il2cpp_z_inflate_fast , _il2cpp_z_inflateInit_ , _il2cpp_z_inflateReset , _il2cpp_z_inflateResetKeep , _z_inflateInit2_ , _unity_z_inflateReset2 , _png_zlib_inflate , _unity_z_inflateEnd , _unity_z_inflate , _il2cpp_method_is_inflated , _il2cpp_class_is_inflated , _unity_z_inflateValidate , _il2cpp_z_inflateMark , _il2cpp_z_inflate , _il2cpp_z_inflateInit2_ , _unity_z_inflateMark , _il2cpp_z_inflateGetHeader , _unity_z_inflateReset , _InfTree_inflate_trees_dynamic_m6B0968A8D9D17B2C22D56B927C248BCF5545C530_MetadataUsageId , __Z27scripting_class_is_inflated17ScriptingClassPtr , _unity_z_inflateResetKeep , _InfTree_inflate_trees_bits_mA1E84C3B056A8247DB5DFAA25439685FE7BABD2C , _il2cpp_z_inflateSetDictionary , _il2cpp_z_inflate_table , _il2cpp_z_inflateReset2 , _unity_z_inflateBackEnd , _il2cpp_z_inflatePrime , _InfTree_inflate_trees_fixed_mA329E92666D2BE83B7D902794B3E176820983919_MetadataUsageId , _il2cpp_z_inflateCopy , _unity_z_inflateBackInit_ , _InfTree_inflate_trees_fixed_mA329E92666D2BE83B7D902794B3E176820983919 , _InfTree_inflate_trees_dynamic_m6B0968A8D9D17B2C22D56B927C248BCF5545C530 , _il2cpp_z_inflateEnd , _unity_z_inflateGetHeader , _unity_z_inflate_table , _InfTree_inflate_trees_bits_mA1E84C3B056A8247DB5DFAA25439685FE7BABD2C_MetadataUsageId , _il2cpp_z_inflateGetDictionary , _il2cpp_z_inflateUndermine , _il2cpp_z_inflateSyncPoint )

  "_kCLLocationAccuracyHundredMeters", referenced from:

      -[YMMLocationManager configureLocationManager] in YandexMobileMetrica(YMMLocationManager.o)

  "_OBJC_CLASS_$_CLLocation", referenced from:

      objc-class-ref in YMMBridge.o

      objc-class-ref in YandexMobileMetrica(YMMEvent.o)

ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

iOS: ApplovinMediationYandexAdapter 4.4.2.1 doesn't completable with YandexMobileMetrica 4.0

image

For some reason, Xcode doesn't compile code with new Appmetrica adapter when you do not specify version in pod file:
image
Those new fields were added in AppMetrica 4.0 version.

But when you specify AppMetrica version in pod file: pod 'YandexMobileMetrica', 4.0.0 it causes the problem that is described on the first screen: Adapter doesn't support version 4.0 or higher.

Update library

Please update library, or write manual how to update manually from ios and android repositories.

Appmetrica does not send any data to server

I integrated Appmetrica according to the documentation.

In the android game, nothing is being sent to the server. It looks like I did not send any data, a fresh empty project without any user.
I double checked API key, it is correct.

YandexAppMetricaAndroid class is being initialized, metricaClass inside it is not null.

Here what I have in the adb logcat:

04-29 01:54:59.524: I/AppMetrica(20634): Initializing of Metrica, Release type, Version 2.62, API Level 52, Dated 30.12.2016.

04-29 01:54:59.638: W/ActivityManager(1329): Unable to start service Intent { act=com.yandex.metrica.IMetricaService dat=metrica://com.smmpartizan.airborneracer flg=0x20 pkg=com.smmpartizan.airborneracer (has extras) } U=0: not found

iOS 14.5

Please update Unity SDK for ios 14.5.

Building error (with appodeal)

Can't build android app, in project i use highest yandex-metrica, one signal, appodeal. Tried in Unity 2017.4.22f1 LTS, now tying in 2018.3.6f1.

Firstly there was erro with manifest merging. Fixed it somehow, now i see this error.
Log
Screenshot

AppMetrica with yandex plugin for Max sdk doesn't build for iOS

I'm using AppMetrica 4.3.0 and Yandex for AppLovin (Yandex version is 4.4.2.3 and max SDK version is 5.4.3)
But I can't build it for iOS, using pod install the error is :

[!] CocoaPods could not find compatible versions for pod "YandexMobileMetrica":
  In Podfile:
    AppLovinMediationYandexAdapter (= 4.4.2.3) was resolved to 4.4.2.3, which depends on
      YandexMobileAds (= 4.4.2) was resolved to 4.4.2, which depends on
        YandexMobileAds/Static (= 4.4.2) was resolved to 4.4.2, which depends on
          YandexMobileMetrica (< 4.0.0, >= 3.14.1)

    YandexMobileMetrica (= 4.2.0)

Cant build IOs app.

Building as .xworkspace project.
Error Use of undeclared identifier 'stackTraceElement'
image

AppMetrica version 5.0.1

MMStackTraceElement *ymm_stackTraceElementFromJsonDictionary(NSDictionary *dict)
{
if (dict == nil) {
return nil;
}

YMMStackTraceElement *stackTraceElement = [[YMMStackTraceElement alloc] init];

if (dict[@"ClassName"] != nil) {
    stackTraceElement.className = (NSString *)dict[@"ClassName"];
}
if (dict[@"MethodName"] != nil) {
    stackTraceElement.methodName = (NSString *)dict[@"MethodName"];
}
if (dict[@"FileName"] != nil) {
    stackTraceElement.fileName = (NSString *)dict[@"FileName"];
}
if (dict[@"Line"] != nil) {
    stackTraceElement.line = [[NSNumber alloc] initWithInt:[dict[@"Line"] intValue]];
}
if (dict[@"Column"] != nil) {
    stackTraceElement.column = [[NSNumber alloc] initWithInt:[dict[@"Column"] intValue]];
}

return stackTraceElement;

}

Your app includes non-compliant SDK version (v4.3.0)

Hello,

Our app now in release with AppMetrica Unity SDK 4.3.0 version and we get this message from Google Play Store

Your app com.application.package.name version code 21 includes SDK com.yandex.android:mobmetricalib or an SDK that one of your libraries depends on, which by default requests device location without any programmatic method to verify that end-user consent information has been obtained by the app. Apps with SDKs that collect any personal and sensitive data without disclosure and consent are in violation of Play policies.
This SDK can result in your app violating the prominent disclosure and consent and/or approved purpose requirements of Google Play's User data and Permissions and APIs that access sensitive information policies. If in violation, your app may be subject to enforcement including removal from the Play Store and new app submissions being blocked from release.
IMPORTANT: TAKE ACTION NOW TO REDUCE RISK OF VIOLATIONS
Verify that your app accesses, collects, uses and shares (including with SDKs) device location only for approved purposes and in compliance with the applicable prominent disclosure and consent requirements of the above-mentioned policies. Do not enable SDK data collection if it violates these requirements.
Even if the SDK collects device location in order to serve policy-compliant ads, the app must have a primary user-facing feature that utilises device location, which may never be acquired for the sole purpose of serving ads.
If your app meets the above-mentioned policy requirements, move to an alternative SDK or version which includes the appropriate technical mechanism to ensure that end-user consent information collected by apps is honoured.
According to the information provided by your SDK provider, you may consider upgrading to 5.0.0.
Please consult the SDK provider for further information. Google is unable to endorse or recommend any third-party software.
Here are details on how to resubmit an updated app for review. If you do not deactivate the at-risk APK, all your live APKs may be removed due to this APK.
Also, visit Google Play SDK Index for more information regarding registered SDKs, their data collection and sharing practices, and sensitive permissions used.
If you've reviewed the policy and feel that our decision may have been in error, please contact our policy support team.

Can you please update Android native library to latest version in Unity SDK?

Thanks.

iOS build failing: Missing signing identifier

Missing signing identifier at "/var/folders/4w/84ry107136n38gf5hlrrjfb40000gn/T/XcodeDistPipeline.~~~Ed7hM4/Root/Payload/gravity-defy.app/Frameworks/UnityFramework.framework/YandexMobileMetrica.framework/YandexMobileMetrica".

Failed to cloud sign "/var/folders/4w/84ry107136n38gf5hlrrjfb40000gn/T/XcodeDistPipeline.~~~Ed7hM4/Root/Payload/gravity-defy.app/Frameworks/UnityFramework.framework/YandexMobileMetrica.framework/YandexMobileMetrica". Please file a bug report at https://feedbackassistant.apple.com.

Crash in com.yandex.metrica.impl.ob.ro.a on Android (Unity 3D)

Hi. We use appmetric SDK in our Unity 3D game, version 5.0.0. 25% of all crashes are crashes of appmetric'a. I'm attaching the stacktrace.

Yes, we understand what is written in the stack trace. But it's guaranteed that firstly we initialize appmetrica SDK and only then access any of its methods.

IMPORTANT. When the library version was 4.2.0 this crash didn't happen. In projects where we also use the appmetrica (we have one integration for all our projects) and version 4.2.0 we don't see crashes. It appeared only after upgrade to 5.0.0.

There seems to be one thread on the internet that is similar to our case:
#25

My question is. How can we fix the crash now? We can't downgrade because Google Play requires version 5.0.0, otherwise it says that we violate its policies.

Thank you.

Impossible to build iOS application with SDK 3.1.2 and 2.9.8

Showing Recent Issues
ld: file is universal (5 slices) but does not contain a(n) arm64 slice: /Volumes/SSD2/xxxx_builds/build_01082018/Frameworks/Sources/Gizmo/third_party/AppMetrica/Plugins/iOS/YandexMobileMetrica.framework/YandexMobileMetrica file ‘/Volumes/SSD2/xxxx_builds/build_01082019/Frameworks/Sources/Gizmo/third_party/AppMetrica/Plugins/iOS/YandexMobileMetrica.framework/YandexMobileMetrica’ for architecture arm64

Switching to ARM64 architecture from Universal doesn't help.

Updating unity plugin

Hi!
I see android plugin version is 2.60 (22-Nov-2016). And the last commit in this repo was 6 month ago. Can you update unity plugin?

Не собирает на ios

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c99 -fobjc-arc -gmodules -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wdeprecated-implementations -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk -fno-objc-exceptions -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -miphoneos-version-min=7.0 -g -fvisibility=hidden -Wno-sign-conversion -Wno-infinite-recursion -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -fembed-bitcode -iquote /Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Pipes-generated-files.hmap -I/Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Pipes-own-target-headers.hmap -I/Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Pipes-all-target-headers.hmap -iquote /Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Pipes-project-headers.hmap -I/Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/BuildProductsPath/Release-iphoneos/include -I/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Classes -I/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios -I/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Classes/Native -I/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Libraries/bdwgc/include -I/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Libraries/libil2cpp/include -I/Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/DerivedSources/armv7 -I/Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/DerivedSources -F/Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/BuildProductsPath/Release-iphoneos -F/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Frameworks/Services/AppMetrica/Plugins/iOS -F/Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/UnityAds -DINIT_SCRIPTING_BACKEND=1 -fno-strict-overflow -DRUNTIME_IL2CPP=1 -include /Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/PrecompiledHeaders/Prefix-dgvrfhwwuutvuegvfzyxnxzydcoy/Prefix.pch -MMD -MT dependencies -MF /Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/YMMBridge.d --serialize-diagnostics /Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/YMMBridge.dia -c /Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Libraries/Services/AppMetrica/Plugins/iOS/YMMBridge.m -o /Users/mac2/Library/Developer/Xcode/DerivedData/Unity-iPhone-alvmxycxzwlgxzfowryrxvtojmit/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/YMMBridge.o [13:13:19]: ▸ /Users/mac2/builds/b12c593c/0/games/pipes/Build-ios/Libraries/Services/AppMetrica/Plugins/iOS/YMMBridge.m:3:9: fatal error: 'YandexMobileMetrica/YandexMobileMetrica.h' file not found [13:13:19]: ▸ #import <YandexMobileMetrica/YandexMobileMetrica.h> [13:13:19]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

fatal error: 'YandexMobileMetrica/YandexMobileMetrica.h' file not found

Manifests conflicts

Install yandex-metric to Unity. At building to Android process I have an error.

"C:\Users\iderevitskiy\Documents\Party_Monster\Temp\gradleOut\src\main\AndroidManifest.xml:42:17-35 Error:
Attribute meta-data#metrica:api:level@value value=(72) from [:mobmetricalib-3.4.0:] AndroidManifest.xml:42:17-35
is also present at [:yandex-metrica] AndroidManifest.xml:27:17-35 value=(70).
Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml to override.
C:\Users\iderevitskiy\Documents\Party_Monster\Temp\gradleOut\src\main\AndroidManifest.xml:47:13-37 Error:
Attribute service#com.yandex.metrica.ConfigurationService@exported value=(false) from [:mobmetricalib-3.4.0:] AndroidManifest.xml:47:13-37
is also present at [:yandex-metrica] AndroidManifest.xml:32:13-36 value=(true).
Suggestion: add 'tools:replace="android:exported"' to element at AndroidManifest.xml:44:9-60:19 to override."

Return sending exceptions to Error Analytics

Return sending exceptions to Error Analytics
Appmetrica for Unity 5.0 sending exceptions to Crash Analytics

So i can't understand which error killed app like Crash and which errors was like exception with workable app

Google Play requires update appmetrica sdk to 5.0.0

Жалоба на то, что библиотека запрашивает данные о местоположении пользователя без его разрешения.
Обновите плагин.

Error Log for revenue!!!

[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] Revenue received for productID: of quantity: with price: null USD
we use PriceDecimal instead of Price...

java.lang.RuntimeException: com.yandex.metrica.impl.ob.vu

This exception occured for every ~100 user:

com.yandex.metrica.impl.ob.vu
java.lang.RuntimeException:
 at android.os.AsyncTask$3.done (AsyncTask.java:353)
 at java.util.concurrent.FutureTask.finishCompletion (FutureTask.java:383)
 at java.util.concurrent.FutureTask.setException (FutureTask.java:252)
 at java.util.concurrent.FutureTask.run (FutureTask.java:271)
 at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
 at java.lang.Thread.run (Thread.java:764)
Caused by: com.yandex.metrica.impl.ob.vu:
 at com.yandex.metrica.impl.ob.vt.a (SourceFile:30)
 at com.yandex.metrica.impl.ob.pr.a (SourceFile:33)
 at com.yandex.metrica.impl.ob.pw.a (SourceFile:205)
 at com.yandex.metrica.impl.ob.ci.a (SourceFile:96)
 at com.yandex.metrica.p.rce (SourceFile:118)
 at com.yandex.metrica.push.impl.z.a (SourceFile:3021)
 at com.yandex.metrica.push.impl.z.a (SourceFile:18)
 at com.yandex.metrica.push.impl.ad.a (SourceFile:21)
 at com.yandex.metrica.push.impl.b.a (SourceFile:92)
 at com.yandex.metrica.push.PushService$a.a (SourceFile:55)
 at com.yandex.metrica.push.PushService$d.a (SourceFile:44)
 at com.yandex.metrica.push.CommandIntentService.onHandleWork (SourceFile:38)
 at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground (JobIntentService.java:391)
 at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground (JobIntentService.java:382)
 at android.os.AsyncTask$2.call (AsyncTask.java:333)
 at java.util.concurrent.FutureTask.run (FutureTask.java:266)

Отправка события

Подскажите что может быть, при использовании метода AppMetrica.Instance.SendEventsBuffer(); дальнейшая работа функции в котором он вызывается, прекращается. И соответственно нет отправки события в дашборд. При этом стандартная статистика работает и отправляется.

No session data recorded on Dashboard + Android Support Error on initialization

Hello,
I've integrated AppMetrica Unity pacakge recently in my game but there is no recorded session data on dashboard
Here is the log aftar initializing SDK:
Initializing of Metrica, Release type, Version 3.14.3, API Level 91, Dated 09.07.2020. Rejecting re-init on previously-failed class java.lang.Class<com.yandex.metrica.uiaccessor.a$1>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app/FragmentManager$FragmentLifecycleCallbacks; ... Activate AppMetrica with APIKey xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx Initializing of Metrica, Release type, Version 3.14.3, API Level 91, Dated 09.07.2020.

I've tried to add Android appcompat-v7 aar file to the project but I still got that error

Crash: android - android.database.sqlite.SQLiteConnection.nativeOpen

Samsung Galaxy A10s (a10s), 1792MB RAM, Android 9
Report 1

java.lang.Error: FATAL EXCEPTION [YMM-MSTE-2]
Unity version : 2019.2.8f1
Device model : samsung SM-A107F
Device fingerprint: samsung/a10sxx/a10s:9/PPR1.180610.011/A107FXXU5ATA9:user/release-keys

Caused by
at android.database.sqlite.SQLiteConnection.nativeOpen (SQLiteConnection.java)
at android.database.sqlite.SQLiteConnection.open (SQLiteConnection.java:284)
at android.database.sqlite.SQLiteConnection.open (SQLiteConnection.java:215)
at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked (SQLiteConnectionPool.java:705)
at android.database.sqlite.SQLiteConnectionPool.open (SQLiteConnectionPool.java:272)
at android.database.sqlite.SQLiteConnectionPool.open (SQLiteConnectionPool.java:239)
at android.database.sqlite.SQLiteDatabase.openInner (SQLiteDatabase.java:1292)
at android.database.sqlite.SQLiteDatabase.open (SQLiteDatabase.java:1247)
at android.database.sqlite.SQLiteDatabase.openDatabase (SQLiteDatabase.java:903)
at android.database.sqlite.SQLiteDatabase.openDatabase (SQLiteDatabase.java:893)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked (SQLiteOpenHelper.java:365)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase (SQLiteOpenHelper.java:322)
at com.yandex.metrica.impl.ob.jk.a (jk.java:459)
at com.yandex.metrica.impl.ob.lu. (lu.java:32)
at com.yandex.metrica.impl.ob.dj.a (dj.java:272)
at com.yandex.metrica.impl.ob.di. (di.java:164)
at com.yandex.metrica.impl.ob.du. (du.java:79)
at com.yandex.metrica.impl.ob.du. (du.java:49)
at com.yandex.metrica.impl.ob.eo.c (eo.java:61)
at com.yandex.metrica.impl.ob.eo.a (eo.java:26)
at com.yandex.metrica.impl.ob.dx.d (dx.java:148)
at com.yandex.metrica.impl.ob.dx.a (dx.java:107)
at com.yandex.metrica.impl.ob.ep.b (ep.java:36)
at com.yandex.metrica.impl.ob.eg.a (eg.java:51)
at com.yandex.metrica.impl.ob.aw$a.run (aw.java:455)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:216)
at android.os.HandlerThread.run (HandlerThread.java:65)

Manifest not merged

I see in new version of appmetrica you moved Plugins directory to AppMetrica fodler.
I guess Unity required to place Manifest to Assets/Plugins/Android/
I use 5.4.0f3
that's why Unity does not merge manifest and Im getting error in log cat:
секция Развертывание
Please check com.yandex.metrica.MetricaService in AndroidManifest file. 02-03 12:50:14.359 19251 19294 I Unity : Attribute metrica:api:level should be equal to 52. 02-03 12:50:14.359 19251 19294 I Unity : 02-03 12:50:14.359 19251 19294 I Unity : com.yandex.metrica.impl.v$c: 02-03 12:50:14.359 19251 19294 I Unity : Please check com.yandex.metrica.MetricaService in AndroidManifest file. 02-03 12:50:14.359 19251 19294 I Unity : Attribute metrica:api:level should be equal to 52. 02-03 12:50:14.359 19251 19294 I Unity : 02-03 12:50:14.359 19251 19294 I Unity : at com.yandex.metrica.impl.v.a(SourceFile:2107) 02-03 12:50:14.359 19251 19294 I Unity : at com.yandex.metrica.impl.bk.b(SourceFile:4161) 02-03 12:50:14.359 19251 19294 I Unity : at com.yandex.metrica.impl.bk.a(SourceFile:107) 02-03 12:50:14.359 19251 19294 I Unity : at com.yandex.metrica.YandexMetrica.activate(SourceFile:58) 02-03 12:50:14.359 19251 19294 I Unity : at com.unity3d.player.UnityPlayer.nativeRender(Native Method) 02-03 12:50:14.359 19251 19294 I Unity : at com.unity3d.player.UnityPlayer.a(Unknown Source) 02-03 12:50:14.359 19251 19294 I Unity : at com.unity3d.player.UnityPlayer$b$1.handleMessage(Unknown Source) 02-03 12:50:14.359 19251 19294 I Unity : at android.os.Handler.dispatchMessage(Handler.java:98) 02-03 12:50:14.359 19251 19294 I Unity : at android.os.Looper.loop(Looper.java:158) 02-03 12:50:14.359 19251 19294 I Unity : at com.unity3d.player.UnityPlayer$b.run(Unknown Source) 02-03 12:50:14.359 19251 19294 I Unity : at UnityEngine.AndroidJNISafe.CheckException () [0x00085] in /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJNISafe.cs:25

I moved your Plugins dir to Assets/ and it works fine

AppMetrica 4.0.0: Cannot build for iOS

After updating from AppMetrica 3.8.0 to 4.0.0 my iOS app won't build. I'm getting this error during the build:

iOS/Libraries/AppMetrica/Plugins/iOS/YMMBridge.m:9:9: fatal
error: 'YandexMobileMetrica/YandexMobileMetrica.h' file not found
#import <YandexMobileMetrica/YandexMobileMetrica.h>
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

I was updating by completely removing AppMetrica folder in my project and then just importing new 4.0.0 AppMetrica package.

Unity 5.6 Support need to be add ! ! !

errors

Assets/AppMetrica/Editor/PostprocessBuildPlayerAppMetrica.cs(4,19): error CS0234: The type or namespace name iOS' does not exist in the namespace UnityEditor'. Are you missing an assembly reference?

Have problem with unity 2018.3.0f2

When I update my unity to 2018.3 I have got two errors in "PostprocessBuildPlayerAppMetrica" class.
First "using UnityEditor.iOS.Xcode" can't resolve "iOS".
Second can't find class "PBXProject".

ios crash on ReportRevenue

ios crash on ReportRevenue
`
2021-02-19 14:24:36.633641+0300 tribe[3610:1071331] Uncaught exception: NSInvalidArgumentException: *** -[_NSPlaceholderData initWithBase64EncodedString:options:]: nil string argument
(
0 CoreFoundation 0x000000019f0b39ec F3021642-E3C0-33F8-9911-DD303A6056D0 + 1157612
1 libobjc.A.dylib 0x00000001b3439b54 objc_exception_throw + 56
2 Foundation 0x00000001a02cb354 712A564E-5058-3EAC-AF3A-43BBD43D0D7E + 549716
3 tribe 0x0000000104a702a0 ymm_revenueFromDictionary + 812
4 tribe 0x0000000104a7039c ymm_reportRevenueJSON + 96
5 tribe 0x0000000105bcbf44 YandexAppMetricaIOS_ReportRevenue_mA3265F111F102C7262894692A421BA9FD26FBEBE + 84

`

Appmetrica dashboard not connect with Unity App

Hello ,

Please help me i was my all connection(Set Up) did with the help of official site of metrica but i can't see my device as dashboard user also test with crash but no output in dashboard. ** i was set also API key in metrica prefab** . please give me any suggestion.

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.