Facebook のネイティブ Android アプリへの統合を処理するためにさまざまな Facebookチュートリアルを実行し、Facebook のログイン、ユーザーの詳細の取得、共有、友達の選択など、すべてのフローの実装に成功しました。1 人のユーザーから送信されたアプリの招待リクエストが受信者として処理されるユース ケースで行き詰まっています。
問題文: Facebook Send requestのチュートリアルでは、アプリのリクエストを友人に送信する方法がよく説明されています。
fbconnect://success?request=<request ID here>&to%5B0%5D=<userID>
しかし、次のステップはリクエストを処理することです。チュートリアルに従って、受信者が Facebook for Android アプリを開いて通知をタップすると (左上のメニュー -> [アプリ] セクションの下に表示されます)、以下のようにプルできる要求データを含むインテントを使用してアプリが起動されます。
Uri intentUri = getActivity().getIntent().getData();
さらにリクエスト ID (1 つ以上) を以下のように取得できます。
String requestIdParam = intentUri.getQueryParameter("request_ids");
私の場合、Facebook アプリはインストール済みのアプリを起動しますが、intentUri (上記のステートメント) 自体は null として返されます。したがって、リクエストの詳細をさらに抽出することはできません。
注: 投稿されたリクエストには、投稿中に取得したハードコードされたrequestIDを渡すことにより、以下の方法を使用してデータなどの完全な情報が含まれていることを確認できました(受信者ユーザーとしてアプリにログインした後)。
private void getRequestDetails(String inRequestId) {
Request request = new Request(Session.getActiveSession(),
inRequestId, null, HttpMethod.GET, new Request.Callback() {
@Override
public void onCompleted(Response response) {
Log.d (TAG, response.toString());
}
});
// Execute the request asynchronously.
Request.executeBatchAsync(request);
}
初期のヘルプ/ポインタは非常に高く評価されます. また、Facebookネイティブアプリのインテント呼び出しによる呼び出しではなく、Facebook APIを介して保留中のアプリリクエストを照会する方法はありますか?