Question

Unless I'm confused, the latest versions of the Facebook Unity SDK require us to update our Android Class Name on developers.facebook.com under the app's settings. I found this information here in the comment by Brian Jew. The change is from com.facebook.unity.FBUnityPlayerActivity to com.facebook.unity.FBUnityDeepLinkingActivity.

Questions

  1. Do I actually have to change the Class Name? The Facebook Unity Getting Started with Android docs mention com.facebook.unity.FBUnityPlayerActivity, not DeepLinking.
  2. Regardless of if I have to change the Class Name: What happens if we DO change the class name (or any other important setting like the BundleId)? Does that go live and mess up all the Android users we currently have who are expecting FBUnityPlayerActivity?
  3. Is there a way to test new settings without breaking the current users? Just make a new Facebook app?

Thanks,

Colter

Was it helpful?

Solution

Key Hash is your public key. We check if your application is signed with that key when you are trying to login, to make sure that you really are the creator of the application. So don't change that.

Package name/Class name is used for deep-linking in app requests/shares/etc from Facebook into your application(so stop reading if you don't use deep-linking;)).

This class name is written into link(app request), so when you change it, old links will still have old class name. Since your game is in production, you have to make sure both old and new links will work in both old and new version of your app. The best idea here is not to change it, because people with old version of your application would not be able to use deep-linking(if you can make them upgrade, you are fine).

You don't need to change name of the deep-linking activity if you are ok with using FBUnityPlayerActivity as your main activity. Developers had problems with using other plugins when using our main activity, so got rid of that requirement.

Just for reference, correct solution here would be to use standard unity UnityPlayerNativeActivity as your main activity(action MAIN category LAUNCHER). You set FBUnityPlayerActivity as empty and extending DeepLinkingActivity, you mention FBUnityPlayerActivity as exported in your manifest the same way as DeepLinkingActivity

<activity android:exported="true" android:name="com.facebook.unity.FBUnityDeepLinkingActivity"></activity>

This way you are using FBUnityPlayerActivity just as DeepLinkingActivity and everything is awesome.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top