【问题标题】:Do Facebook App Settings Changes Go Live Immediately?Facebook 应用程序设置更改会立即生效吗?
【发布时间】:2014-04-10 05:56:32
【问题描述】:
除非我感到困惑,否则最新版本的 Facebook Unity SDK 要求我们在 developers.facebook.com 上的应用设置下更新我们的 Android 类名称。我在 Brian Jew 的评论中找到了此信息 here。变化是从 com.facebook.unity.FBUnityPlayerActivity 到 com.facebook.unity.FBUnityDeepLinkingActivity。
问题
- 我真的必须更改类名称吗? Facebook Unity Android 入门文档提到 com.facebook.unity.FBUnityPlayerActivity,而不是 DeepLinking。
- 无论我是否必须更改类名:如果我们确实更改了类名(或任何其他重要设置,如 BundleId),会发生什么?这会不会影响到我们目前所有期待 FBUnityPlayerActivity 的 Android 用户?
- 有没有办法在不破坏当前用户的情况下测试新设置?只需制作一个新的 Facebook 应用?
谢谢,
科尔特
【问题讨论】:
标签:
facebook
facebook-unity-sdk
【解决方案1】:
Key Hash 是您的公钥。当您尝试登录时,我们会检查您的应用程序是否使用该密钥签名,以确保您确实是应用程序的创建者。所以不要改变它。
包名/类名用于将应用程序请求/共享/等从 Facebook 深层链接到您的应用程序(如果您不使用深层链接,请停止阅读;))。
这个类名写入到链接(应用请求)中,所以当你改变它时,旧链接仍然有旧的类名。由于您的游戏正在生产中,因此您必须确保新旧链接都可以在您的应用程序的旧版本和新版本中使用。最好不要更改它,因为使用旧版本应用程序的人将无法使用深度链接(如果您可以让他们升级,就可以了)。
如果您可以使用 FBUnityPlayerActivity 作为主要活动,则无需更改深层链接活动的名称。开发人员在使用我们的主要活动时使用其他插件有问题,因此摆脱了这个要求。
仅供参考,这里正确的解决方案是使用标准的 UnityPlayerNativeActivity 作为您的主要活动(动作 MAIN 类别 LAUNCHER)。您将 FBUnityPlayerActivity 设置为空并扩展 DeepLinkingActivity,您提到 FBUnityPlayerActivity 以与 DeepLinkingActivity 相同的方式在清单中导出
<activity android:exported="true" android:name="com.facebook.unity.FBUnityDeepLinkingActivity"></activity>
这样您就可以像使用 DeepLinkingActivity 一样使用 FBUnityPlayerActivity,一切都很棒。