Facebook v3 sdk monodroid binding

本文关键字:binding monodroid sdk v3 Facebook | 更新日期: 2023-09-27 17:56:07

有没有人尝试为Facebook SDK的第3版创建新的单机器人绑定? 我一直在使用使用使用Monodroid Facebook Binding创建的旧版本的Facebook sdk。但是新的Facebook sdk几乎已经弃用了所有这些方法。

我在设置新绑定时遇到问题,基本上 com.facebook.android.Facebook 类现已弃用,Facebook.Authorize替换为 Session . 我能够创建一个新 facebook sdk 的 jar 文件,但在查看.dll时,Session类没有显示在 Visual Studio 的对象浏览器中。 Session类是公共的,并实现Mono.Android引用中包含的java.io.Serializable。 任何帮助或建议将不胜感激。

编辑:在搞砸了几天之后,我能够通过一个实际上并不能解决我的问题的解决方法来解决这个问题,Metadata.xml中删除节点。

<remove-node path="/api/package[@name='com.facebook']/class[@name='Session.OpenRequest']/method[@name='setPermissions']"/>

这带来了其他问题,可以通过添加更多<attr>标签来解决。

  <remove-node path="/api/package[@name='com.facebook.model']/class[@name='PropertyName']"/>
  <attr path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectAdapter']" name="visibility">public</attr>
  <attr path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectPagingLoader']" name="visibility">public</attr>
  <attr path="/api/package[@name='com.facebook.widget']/class[@name='FacebookFragment']" name="visibility">public</attr>
  <attr path="/api/package[@name='com.facebook.widget']/class[@name='SimpleGraphObjectCursor']" name="visibility">public</attr>
  <attr path="/api/package[@name='com.facebook.widget']/interface[@name='GraphObjectCursor']" name="visibility">public</attr>

在构建此尝试之后,我到达了一个地步,即我在GraphObject.SectionAndItem类中遇到了多个错误。

Error   41  Argument 1: cannot convert from 'Com.Facebook.Widget.GraphObjectAdapter.SectionAndItem.Type' to 'System.IntPtr' E:'Android'FacebookBinding'FacebookBinding'FacebookBinding'obj'Debug'generated'src'Com.Facebook.Widget.GraphObjectAdapter.cs    345 64  FacebookBinding
Error   39  Operator '!=' cannot be applied to operands of type 'Com.Facebook.Widget.GraphObjectAdapter.SectionAndItem.Type' and 'System.Type'  E:'Android'FacebookBinding'FacebookBinding'FacebookBinding'obj'Debug'generated'src'Com.Facebook.Widget.GraphObjectAdapter.cs    344 9   FacebookBinding
Error   47  Operator '==' cannot be applied to operands of type 'Com.Facebook.Widget.GraphObjectAdapter.SectionAndItem.Type' and 'System.Type'  E:'Android'FacebookBinding'FacebookBinding'FacebookBinding'obj'Debug'generated'src'Com.Facebook.Widget.GraphObjectAdapter.cs    381 9   FacebookBinding
Error   40  The best overloaded method match for 'Android.Runtime.JNIEnv.CreateInstance(System.IntPtr, string, params Android.Runtime.JValue[])' has some invalid arguments E:'Android'FacebookBinding'FacebookBinding'FacebookBinding'obj'Debug'generated'src'Com.Facebook.Widget.GraphObjectAdapter.cs    345 17  FacebookBinding

为了解决这些问题,我删除了与这些问题相关的节点。

  <remove-node path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectAdapter.SectionAndItem']"/>
  <remove-node path="/api/package[@name='com.facebook.widget']/class[@name='GraphObjectAdapter.SectionAndItem.Type']"/>

现在,绑定可以成功构建。 您可能会认为我现在能够构建和部署我的应用程序,但出现了另一个问题。 将.jar文件和.dll文件添加到我的应用程序后,我在构建时收到这些错误。

Error   62   package com.facebook.widget.GraphObjectAdapter does not exist
        com.facebook.widget.GraphObjectAdapter.DataNeededListener
    E:'Android'FacebookBinding'FacebookBinding'FacebookTest'obj'Debug'android'src'mono'com'facebook'widget'GraphObjectAdapter_DataNeededListenerImplementor.java    8   41  FacebookTest
Error   63   package com.facebook.widget.GraphObjectPagingLoader does not exist
        com.facebook.widget.GraphObjectPagingLoader.OnErrorListener
    E:'Android'FacebookBinding'FacebookBinding'FacebookTest'obj'Debug'android'src'mono'com'facebook'widget'GraphObjectPagingLoader_OnErrorListenerImplementor.java  8   46  FacebookTest

我现在不知道如何在这里进行。对到达这个地方的任何步骤有什么建议或意见吗?

Facebook v3 sdk monodroid binding

>Xamarin正在发布新版本的Mono for Android 4.7.x,该版本应该公开Facebook在其.jar文件中使用的更多Java库。 我切换到测试版频道并尝试再次编译它,我可以使用GraphObject. 我认为仍然需要对Metadata.xml文件进行一些按摩,以使整个.jar绑定,但这是朝着正确方向迈出的一步。

如果你使用 xamarin 作为 IDE,你可以直接从组件站点下载 facebook 的 DLL,避免绑定 SDK 的问题

http://components.xamarin.com/