2014-11-03 101 views
0

我正在尝试在我的应用中整合Tapjoy提供的墙。Tapjoy viewDidClose被调用两次

我的代码:

// Get notifications when Tapjoy views open or close. 
    TapjoyConnect.getTapjoyConnectInstance().setTapjoyViewNotifier(new TapjoyViewNotifier() 
    { 
     @Override 
     public void viewWillOpen(int viewType) 
     { 
      TapjoyLog.i(TAG, "viewWillOpen: "); 
     } 

     @Override 
     public void viewWillClose(int viewType) 
     { 
      TapjoyLog.i(TAG, "viewWillClose: "); 
     } 

     @Override 
     public void viewDidOpen(int viewType) 
     { 
      TapjoyLog.i(TAG, "viewDidOpen: "); 
     } 

     @Override 
     public void viewDidClose(int viewType) 
     { 
      TapjoyLog.i(TAG, "viewDidClose: "); 

      TapjoyConnect.getTapjoyConnectInstance().getTapPoints(new TapjoyNotifier() 
      { 

       @Override 
       public void getUpdatePointsFailed(String arg0) 
       { 
        System.out.println(arg0); 

       } 

       @Override 
       public void getUpdatePoints(String arg0, int arg1) 
       { 

        System.out.println(arg0); 
        System.out.println(arg1); 
        if(arg1 > 0) 
        { 
         AppResources.setValueToShredPrefrences("gold_coins",   
    AppResources.gold_coins + arg1); 
        } 
        AppResources.ShowToast(m_context, "gold coin earned: " + arg1, Toast.LENGTH_SHORT); 


       } 
      }); 

      finish(); 

     } 
    }); 

的问题是,里面viewDidClose方法getUpdatePoints总是返回1,这意味着用户获得1分即使用户没有做任何事情。

此外,当用户做了一些事情之后,像viewDidClose之类的事情调用两次,让用户得到两分,当他应该得到1分。

这是测试场景,我很乐意看到一个整合Tapjoy提供墙壁的例子,谢谢!

回答

1

(不能发表,因为低信誉评论)

我已经得到了同样的问题,无论是在viewDidClose被调用两次,getTapPoints始终返回1。然而,我注意到,它返回0,直到该设备完成至少一个测试报价。

我会更新这个答案,如果我发现别的东西。

更新1

这两个问题已在移动到另一台设备消失。这导致我相信,a)我使用的设备给出错误的标识符/否则不被支持,或者b)测试模式当前被破坏。

更新2

使测试模式,用于该第二设备后,viewDidClose再次被调用两次。对于一个单位的货币,测试报价已被添加到以getTapPoints发送的总数中(所以现在每次关闭视图时,我都会得到4而不是1,就像我在其他设备上那样),因为我已经完成了3个单位)

总而言之,viewDidClose被调用两次的问题似乎是由测试模式引起的,getTapPoints的值为1是测试报价仅计数的结果一次达到您的总可赎回价值。

更多信息

重读你的问题,你似乎误解,当你调用getTapPoints是被发回的价值。这是该设备的累计总赢得积分,而不是自上次被叫后获得的积分数。因此,如果您没有完成任何优惠,您将获得与以前相同的价值。我通常在我的应用程序中保留前一个值的值,然后仅向用户提供该值与getTapPoints返回的值之间的差异。

所有这些都是在tapjoyconnectlibrary的10.1.1版本中完成的。