Skip to content

Latest commit

 

History

History
220 lines (182 loc) · 8.27 KB

File metadata and controls

220 lines (182 loc) · 8.27 KB

plugin.facebook.android

Repo Location

cd "C:\path\to\your\projects\Plugin.FacebookKit\plugin.facebook.android"

Todo:

Bugs:

Setup:

Note:

Build the Project folders

  • Navigate to your "projects" folder
cd "projects"
  • Make a directory to manage all the repos
mkdir -p Plugin.FacebookKit
  • Download/fork/pull the repo to a shortpath folder and document the base project repo filepath.
git clone https://github.com/howitzergamesllc/plugin.facebook.android.git
  • Navigate to the root
cd plugin.facebook.android
  • Adding the remote origin (replace with the developer account and repo info.)
git remote add origin https://github.com/youraccount/plugin.facebook.android.git

Download the latest verisions of the .aar files from maven repository and place in the "externals" folder:

(https://mvnrepository.com/artifact/com.facebook.android/facebook-core) (Latest 6/26/2026, version 18.3.0)

  • To update the versioning of the sdk's just modify the cgmanifest.json file.
  • Run the following script to update all sdk artifact .aar files and .jar files in the external folder with versions specified in "cgmanifest.json". This script will automatically extract the .jar java docs available.
mkdir .\externals
.\update.ps1
  • Run the run-gen.sh script. It executes the GenParamNames.csproj for each facebook sdk componenet and produces raw Metadata-Names.md files in the respective "transforms" folder.

The Metadata-Names.xml files cleanly map java names to C# naming convention.

./source/GenParamNames/run-gen.ps1

Clean the repo

  • Clean the repo
./clean.ps1

Build the nuget packages.

  • Build the source code nuget packages first for use in the .Nuget.sln and Nuget.Local.Config
dotnet build plugin.facebook.android.slnx --configfile Nuget.Config

Clean the sample projects

  • Clean the repo
./cleansamples.ps1

Build the sample projects with official nugets.

  • Now build the nuget solution to inject the local nuget packages into the roslyn compiler.
dotnet build plugin.facebook.android.Nuget.slnx --configfile Nuget.Local.Config

Test Build the Samples:

Facebook

\\Build without Nuget
dotnet build samples\Login\LoginpluginSample\LoginpluginSample.csproj
dotnet build samples\Share\SharepluginSample\SharepluginSample.csproj

\\Before Publishing
dotnet build samples\Login\LoginpluginSample\LoginpluginSample.Nuget.csproj --configfile Nuget.Local.Config
dotnet build samples\Share\SharepluginSample\SharepluginSample.Nuget.csproj --configfile Nuget.Local.Config

\\After Publishing
dotnet build samples\Login\LoginpluginSample\LoginpluginSample.Nuget.csproj
dotnet build samples\Share\SharepluginSample\SharepluginSample.Nuget.csproj

Build Nuget Packages for Debugging and Pushing:

Facebook

dotnet build source\audience-network-sdk\audience-network-sdk.csproj
dotnet build source\facebook-android-sdk\facebook-android-sdk.csproj
dotnet build source\facebook-applinks\facebook-applinks.csproj
dotnet build source\facebook-common\facebook-common.csproj
dotnet build source\facebook-core\facebook-core.csproj
dotnet build source\facebook-gamingservices\facebook-gamingservices.csproj
dotnet build source\facebook-login\facebook-login.csproj
dotnet build source\facebook-messenger\facebook-messenger.csproj
dotnet build source\facebook-share\facebook-share.csproj
dotnet build source\audience-network-sdk\audience-network-sdk.csproj -c Release
dotnet build source\facebook-android-sdk\facebook-android-sdk.csproj -c Release
dotnet build source\facebook-applinks\facebook-applinks.csproj -c Release
dotnet build source\facebook-common\facebook-common.csproj -c Release
dotnet build source\facebook-core\facebook-core.csproj -c Release
dotnet build source\facebook-gamingservices\facebook-gamingservices.csproj -c Release
dotnet build source\facebook-login\facebook-login.csproj -c Release
dotnet build source\facebook-messenger\facebook-messenger.csproj -c Release
dotnet build source\facebook-share\facebook-share.csproj -c Release

GitHub Publishing Commands

  • Selecting the repo
cd "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android"
  • Adding the remote origin
git remote add origin https://github.com/youraccount/plugin.facebook.android.git
  • Ensure the right branch is selected
git branch -m main
  • Adding recent changes to the branch
git add .
  • Checking the status of the local repo
git status
  • Fetching recent commits to compare with the local repo
git fetch
  • Pulling recent changes to the local repo
git pull
  • Committing new changes to the local repo
git commit -m "Initial commit with project files"
  • Pushing new commits to remote origin
git push -u origin main

Push package for private publishing.

  • Set api key you use for publishing to git hub
$env:GITHUBTOKEN=ghp_yoursuperlonguniqueapikeyhere
$env:GITHUBTOKEN

Publishing

dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\audience-network-sdk\bin\Release\plugin.Facebook.Android.AudienceNetwork.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-android-sdk\bin\Release\plugin.Facebook.Android.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-applinks\bin\Release\plugin.Facebook.Android.AppLinks.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-common\bin\Release\plugin.Facebook.Android.Common.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-core\bin\Release\plugin.Facebook.Android.Core.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-gamingservices\bin\Release\plugin.Facebook.Android.GamingServices.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-login\bin\Release\plugin.Facebook.Android.Login.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-messenger\bin\Release\plugin.Facebook.Android.Messenger.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN
dotnet nuget push "C:\Path\to\your\Projects\Plugin.FacebookKit\plugin.facebook.android\source\facebook-share\bin\Release\plugin.Facebook.Android.Share.10.0.80.nupkg" --source "https://nuget.pkg.github.com/youraccount/index.json" --api-key $env:GITHUBTOKEN

Setup the sample projects

  • Updating sample projects to dotnet plugin (Example: facebook-core)
  1. Add source projects to source build solution
dotnet new sln -n plugin.facebook.android
dotnet sln plugin.facebook.android.slnx add source\facebook-android-sdk\facebook-android-sdk.csproj
  1. Create and add the project to the sample Nuget solution
dotnet new sln -n plugin.facebook.android.Nuget
dotnet new plugin -n ShareMauiSample.Nuget -o samples\Share\ShareMauiSample
dotnet new plugin -n ShareMauiSample -o samples\Share\ShareMauiSample --force
dotnet sln plugin.facebook.android.Nuget.slnx add samples\Share\ShareMauiSample\ShareMauiSample.Nuget.csproj
  1. Too remove the old samples from the solution.
dotnet sln plugin.facebook.android.slnx remove samples\Login\LoginMauiSample\LoginMauiSample.csproj
dotnet sln plugin.facebook.android.Nuget.slnx remove samples\Login\LoginMauiSample\LoginMauiSample.Nuget.csproj