我正在尝试在我的Android 版Adobe Air游戏中启用Google Play 游戏。有 2 个完整的应用程序和一个演示程序。但看起来这两个应用程序都忽略了 SignIn/SubmitScore/ReportAchievement 代码。
我正在使用这个 ANE,但也尝试过这个,它是原始的前叉。因为所有的结果都是一样的。代码“忽略”,没有任何反应。
我的项目设置:
- 所有项目都在 FlashDevelop 中完成、编译和打包。平台为 Air Mobile 14.0,SDK 为 Adobe Air 16.0。我对 Android 包使用自己的 .p12 证书,每个 App 版本一个。
- 我在 FlashDevelop 上包含 ANE,就像我包含 Game Center ANE 一样,用于同一个 APP。游戏中心一号正在工作,所以我认为这个也应该没问题。
- 我已将我的 com.google.android.gms.games.APP_ID 以及 ANE 所需的添加添加到 xml。
在我的代码中我做了(没有任何反应,没有调用回调,没有触发信号,没有登录弹出屏幕,但显示了我的“跟踪”通知,因此到达了代码):
Games.initialize();
addListeners(); //Adding SignIn and SignOut callbacks
Games.promptUserToSignInOnStartup(true);
Games.start();
NotificationSystem.notifyLoading("Connecting to Google Play Games Service");
在 Google 的开发者控制台上:
- 这两个应用程序都发布了 Alpha/Beta 测试,还没有生产版本。
- 我已经设置了 Play 游戏服务,它是“准备测试”。
- 这两个应用程序都已链接到它并获得授权。我验证了 .p12 的 OAuth2.0 SHA1 指纹并且它们匹配。
这是我的 APK 的 AndroidManifest.xml,因为我无法想象问题出在代码端或 Google 的控制台端。我认为打包时它应该在 ANE 配置的某个地方。所以它可能在这里:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="air.mygame">
<application android:hardwareAccelerated="false" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:label="@string/app_name" android:launchMode="singleTask" android:name=".AppEntry" android:screenOrientation="user" android:theme="@style/Theme.NoShadow" android:windowSoftInputMode="adjustResize|stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="namespaceVersion" android:value="14.0"/>
<meta-data android:name="aspectRatio" android:value="portrait"/>
<meta-data android:name="autoOrients" android:value="true"/>
<meta-data android:name="fullScreen" android:value="true"/>
<meta-data android:name="uniqueappversionid" android:value="251bf45a-b5b6-49ae-bb1a-4337f47f8f34"/>
<meta-data android:name="initialcontent" android:value="mygame.swf"/>
<meta-data android:name="containsVideo" android:value="false"/>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="MY_APP_ID_ON_GOOGLE_PLAY_GAMES"/>
<meta-data android:name="com.google.android.gms.version" android:value="4242000"/>
<activity android:name="com.google.api.games.SignInActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
<activity android:name="com.google.api.games.StubActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
</manifest>