1

現在のプロジェクトでは、「ヘルパー」クラスを使用してAPI呼び出しを行っていますが、これはActivityを拡張しません。このヘルパークラスは、Flurryセッションが提案されたとおりに開始および停止されるアクティビティから呼び出されます。このヘルパークラスから直接Flurry呼び出しを行うことは可能ですか?フラリーセッションは現在の活動の一環としてすでに開始されているので、はいと言いたいのですが、よくわかりません。

ロジックの一部を複製する必要がないように、アクティビティで結果メッセージを再度確認するのではなく、API呼び出しの結果を受け取ったときにFlurryタグをログに記録したいと思います。

これは機能しますか?より良いアプローチはありますか?

4

2 に答える 2

1

編集済み。下記参照。

ジョルディに感謝します。結局、あなたの提案を使用して、Activityをヘルパークラスコンストラクターに渡し、ローカルアクティビティ変数を設定し、アクティビティ変数を使用してFlurryタグをログに記録するメソッドを作成しました。

/**
 * Logs the Flurry tag using the act that was passed into the constructor
 */

// EDITED - DON'T USE THIS ANYMORE

private void logFlurryTag(String s) {

    FlurryAgent.onStartSession(act, "XXXXXXXXXXXXXXXXXXXXX");
    FlurryAgent.logEvent(s);
    FlurryAgent.onEndSession(act);
}

これは正しく機能するはずですが、Flurryタグがまだ入ってくるかどうかを確認するのを待ちきれませんでした。

***2012年5月9日** *

spacemanakiの推奨に従って、ヘルパークラスではなくアクティビティにFlurryイベントを記録するようにロジックを作り直すことにしました。それほど余分な作業ではありませんでした。イベントが報告されていることを確認しました。また、1つの方法で急いでセッションを開始および停止するよりも安全だと感じます。

于 2012-05-07T15:49:38.563 に答える
0

ヘルパークラスや使用するメソッドにはActivityパラメーターが必要なので、このActivityをFlurryに送信できます。つまり

アクティビティクラス:

 Helper helper = new Helper();
 helper.helping_method(this);

ヘルパークラス:

 public void helping_method (Activity activitat){
      FlurryAgent.onStartSession(activitat, "xxxxxxxxxxxxxxxxxx");
      FlurryAgent.onEvent("HELPING METHOD");

ヘルパーを作成するときに同じことを行い、Activity変数をClass変数として保存して、必要なときに使用できます。

于 2012-05-07T07:38:49.980 に答える