0

我有一个问题,我正在尝试将 w3i 报价墙添加到我的应用程序中,以实现获利...这是 sdk 指南:https : //associate.w3i.com/integration/index.html 我已经轻松添加了报价墙,但现在我必须在一个变量中计算用户所获得的收入......指南告诉:

兑换货币 货币兑换应在应用程序打开时进行,每次启动时。如果您正在显示优惠警报对话框,我们建议您先调用redeemCurrency(),然后立即使用showFeaturedOffer()。这为用户创建了一个逻辑流程,该用户在收到优惠警报提示之前从他们完成的最后一次优惠中获得货币奖励。处理兑换货币的方法是redeemCurrency(),它具有以下签名:

public void redeemCurrency(final Activity context, W3iCurrencyListener listener )

此方法需要当前的 Activity 上下文,而不是 Application 上下文,因为它会在兑换货币时向用户显示消息对话框。此外,您需要提供 W3iCurrencyListener 接口的实现。接下来,您的应用程序需要提供 W3iCurrencyListener 接口的实现。W3iCurrencyListener 接口用于通知游戏货币被退回。余额作为 List 集合返回。示例实现如下:

W3iCurrencyListener callback = new W3iCurrencyListener() {
              @Override
              onRedeem(List<Balance> balances) {

                     //Take possession of the balances returned here.             

              }
};

如果您的应用程序支持多种货币,则 Balance 对象的集合可能用于不同的货币类型。如果对兑换货币()的调用成功,您将收到一组余额。如果没有,onRedeem() 回调将不会触发。除非用户通过下载和安装应用程序或完成非应用程序优惠的其他操作来转换优惠,否则此方法不会返回货币。

现在我不知道如何使用此代码,如何将返回设置为变量?现在我希望他们的办公室关门了,所以我问你... Thakns,matteo

4

1 回答 1

0

我也遇到了类似的问题。我实现了他们的 com.w3i.offerwall.W3iCurrencyListener 并用它来调用redeemCurrency()。

我在启动器活动中调用兑换货币()。我的 W3IListener 覆盖 onRedeem() 方法。希望下面的代码片段能消除您的疑虑。

 public class MyGame extends Acitvity{
     private W3iCurrencyListener w3iListener = new W3iListener(this);
     public static int coins = 0;
     @Override
     protected void onResume(){
         try{
             w3iInstance.redeemCurrency(this, w3iListener);
         }
         catch (Exception e){
            e.printStackTrace();
         }
     }
 }


public class W3iListener implements com.w3i.offerwall.W3iCurrencyListener{

    private Context mContext = null;

    public W3iListener(Context context){
        mContext = context;
    }   


    @Override
    public void onRedeem(List<Balance> paramList) {
            if(paramList.size()>0)
            {
                int coins = 0;
                for(int i=0; i<paramList.size(); i++){
                    coins += Integer.parseInt(paramList.get(i).getAmount());
                }
                MyGame.coins = coins + MyGame.coins;
            }
    }
}
于 2012-10-29T10:33:26.030 回答