Я пытаюсь регистрировать установки моего приложения с помощью Firebase с помощью этого простого кода ниже:
firebaseAnalytics.logEvent("foo", bundle);
Однако я не уверен, куда поместить этот код. Кто-нибудь знает о методе onInstall в классе Application?
Или есть другой, более простой способ регистрировать установки с помощью Firebase?
Спасибо!
Да, это имеет смысл
Консоль игрового магазина уже дает вам хорошую статистику. Однако вы можете регистрировать обновления своего собственного приложения с помощью широковещательного действия ACTION_PACKAGE_INSTALL.
ACTION_PACKAGE_INSTALL устарел на уровне API 15. (ссылка)
Вы можете определить, запускает ли пользователь приложение в первый раз, и зарегистрировать это событие.
public class MyActivity extends Activity {
SharedPreferences prefs = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Perhaps set content view here
prefs = getSharedPreferences("com.mycompany.myAppName", MODE_PRIVATE);
}
@Override
protected void onResume() {
super.onResume();
if (prefs.getBoolean("firstrun", true)) {
firebaseAnalytics.logEvent("foo", bundle);
prefs.edit().putBoolean("firstrun", false).commit();
}
}
}
Код, на который ссылается этот ТАК ответ.
В том же ТАК вопрос есть еще один ответ, в котором объясняется, как различать первый запуск и последующие обновления, я просто приведу ссылку на этот ТАК ответ здесь для справки.
Самым чистым методом было бы иметь удаленный сервер, который содержит уникальный идентификатор для каждого пользователя.
Кроме того, теоретически вы можете записать файл прямо на устройство. Но тогда вам нужно будет получить разрешение на запись, и определенно не стоит создавать и оставлять файл на устройстве.
P.S. Чтобы ответить на вопрос, нет, у Android нет метода onInstall
.
Спасибо за ответ, но после того, как пользователь почистит кеш, общие настройки тоже не удалятся?
Действительно, это не надежный метод. Самым чистым методом было бы иметь удаленный сервер, который содержит уникальный идентификатор для каждого пользователя.
Теоретически вы можете записать файл прямо на устройство. Но тогда вам нужно будет получить разрешение на запись, и определенно не стоит создавать и оставлять файл на устройстве.
Большое спасибо приятель!
Нет проблем, приятель, отметьте вопрос как правильный и проголосуйте, если он ответил на ваш вопрос. Ваше здоровье.
«Кто-нибудь знает о методе onInstall в классе Application?» -- здесь ничего нет. Ничто из вашего кода не запускается, когда приложение установлено, только когда пользователь впервые запускает ваше приложение.