0

アプリに Tapjoy オファー ウォールを統合しようとしています。

私のコード:

// 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 が 2 回呼び出された後にユーザーがビデオを見るなどの操作を行うと、ユーザーは 1 ポイントを取得する必要があるときに 2 ポイントを取得します。

これはテスト シナリオです。Tapjoy オファー ウォールを適切に統合する例を見てみたいです。ありがとうございます!

4

1 に答える 1

1

(評判が悪いのでコメントできません)

viewDidClose が 2 回呼び出され、getTapPoints が常に 1 を返すという同じ問題があります。ただし、デバイスが少なくとも 1 つのテスト オファーを完了するまで、0 が返されることに気付きました。

他に何か発見した場合は、この回答を更新します。

更新 1

別のデバイスに移動すると、両方の問題が解消されました。これにより、a) 使用していたデバイスが不適切な識別子を提供している/サポートされていない、または b) テストモードが現在壊れていると考えられます。

更新 2

この 2 番目のデバイスのテスト モードを有効にすると、viewDidClose が再び 2 回呼び出されます。通貨 1 単位のテスト オファーは、getTapPoints で送信される合計に追加されました (したがって、ビューが閉じるたびに、他のデバイスで行ったように 1 ではなく 4 を取得します。これは、3 単位の価値を完了したためです)テストモードに切り替える前のオファーの。)

結論として、viewDidClose が 2 回呼び出される問題はテスト モードが原因であり、getTapPoints の値が 1 になるのは、テスト オファーが合計償還可能額に対して 1 回だけカウントされた結果であるようです。

より詳しい情報

質問を読み直すと、getTapPoints を呼び出したときに返される値を誤解しているようです。これは、デバイスが最後に呼び出されてから獲得したポイント数ではなく、デバイスの累計獲得ポイントです。したがって、オファーを完了しなくても、以前と同じ価値が得られます。私は通常、以前の合計の値をアプリに保持し、その値と getTapPoints によって返される値との差のみをユーザーに提供します。

これはすべて、tapjoyconnect ライブラリのバージョン 10.1.1 で行われました。

于 2014-11-10T19:10:14.260 に答える