Android 为unity编写google play服务插件时遇到的问题

Android 为unity编写google play服务插件时遇到的问题,android,eclipse,plugins,unity3d,google-play-services,Android,Eclipse,Plugins,Unity3d,Google Play Services,在尝试构建我的第一个游戏应用程序时,我遇到了一些超出编程知识范围的问题 我使用Unity制作游戏,并使用eclipse制作了一个可用的admob插件,用于Unity。我按照教程这样做 到目前为止还没有问题,根据我关于为unity制作插件的新知识,我决定根据GoogleFound的教程制作第二个插件 然而,为了让我的插件工作,我不能“扩展”插件的类。这让我很困惑,因为如果我不使用“扩展”,我就不会有onCreate、onActivityResult等回调 我知道一定有办法做到这一点,但我对java

在尝试构建我的第一个游戏应用程序时,我遇到了一些超出编程知识范围的问题

我使用Unity制作游戏,并使用eclipse制作了一个可用的admob插件,用于Unity。我按照教程这样做

到目前为止还没有问题,根据我关于为unity制作插件的新知识,我决定根据GoogleFound的教程制作第二个插件

然而,为了让我的插件工作,我不能“扩展”插件的类。这让我很困惑,因为如果我不使用“扩展”,我就不会有onCreate、onActivityResult等回调

我知道一定有办法做到这一点,但我对java的了解太少,无法解决这个问题

我已经尝试了各种方法,至少让代码可以编译,但基本上我只是在黑暗中摇摆

我的代码已经完成了这么多,不用说,当我调用Test()时,它只会使我的游戏崩溃:

Logcat说这就是问题所在:

07-14 11:19:10.786: E/AndroidRuntime(31262): FATAL EXCEPTION: main
07-14 11:19:10.786: E/AndroidRuntime(31262): Process: com.ChocolatePinecone.PrincessRescueRun, PID: 31262
07-14 11:19:10.786: E/AndroidRuntime(31262): java.lang.Error: FATAL EXCEPTION [main]
07-14 11:19:10.786: E/AndroidRuntime(31262): Unity version     : 4.3.4f1
07-14 11:19:10.786: E/AndroidRuntime(31262): Device model      : samsung GT-I9505
07-14 11:19:10.786: E/AndroidRuntime(31262): Device fingerprint: samsung/jfltexx/jflte:4.4.2/KOT49H/I9505XXUGNF1:user/release-keys
07-14 11:19:10.786: E/AndroidRuntime(31262): Caused by: java.lang.NullPointerException
07-14 11:19:10.786: E/AndroidRuntime(31262):    at google.signin.SignIn$2.run(SignIn.java:78)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at android.os.Handler.handleCallback(Handler.java:733)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at android.os.Handler.dispatchMessage(Handler.java:95)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at android.os.Looper.loop(Looper.java:157)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at android.app.ActivityThread.main(ActivityThread.java:5356)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at java.lang.reflect.Method.invokeNative(Native Method)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at java.lang.reflect.Method.invoke(Method.java:515)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
07-14 11:19:10.786: E/AndroidRuntime(31262):    at dalvik.system.NativeStart.main(Native Method)
我认为它崩溃是因为onStart和所有来自子活动的东西都没有被调用。
我不知道我在这里做的是不是在解决这个问题的正确方向上。在我开始荡秋千之前,我希望这里的人能给我一些启发,或者至少给我一些去哪里的指示…

无论你的mHelper对象是什么,你都没有根据我看到的创建它。我以前从未使用过这个类,所以我不知道这个声明是否正确,只是举个例子

mHelper = new GameHelper();

在subactivity的onCreate函数中,我创建了它:mHelper=newgamehelper(这个,GameHelper.CLIENT_ALL);那肯定会有人打电话?在那里放一些调试消息以确保。我猜mHelper.BeginUserInitializedSignin()也是第78行?mHelper.BeginUserInitializedSignin()确实是第78行。根本不调用子活动生命周期(onCreate、onStart等)。也许我必须使用startActivity(intent),但我不知道如何在我的代码中成功地实现它。这很有意义,因为您的类不是活动。正如你提到的,你不希望它成为一项活动,但我很想听听你为什么不能这样做?在一个项目中可以有多个活动。要在unity中成功实现我的代码,该类可能不会扩展到任何内容。例如,当我将课堂扩展到活动时,从unity到课堂的所有呼叫都停止工作。我的插件基于教程。
mHelper = new GameHelper();