Я использую facebook sdk, чтобы отслеживать установки приложений и протоколировать события. У меня есть 4 действия в моем приложении. Согласно документации, я активирую и деактивирую в каждой деятельности.Могу ли я использовать ApplicationContext для регистрации событий вместо контекста Activity для событий приложения facebook?
public class MyActivity extends Activity {
private FacebookSingleton fb = FacebookSingleton.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//some event occurred
Bundle params = new Bundle();
params.putString("SEARCH QUERY", query);
fb.trackEventForFb("PRODUCT SEARCH", params);
}
@Override
protected void onResume() {
super.onResume();
AppEventsLogger.activateApp(this);
}
@Override
protected void onPause() {
super.onPause();
AppEventsLogger.deactivateApp(this);
}
public class FacebookSingleton {
private static MyApplication appInstance;
private static FacebookSingleton instance;
private FacebookSingleton() {
};
public static void setupFb(MyApplication myAppInstance) {
if (instance == null) {
instance = new FacebookSingleton();
appInstance = myAppInstance;
}
}
public void trackFacebookEvent(String event,Bundle parameters) {
AppEventsLogger logger = AppEventsLogger.newLogger(appInstance);
logger.logEvent(event, parameters);
}
И это мое приложение
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(this);
FacebookSingleton.setupFb(this);
}
}
Когда я вхожу событие, я могу создать синглтон и передать этот контекст вместо того, чтобы использовать контекст деятельности для регистрации событий как код aboce? Или мне нужно передать контекст активности только в соответствии с документацией?