私は開発しているAndroid用のキーボードアプリを持っています。言語よりも単純な記号を出力するので、機密情報や単語が含まれていないため、ユーザーの行動を追跡できることが大好きです。InputMethodServiceを拡張するクラスのgetDefaultTracker()?
問題は、AndroidのInputMethodService
はは(私を修正すること自由に感じ、ここでは可能な言葉遣いのエラー、)は、Google AnalyticsのAndroidのSDKにアクセスすることを可能にするものである、Application
を延長しないことです。
私が始めるためのガイドhereを追ってきたが、これは私がTracker
オブジェクトを取得するために参照コードです:
/*
* Copyright Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.samples.quickstart.analytics;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* This is a subclass of {@link Application} used to provide shared objects for this app, such as
* the {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private Tracker mTracker;
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
mTracker = analytics.newTracker(R.xml.global_tracker);
}
return mTracker;
}
}
これはただ、基本的には私のアプリの主な活動を追跡するためのすべての偉大ですいくつかの広告と設定のショートカットを含む短い説明のセットを含むビュー。
キーボードを追跡したいと思います。具体的には、InputMethodService
はGoogleアナリティクスを公開していないため、それほど明白ではありません。
InputMethodService
に拡張され、Application
ではないクラスの中でGoogleアナリティクスAndroid SDKを使用するにはどうすればよいですか?
問題を明確にしていない場合は、可能な限り投稿を更新します。
素晴らしいですが、私はこれを撃つでしょう。クイックスタートの例で、 'Tracker'にアクセスするためのラッパークラスの使用を推奨する理由はありますか? – Kehlan
ほとんどの場合、それが最良の解決策になると思います。私は明確にしようと私の答えを更新しました。 –