Last 12 weeks · 6 commits
5 of 6 standards met
Checklist [x] I've updated to the latest released version of the SDK [x] I've searched for existing GitHub issues [x] I've looked for existing answers on Stack Overflow, the Facebook Developer Community Forum and the Facebook Developers Group [x] I've read the Code of Conduct [x] This issue is not security related and can safely be disclosed publicly on GitHub Environment Unity Editor Version: Unity SDK Version: and Installation Platform & Version: version Firebase SDK Version: 6.10.0 Unity Jar Resolver Version: 1.2.135 Goals Build the project Expected Results Project is successfully built Actual Results Project is failing to build with the following output: Steps to Reproduce 1. Create new unity 2019.3.0f6 project 2. Set project build target to Android. 2. Import Facebook SDK 7.18.0 3. Import the latest [Firebase Analytics SDK 6.10.0 into the project. 4. Import Unity Jar Resolver v1.2.135 into the project. 5. Enable mainTemplate.gradle (Player settings -> publishing settings -> check custom gradle template) 6. Click Assets/Play Services Resolver/Android Resolver/Resolve 7. Enable Jetifier when prompted 8. Build the project OR 1. Download and open the repro project I made. 2. Change build target to Android 3. Build the project Code Samples & Details If I build with just Facebook SDK, it works. If I build with just Firebase SDK, it works. If I build with both Facebook SDK and Firebase SDK, it fails. I made a Repro project following the steps I mentioned before. https://drive.google.com/file/d/1ngzavtEftODND1EpRyNchq3qClpyXl0C/view?usp=sharing
Summary The SDK's In-App Purchase support installs two folders outside the SDK's own root: — , (both in the global C# namespace, no wrapper) — native iOS StoreKit bridge (, , , ) Everything else the SDK ships lives under . Please ship these two folders under and wrap the IAP classes in a namespace. Why this matters Assets/Scripts is a generic name that reads like the integrator's own folder, not part of a third-party SDK. Integrating teams can easily mistake these for their own code and rename, refactor, or delete them during cleanup, silently breaking IAP. Loose top-level folders make it unclear what belongs to the SDK versus the project, and files placed directly under Assets/ are far more exposed to accidental modification than files namespaced under a clearly SDK-owned root. Relocating these folders locally appears safe for the build, the iOS post-process step operates only on the generated Xcode project, not the Assets/ layout, so there's no technical reason for them to live at the root. IAPWrapper and IAPAndroidImpl are generic names in the global namespace, unlike the rest of the SDK (Facebook.Unity.*). A name clash with another package or the integrator's own code causes a CS0101 duplicate-definition error that halts the whole build. Folder location and namespace are independent, so this needs its own fix in code. Environment Facebook Unity SDK version: 18.1.0
Repository: facebook/facebook-sdk-for-unity. Description: The facebook sdk for unity. Stars: 502, Forks: 266. Primary language: C#. Languages: C# (47.3%), C++ (42.7%), Java (4.5%), Objective-C++ (1.8%), Shell (1.6%). Homepage: https://developers.facebook.com/docs/unity Latest release: sdk-version-18.1.0 (3d ago). Open PRs: 25, open issues: 421. Last activity: 3d ago. Community health: 87%. Top contributors: JordiFB, KylinChang, JarWarren, swiese, SergioGuerreroFB, ryantobinmeta, kthai, jjiang10, zenlita, owaisfb and others.