-
-
Notifications
You must be signed in to change notification settings - Fork 261
Initial modularization of the SDK #169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Initial modularization of the SDK
|
Now that everything is getting split up - maybe we can consider splitting up the Unity3D iOS push notification logic and Android push notification logic in to seperate dll's? (To work around #102) This'll allow us to disable the iOS specific DLL when the target platform is set to Android and vise versa. Right now we are compiling the ParseUnity dll twice to get around the issue linked to above - for iOS we use the normal version, for Android we use a modified version where we've strip out all the references to UnityEngine.iOS. It is easy to strip out the lines of code referencing the iOS namespace (there is about 6 lines that need to be removed) but it is still a bit of a hassle. IL2CPP is the way of the future for Unity and everything will eventually be ported to IL2CPP. Some projects (Like ours) are already using IL2CPP backend for their live project (Torque Burnout) |
|
@prodigga I actually did this as a part of the modularization! You can see the projects here: https://github.com/ParsePlatform/Parse-SDK-dotNET/tree/master/ParsePush. I forgot to ping you back on that issue though, my mistake. Eventually hopefully we'll have push notification support for .NET as well as other Unity platforms (Console push, anyone?) once push notifications are fully implemented on the new parse-server. |
|
Can anyone tell me how to use this ? |
|
@tomh4 The general concept is this - There are three main DLLs for each platform that we 'fully' support.
NOTE: There's also a separate DLL for analytics, and several Unity-Specific helpers (for Tasks, and compatibility with the rest of the .NET world). Also note that this PR publicized a LOT of internal SDK functionality that needed to be shared cross-module - which opened the door for a lot of cool features down the road. The original plan was to further modularize, and make Parse.Push usable without Parse.Core, but we never reached that point. |
|
Hey! Ok so correct me if i am wrong, I need to place all the. Dlls only at the pcl project and only the push part goes to .ios and .android? |
|
@tomh4 That structure would be correct. Any existing platform-specific modifications will probably be overwritten with this change, yes. I'd suggest migrating to a separate platform-specific project for each of your additional platforms, instead of modifying parse itself. Facebook login is not currently supported on this commit, no. |
This PR will split the SDK into the following logical modules:
This allows us to more easily support newer .NET platforms, as we now can use the Parse SDK in a fully PCL-compliant way.
As with any major change, this may have broken everything, and currently our NuGet packages and build scripts will need updating. Stay tuned for more updates coming soon.