如何在Google Play游戏排行榜上使用得分标签?

时间:2018-04-03 21:54:40

标签: android unity3d google-play-games leaderboard

我想在我认为分数有效时尝试消除欺诈分数(如quality checklist第3.5点所示)但我找不到如何使用任何地方。我知道如何发送标签但是我在哪里告诉package my.package.name; import android.content.DialogInterface; import android.support.v4.app.FragmentActivity; import android.os.Bundle; import android.util.Log; import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; int x; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } /** * Manipulates the map once available. * This callback is triggered when the map is ready to be used. * This is where we can add markers or lines, add listeners or move the camera. In this case, * we just add a marker near Sydney, Australia. * If Google Play services is not installed on the device, the user will be prompted to install * it inside the SupportMapFragment. This method will only be triggered once the user has * installed Google Play services and returned to the app. */ @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; // Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); something(); System.out.println(sumX); //this prints 0 } private void something() { x = 6; System.out.println(sumX); //this prints 6 } } 哪个标签是好标签?

1 个答案:

答案 0 :(得分:0)

按照以下步骤操作

第1步:创建排行榜 对于新游戏 要为新的未发布游戏创建排行榜,请转到游戏的Google Play控制台条目,选择左侧的排行榜选项卡,然后点击添加新排行榜​​按钮。 enter image description here

然后,只需填写此排行榜所需的信息即可。 enter image description here

点击保存,您的排行榜将在"准备发布"模式。一旦您发布了游戏,您的所有游戏排行榜都将随之发布。

对于已发布的游戏 要为已发布的游戏创建其他排行榜,请按照上述步骤操作。唯一的区别是保存按钮将被重新标记为保存为草稿,您的排行榜将在"准备测试"模式。有关测试游戏更新版本的更多信息,请参阅发布游戏更改。

一旦您对排行榜进行了测试并对其感到满意,您就可以使用新的排行榜重新发布您的游戏,并将它们推向全世界。

第2步:更新玩家的分数 以下代码段显示了您的应用如何更新播放器的分数:

Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this))
        .submitScore(getString(R.string.leaderboard_id), 1337);

一个好的做法是在strings.xml文件中定义排行榜ID,这样您的游戏就可以按资源ID引用排行榜。在拨打更新和加载玩家分数的电话时,请务必遵循这些最佳做法,以避免超出您的API配额。

第3步:显示排行榜 要显示排行榜,请调用LeaderboardsClient.getLeaderboardIntent()以获取Intent以创建默认排行榜用户界面。然后,您的游戏可以通过调用startActivityForResult来显示UI。

以下代码段显示了您的应用如何更新播放器的分数。在代码片段中,RC_LEADERBOARD_UI是请求代码的任意整数。

private static final int RC_LEADERBOARD_UI = 9004;

private void showLeaderboard() {
    Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this))
            .getLeaderboardIntent(getString(R.string.leaderboard_id))
            .addOnSuccessListener(new OnSuccessListener<Intent>() {
                @Override
                public void onSuccess(Intent intent) {
                    startActivityForResult(intent, RC_LEADERBOARD_UI);
                }
            });
}

请注意,即使没有返回结果,我们也必须使用startActivityForResult,以便API可以获取调用包的标识。