Play Game Services のボタン クリッカー デモを試してみたところ、OnInvitationReceivedListener を起動する運がありませんでした (数百回に 1 回)。
私は here stackoverflow answer 1と here stackoverflow answer 2を見て、私の内輪の一部であるテスト アカウントを使用するようにしました。(家族は大丈夫?)
テスト中:
他のユーザーにログインする前に招待状を送信しようとしました (gameHelper onConnected(Bundle hintConnection) に null 以外の値を設定したことはありません)。
両方のアカウントがログインした後で、招待状を送信しようとしました。ログには何かが起こっていることが示され、招待を送信するための戻り値がないため、招待がどのように行われているかについては何もわかりません)
(送信者が待合室に入った直後に) [招待状を表示] に移動すると、招待状がそこにあります。また、GamesClient の loadInvitations メソッドを使用して、invitationBuffer をそのリスナーに戻すこともできます。ユーザーの 1 人をログアウトすると、他のテスト アカウントを招待したときにステータス バーに招待通知が表示されることがあります (時間の長さは、数分から 30 分後までさまざまです)。招待状が送信されており、ドキュメントに記載されているように、おそらく何かによって傍受されています
public void registerInvitationListener (OnInvitationReceivedListener リスナー)
現在サインインしているユーザーの着信招待をインターセプトするリスナーを登録します。リスナーがこの方法で登録されている場合、このクライアントが接続されている限り、受信した招待はステータス バー通知を生成しません。
一度にアクティブにできるリスナーは 1 つだけであることに注意してください。別のリスナーが以前に登録されているときにこのメソッドを呼び出すと、元のリスナーが新しいリスナーに置き換えられます。パラメータ listener 新しい招待を受信したときに呼び出されるリスナー。リスナーはメイン スレッドで呼び出されます。
したがって、私のテストでは、最初の部分が機能していることを示しています (これを入力しているときに、29 分前に送信された招待のステータス バー通知が表示されました...)
正直なところ、私が言ったように、私はリスナーを発火させることはできません!
では、招待状についてフィードバックを得る方法はありますか? そうでない場合、リスナーを起動させるために必要な他の手順はありますか?