Android GoogleAppClient For Games从未收到电话邀请
我正在用Google Play Games服务开发一个简单的转牌游戏。为了构建Google客户端,我使用以下代码段:Android GoogleAppClient For Games从未收到电话邀请,android,google-api,google-play-services,google-play-games,invitation,Android,Google Api,Google Play Services,Google Play Games,Invitation,我正在用Google Play Games服务开发一个简单的转牌游戏。为了构建Google客户端,我使用以下代码段: public class App extends Application { private GoogleApiClient mGoogleApiClient; public AppCompatActivity activity; public synchronized GoogleApiClient getGoogleApiClient(AppCompatActivity a
public class App extends Application {
private GoogleApiClient mGoogleApiClient;
public AppCompatActivity activity;
public synchronized GoogleApiClient getGoogleApiClient(AppCompatActivity activity, GoogleApiClient.ConnectionCallbacks callbacks , GoogleApiClient.OnConnectionFailedListener listener){
this.activity = activity;
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this.activity, listener)
.addConnectionCallbacks(callbacks)
.setViewForPopups(activity.getWindow().getDecorView().getRootView())
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();
return mGoogleApiClient;
}
工作正常,我可以从我的帐户和测试仪进行连接。现在,我想在其他用户发送邀请时向客户端发送一个特殊通知。我做的第一步是将ConnectionListner注册到客户端:
public class LoginActivity extends AppCompatActivity implements View.OnClickListener,OnInvitationReceivedListener,GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener {
...
GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//Get google api client
mGoogleApiClient = ((App) getApplication()).getGoogleApiClient(LoginActivity.this, this, this);
...
}
在客户端API Connect上,我使用以下代码注册邀请注册者:
@Override
public void onConnected(@Nullable Bundle bundle) {
Log.d(TAG,"connesso");
Games.Invitations.registerInvitationListener(mGoogleApiClient, this);
}
对于邀请其他用户,我使用Api示例中的代码:
final ArrayList<String> invitees = data
.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS);
Log.d(TAG,"Invites find:"+invitees.get(0).toString());
// get automatch criteria
Bundle autoMatchCriteria = null;
int minAutoMatchPlayers = data.getIntExtra(
Multiplayer.EXTRA_MIN_AUTOMATCH_PLAYERS, 1);
int maxAutoMatchPlayers = data.getIntExtra(
Multiplayer.EXTRA_MAX_AUTOMATCH_PLAYERS, 1);
if (minAutoMatchPlayers > 0) {
autoMatchCriteria = RoomConfig.createAutoMatchCriteria(
minAutoMatchPlayers, maxAutoMatchPlayers, 0);
} else {
autoMatchCriteria = null;
}
TurnBasedMatchConfig tbmc = TurnBasedMatchConfig.builder()
.addInvitedPlayers(invitees)
.setAutoMatchCriteria(autoMatchCriteria).build();
// Start the match
Games.TurnBasedMultiplayer.createMatch(mGoogleApiClient, tbmc).setResultCallback(...);});
用户选择器工作正常;我确信这一点,因为在智能手机上的Google Play Games应用程序中,我看到了这个请求。但从未调用收到的邀请日志
我哪里做错了??提前感谢尝试将您的代码与进行比较,并检查您是否有相同的实现。确保您的帐户已注册为tester,否则,他们将无法收到本SO.@Mr.Rebot中所述的邀请。代码相同。如果我的帐户不受信任,我在尝试邀请时会出错
@Override
public void onInvitationReceived(Invitation invitation) {
Log.d(TAG,"invito arrivato");
}