1

FacebookApp の作成に問題があります。私たちは Android ゲームを作成しました。ユーザーが Facebook のロゴに触れると、ユーザーのウォールにメッセージが投稿され、見返りにプレミアム アイテムが与えられます。

しかし、 FaceBookAppを作成できません

管理者モードで「App Center」にアクセスすると、赤い四角に次のメッセージが表示されます。

[

アプリの統合がありません。

アプリの詳細ページを設定する前に、アプリを Facebook と統合する方法を指定する必要があります。ここをクリックしてアプリの設定ページにアクセスし、統合を管理します

]

リンクをクリックすると、アプリを Facebook に統合する方法を選択する場所に移動します。

「ネイティブ Android アプリ」のみを選択しました

そして私が選んだオプションについて:

  1. シングルサインオン [無効]
  2. ディープリンク [無効]
  3. Android キー ハッシュ = 正しいものを配置しました
  4. Android パッケージ名 = ""
  5. Android クラス名 = ""

このページで [確認] をクリックすると、「OK、うまくいきました」と表示されますが、App Center に戻ると、アプリを Facebook と統合する方法を指定する必要があることを示す赤い四角がまだ表示されます :(

誰でもこれで私を助けてもらえますか?

どうもありがとう!

4

2 に答える 2

1

メッセージをウォール (またはその他) に投稿するために、必ずしも Facebook アプリ センターでアプリを作成する必要はありません。私もFacebookをサポートするゲームを作成しています。リンクとキャプション付きの写真を投稿していますが、同じ問題でゲームがFacebookアプリセンターに追加されていません。

まず、https: //developers.facebook.com/apps でアプリを作成しました。AppId (API KEY) を覚えておく必要があります。Android タブでアプリを有効にして、ハッシュコードを入力します。コマンドを使用してキーストアから作成されたハッシュコードkeytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64。「androiddebugkey」はキーの名前 (エクスポート用) で、「~/.android/debug.keystore」はキーストア (エクスポート用) です。

写真を投稿している私のクラスがあります

public class EveryBodyActivity extends Activity {

    public final String API_KEY = "YOUR API KEY HERE";
    public final String[] permissions = {"publish_stream"};
    Facebook facebook = new Facebook(API_KEY);

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ImageButton imageButton = (ImageButton)findViewById(R.id.button);
        imageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                authorizeAndPostMassage();
            }
        });
    }

    public void authorizeAndPostMassage() {
        facebook.authorize(this, permissions, Facebook.FORCE_DIALOG_AUTH, new DialogListener () {
            @Override
            public void onComplete(Bundle values) {
                    Toast.makeText(EveryBodyActivity.this, "Authorization successful", Toast.LENGTH_SHORT).show();
                    postMassage();
            }

            @Override
            public void onFacebookError(FacebookError e) {
                Toast.makeText(EveryBodyActivity.this, "Facebook error, try again later", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(DialogError e) {
                Toast.makeText(EveryBodyActivity.this, "Error, try again later", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancel() {
                //Этот коллбэк никогда не срабатывает, вероятно, ошибка в SDK
                Toast.makeText(EveryBodyActivity.this, "Authorization canceled", Toast.LENGTH_SHORT).show();
            }});
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        facebook.authorizeCallback(requestCode, resultCode, data);
    }


    private void postMassage() {
        Bundle imageBundle = new Bundle();
        imageBundle.putString(Facebook.TOKEN, facebook.getAccessToken());
        imageBundle.putString("method", "photos.upload");
        imageBundle.putString("caption", "New Voodoo Doll");

        byte[] data = null;

         Bitmap bi = BitmapFactory.decodeResource(getResources(),
                R.drawable.ic_launcher);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
        data = baos.toByteArray();
        imageBundle.putByteArray("picture", data);
        Toast.makeText(EveryBodyActivity.this, "Sending VooDoo...", Toast.LENGTH_SHORT).show();
        try {

            facebook.request(null, imageBundle, "POST");

        } catch (FileNotFoundException fileNotFoundException) {
            Toast.makeText(getApplicationContext(), (fileNotFoundException.getMessage()), 100);
        } catch (MalformedURLException malformedURLException) {
            Toast.makeText(getApplicationContext(), (malformedURLException.getMessage()), 100);

        } catch (IOException ioException) {
            Toast.makeText(getApplicationContext(), (ioException.getMessage()), 100);
        }
        }
于 2012-07-17T14:06:27.977 に答える
0

「Android SSO 用に構成」オプションをオンにします。

https://developers.facebook.com/bugs/270177039756846/

于 2012-07-28T17:22:59.493 に答える