如何解决电容器插件不会将参数传递给 java
我正在使用 this plugin 在 Ionic React/Capacitor 项目中实现 Google Play 游戏服务。
但是,当我调用 /static
时,logcat 显示以下内容:
GameServices.showLeaderboard("abcdefghijklmnopqr");
如您所见,05-09 07:44:51.544 15437 15524 V Capacitor/Plugin: To native (Capacitor plugin): callbackId: 129018517,pluginId: GameServices,methodName: showLeaderboard
05-09 07:44:51.544 15437 15524 V Capacitor: callback: 129018517,methodName: showLeaderboard,methodData: {}
05-09 07:44:51.545 15437 15502 W GameServices: showLeaderboard called without providing leaderboardId
为空。
我完全不了解 Java(因此我使用 Capacitor),但这是我在 GitHub 链接中的 methodData
中找到的唯一一段看起来远程相关的代码。
android\src\main\java\GameServices.java
你能帮我解决这个问题吗?它似乎是唯一可以远程工作的 Google Play Games Capacitor 插件......
编辑 1:
我应该注意到,@PluginMethod()
public void showLeaderboard(final PluginCall call) {
final String leaderboardId = call.getString("leaderboardId");
if (leaderboardId == null) {
Log.w(TAG,"showLeaderboard called without providing leaderboardId");
return;
}
Log.d(TAG,"showLeaderboard called with id: " + leaderboardId);
final GoogleSignInAccount lastSignedInAccount = GoogleSignIn.getLastSignedInAccount(getContext());
if (null == lastSignedInAccount) {
Log.w(TAG,"cannot find last signed in account,either services are disabled or fingerprint doesn't match services account");
call.resolve();
return;
}
Games.getLeaderboardsClient(getContext(),lastSignedInAccount).getLeaderboardIntent(leaderboardId)
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
Log.d(TAG,"showLeaderboard:getIntent:success");
saveCall(call);
startActivityForResult(call,task.getResult(),RC_LEADERBOARD_UI);
} else {
Log.e(TAG,"showLeaderboard:getIntent:error");
call.reject("showLeaderboard:getIntent:error");
}
});
}
方法工作得很好。
编辑 2:
尝试调用 GameServices.signIn();
也没有用,记录 GameServices.unlockAchievement("abcdef");
。显然没有任何需要参数的方法有效。
解决方法
在浏览所有插件代码后,我意识到这些方法需要对象作为参数。
这有效:
GameServices.showLeaderboard({leaderboardId: "abcdefghijklmnopqr"});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。