8

私はFB + Android SDKのサンプルを見つけることができず、サンプルは十分に単純ではありません(一部は推奨されません)。私の簡単な目標は、私のAndroidアプリを使ってFB上でいくつかのコンテンツを共有することです。私がiOSアプリケーションを開発したときには、単純にAndroidのSDKを使用してFacebookの壁面にコンテンツを簡単に共有するにはどうすればいいですか?

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegate facebookLogin]; 


NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           @"pikSpeak", @"name", 
           shareURL, @"link", 
           @"pikSpeak for iPhone !", @"caption", 
           @"Record audio at the moment of the image taken using pikSpeak and feel the moment come alive", @"description", 
           @"shared an audible pic using pikSpeak cam", @"message", 
           imageURL,@"picture", 
           nil]; 

[[appDelegate facebook] requestWithGraphPath:@"feed" andParams:params andHttpMethod:@"POST" andDelegate:self]; 

このコードはセッションを処理し、アプリケーションの再起動時にセッションの詳細を保存しました。

1)単純にAndroidでいくつかのことを共有する方法。

2)私はFacebook(String app_id)が推奨されていません。もしそうなら、その交換は何ですか?

P.S.あなたは(あなたが/共有にログインする必要がどこに活動にこれを追加)ログインする必要がある場合は

private void share() { 
    Bundle bundle = new Bundle(); 
    bundle.putString("caption", "Harlem Shake Launcher for Android"); 
    bundle.putString("description", "Your android can do the Harlem Shake. Download it from google play"); 
    bundle.putString("link", "https://play.google.com/store/apps/details?id=mobi.shush.harlemlauncher"); 
    bundle.putString("name", "Harlem Shake Launcher"); 
    bundle.putString("picture", "http://shush.mobi/bla.png"); 
    new WebDialog.FeedDialogBuilder(mContext, mySession, bundle).build().show(); 
} 

:::Facebookの3.0 SDKを使用すると、

+0

あなたはそのコンテンツを共有するためにユーザーの携帯電話でFacebookアプリを使用しますか?もしそうなら、それをAndroid上で行うことは、iOS上よりもはるかに簡単です。あなたはどのAndroidのバージョンをターゲットにしていますか? –

+1

'Facebook'クラスの置き換えは、主にFacebook 3.0 SDKの' Session'クラスです。このチュートリアルを参照してください:https://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/publish-open-graph-story/ – Tushar

+0

@StephanBranczykジンジャーブレッド(2.3.3)以上のバージョン用のアプリケーションをビルドしています。バージョンによって異なるのですか? – rahulg

答えて

18

Share on User's Wall using Facebook SDKから撮影

Session.openActiveSession(this, true, new Session.StatusCallback() { 

    @Override 
    public void call(Session session, SessionState state, Exception exception) { 
     if(session.isOpened()) { 
      share(); 
     } 
    } 
}); 

をアクティビティに追加する必要があります:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    switch(requestCode) { 
    default: 
     if(Session.getActiveSession() != null) //I need to check if this null just to sleep peacefully at night 
      Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
     break; 
    } 
} 
+0

**このヌルが夜に平和に眠るかどうかを確認する必要があります。**その後、ある人がバグを起こすとあなたは眠り続けます。私は、彼らがそうすべきではないと思う場所でヌルチェックを避けることによって、ある人がバグを抱えてそれを修正したときに起きている。それから私が夜にうまく寝るとき、私は確かに他の人もそうです。 –

+0

パーフェクト - 多くのデッドエンドを突破してオンラインでFalseを開始した後(おそらく、より古い/より新しいFB APKのため)、これは成功したものです!最新のFB Shareクラスを使用することはできません。なぜなら、Android 2.3以降のバージョンとの互換性が必要なので、FB SDK 3.17を使用する必要があります。 – Antinous

0

フィードダイアログは自分の壁に投稿するために使用されます。技術的には共有していません。 また、共有機能を実現したい場合は、facebook sdkが提供する共有ダイアログでアンドロイド用に移動してください。 The facebook Share Dialogは、OpenGraphActionを使用している友人、場所などにタグを付けるさまざまな機能を提供します。

関連する問題