I'm a Senior Software Developer working remotely in Warsaw, Poland.
majchrzak / flurry-unity-3d Goto Github PK
View Code? Open in Web Editor NEWFlurry iOS and Android plugin for Unity 3D.
License: MIT License
Flurry iOS and Android plugin for Unity 3D.
License: MIT License
Hello, the README.md says these lines are necessary in the AndroidManifest.xml for Android setup,
meta-data android:name="com.google.android.gms.games.APP_ID" android:value="\ APP_ID" /
meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="\ APP_ID" /
but the current Google Play Game Services document
http://developer.android.com/google/play-services/setup.html#Setup/
says only this line is necessary:
meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" /
Which is correct?
For android flurry method setLogLevel accepts constans from android.util.Log class. Here are these constants:
Log.ASSERT Constant Value: 7 (0x00000007)
Log.DEBUG Constant Value: 3 (0x00000003)
Log.ERROR Constant Value: 6 (0x00000006)
Log.INFO Constant Value: 4 (0x00000004)
Log.VERBOSE Constant Value: 2 (0x00000002)
Log.WARN Constant Value: 5 (0x00000005)
But you use these constants:
public enum LogLevel
{
/// <summary>
/// No output
/// </summary>
None = 0,
/// <summary>
/// Default, outputs only critical log events
/// </summary>
CriticalOnly,
/// <summary>
/// Debug level, outputs critical and main log events
/// </summary>
Debug,
/// <summary>
/// Highest level, outputs all log events
/// </summary>
All
}
As i understand, this constants are right for Ios, but wrong for android.
On iOS, when using LogEvent with event parameters, an extra parameter with key:value == "":"" is added to the dictionary and sent with the event.
The problem is with FlurryIOS.ToKeyValue(). When it converts the Dictionary<string, string> to strings, it adds a '\n' to the start of each string. When converted back to a Dictionary in Objective-C, this newline is converted to an empty entry.
Instead, that method's logic should be changed to something like this:
int i = 0;
foreach (KeyValuePair<string, string> pair in dictionary)
{
if (i++ == 0)
{
keys = pair.Key;
values = pair.Value;
}
else
{
keys = string.Format("{0}\n{1}", keys, pair.Key);
values = string.Format("{0}\n{1}", values, pair.Value);
}
}
Just wanted to know if you are planning on supporting wp8 :)
Plugin works great. thanks!
Hi,
Are you planning to support the unity plugin for the lates Flurry version iOS 6.0.0 and Android 5.0.0? With the new API this plugin doesn’t work :(
Cheers,
There is no description or guideline for how to implement in unity
Sorry for posting this in "Issues".
It's not really an Issue, But I didn't know where else to post.
This plugin has helped me a lot, I highly appreciate it.
But since, Flurry 7.1.1 version is out, can you please release an new update :)
Thanks much.
When building the project to device from xcode, i receive the following errors.
Undefined symbols for architecture arm64:
"_SetBackgroundSessionEnabledImpl", referenced from:
_FlurryIOS_SetBackgroundSessionEnabledImpl_m5424 in Builk_Assembly-CSharp_6.0
(maybe you meant: _FlurryIOS_SetSessionReportsOnPauseEnabledImpl_m5424)
...
and it continues to output the same error for all functions.
I've imported the plugin into the project, built for iOS using IL2CPP, and using universal architecture. Does this plugin support arm64?
There is a critical bug in the iOS Wrapper, which causes Event Parameters to be swapped at the parameter key and the parameter value.
Following line in function keyValueToDict in UnityFlurry.mm is wrong:
[dict setObject:[keysArray objectAtIndex: i] forKey:[valuesArray objectAtIndex: i]];
CHANGE TO:
[dict setObject:[valuesArray objectAtIndex: i] forKey:[keysArray objectAtIndex: i]];
Sadly Objective-C is being one of those languages where a Map is set in the form of value/key instead the other ways around!
Hope it helps. Cheers.
E/Unity (13383): Exception: JNI: Unknown signature for type 'Analytics.FlurryAndroid+DictionaryConverter' (obj = Analy
tics.FlurryAndroid+DictionaryConverter) instance
Looks like it's having trouble handling a Dictionary<string,string> for the parameters parameter.
LogEvent(eventName) seems to work (haven't seen my event on the flurry site yet)
Unity: AndroidJavaException: java.lang.ClassNotFoundException: com.flurry.android.FlurryUnityApplication
java.lang.ClassNotFoundException: com.flurry.android.FlurryUnityApplication
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:400)
at java.lang.Class.forName(Class.java:326)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.c(Unknown Source)
at com.unity3d.player.UnityPlayer$e$2.queueIdle(Unknown Source)
at android.os.MessageQueue.next(MessageQueue.java:392)
at android.os.Looper.loop(Looper.java:136)
at com.unity3d.player.UnityPlayer$e.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.flurry.android.FlurryUnityApplication" on path: DexPathList[[zip file "/data/app/com.macrobian.ultishooter-1/base.apk"],nativeLibraryDirectories=[/data/app/com.macrobian.ultishooter-1/lib/arm, /data/app/com.macrobian.ultishooter-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
at dalvik.system.Base
Please delete this issue. The error was on my side. It is working using IL2CPP! :) Thank you for your time and quick support!
i have uploaded my game version 1.5 on dec 10-2017 but while analysing the data I am getting the data like its shows some users(not a test users ) playing my game with the app version of 1.5 before dec 10-2017. how this can be possible?
Is there any problem in flurry regarding app version in Flurry?
Hi,
Sorry to post this as an issue but is this plugin suitable for DayDream VR stuff ? looks like an app id from google play games is mandatory but as daydream gonna use a separate store I m not sure we will get an app id.
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.