最近,我收到了一封来自Google的电子邮件,内容为:
2019年3月7日,所有Google+ API和Google+登录将关闭 完全下降。这将从最近开始逐步关闭 一月,对这些API的调用开始间歇性地失败,原因是 最早在2019年1月28日。
在电子邮件的以下部分:
XXX GP(api-project-123123123123)加上v1 plus.people.get
我正在使用com.google.android.gms.common.api.GoogleApiClient
,它是用于提供登录功能的连接回调。
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();
对于排行榜和成就:
startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient), 0);
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(mGoogleApiClient,
"leaderboardX"), 0);
我的应用程序不依赖于此处已弃用的范围: https://developers.google.com/+/mobile/android/api-deprecation
在Github存储库上的Google Play服务的新示例中: https://github.com/playgameservices/android-basic-samples
有新的Google登录实现和游戏功能用法,如以下代码段所示。
用于登录:
mGoogleSignInClient = GoogleSignIn.getClient(this,
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build());
mGoogleSignInClient.silentSignIn().addOnCompleteListener(this,
new OnCompleteListener<GoogleSignInAccount>() {
@Override
public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
if (task.isSuccessful()) {
Log.d(TAG, "signInSilently(): success");
onConnected(task.getResult());
} else {
Log.d(TAG, "signInSilently(): failure", task.getException());
onDisconnected();
}
}
});
对于游戏功能:
@Override
public void onShowAchievementsRequested() {
mAchievementsClient.getAchievementsIntent()
.addOnSuccessListener(new OnSuccessListener<Intent>() {
@Override
public void onSuccess(Intent intent) {
startActivityForResult(intent, RC_UNUSED);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
handleException(e, getString(R.string.achievements_exception));
}
});
}
@Override
public void onShowLeaderboardsRequested() {
mLeaderboardsClient.getAllLeaderboardsIntent()
.addOnSuccessListener(new OnSuccessListener<Intent>() {
@Override
public void onSuccess(Intent intent) {
startActivityForResult(intent, RC_UNUSED);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
handleException(e, getString(R.string.leaderboards_exception));
}
});
}
我在这里有点困惑,我是否必须实现新的SignIn和Leaderboard / Achievement API?
我是否需要进行更改以不受Google+ API和Google+登录日落的影响?
答案 0 :(得分:0)
您粘贴的代码不依赖于Google+ API,并且不受Google+关闭的影响。
您是否在游戏的早期版本中使用过任何PLUS范围,但可能仍在某些用户设备上使用?如果您当前的代码正常,则可能只会影响某些非常旧的版本。
在您项目的云开发者控制台的“ API”部分中,您应该能够查看Google+或Games API的流量级别,以查看它们是否有可能影响大量用户。您也可以在此处打开Google+ API详细信息,以查看正在调用哪些特定方法。