Facebook SDKのバージョン3用に新しいモノドロイドバインディングを作成しようとした人はいますか?私はMonodroidFacebookBindingで作成された古いバージョンのFacebookSDKを使用しています。ただし、新しいFacebook SDKには、廃止されたメソッドのほとんどすべてが含まれています。
新しいバインディングの設定に問題があります。基本的に、com.facebook.android.Facebook
クラスは非推奨になり、Facebook.Authorize
はに置き換えられましたSession
。新しいFacebookSDKのjarファイルを作成できますがSession
、.dllを表示すると、VisualStudioのオブジェクトブラウザーにクラスが表示されません。Session
クラスはパブリックであり、リファレンスjava.io.Serializable
に含まれている実装です。Mono.Android
どんな助けや提案もいただければ幸いです。
編集:これを数日いじった後、実際には問題を解決しない回避策でこの問題を乗り越えることができ、のノードを削除します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
ここでの進め方がわからなくなってしまいました。この場所にたどり着くためのステップのいずれかに対する提案やコメントはありますか?