小编Mat*_*man的帖子

在Unity Android插件中包含自定义Activity(不覆盖UnityPlayerActivity)?

我正在尝试为Unity3D编写一个Android插件,以便与Google Play In App Billing交互.我知道那里有现有的插件,但我希望自己做.

看来我需要捕获Android的Activity :: onActivityResult才能通过GPlay IAB SDK成功购买.我的问题是我的Java类不包含Activity,因为我希望它在实际Unity应用程序后面的后台运行.

这是来自GPlay IAB SDK的代码,用于启动购买流程.如果我将"UnityPlayer.currentActivity"作为活动传递,Google Play会弹出,您可以成功购买该产品.但是,您没有收到OnIabPurchaseFinishedListener的成功消息.如果购买不成功(即:您已经拥有该产品),那么我确实收到了回调.

public void launchPurchaseFlow(Activity act, String sku, String itemType, int requestCode,
                        OnIabPurchaseFinishedListener listener, String extraData)
...
...
act.startIntentSenderForResult(pendingIntent.getIntentSender(),
                                           requestCode, new Intent(),
                                           Integer.valueOf(0), Integer.valueOf(0),
                                           Integer.valueOf(0));
Run Code Online (Sandbox Code Playgroud)

完整来源:http://pastebin.com/xwUbrwTz

以下是Google Play In App Billing SDK(示例代码)中的部分,该部分发布了成功的回调(我没有收到)

/**
     * Handles an activity result that's part of the purchase flow in in-app billing. If you
     * are calling {@link #launchPurchaseFlow}, then you must call this method from your
     * Activity's {@link …
Run Code Online (Sandbox Code Playgroud)

unity-game-engine android-activity

6
推荐指数
1
解决办法
2611
查看次数