Мы используем Google Analytics, чтобы отслеживать, какие функции нашего приложения используются и как, но этот вопрос также может относиться к любой ситуации, когда вы хотите знать, что сделал пользователь после вызова намерения ACTION_SEND.
По сути, я хочу использовать эту функцию, чтобы позволить пользователям обмениваться контентом (электронная почта, Twitter, Facebook и т. д.). Это прекрасно работает с использованием стандартных функций Android Intent, позволяя пользователю выбирать предпочитаемый почтовый клиент, приложение Twitter и т. д.
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
//Text seems to be necessary for Facebook and Twitter
sharingIntent.setType("text/plain");
sharingIntent.putExtra(Intent.EXTRA_TEXT, "whatever I want to share");
startActivity(Intent.createChooser(sharingIntent,"Share using"));
Однако я не могу найти способ узнать, что сделал пользователь по возвращении из Intent. Вместо этого я изучил использование startActivityForResult
, но это, кажется, возвращает только то, завершили ли они или отменили совместное использование (и даже это кажется непоследовательно реализованным в разных приложениях) - это, конечно, не дает мне никакой информации о том, что они сделали.
На данный момент похоже, что для того, чтобы иметь свою аналитику, мне нужно будет реализовать обмен через Facebook и Twitter, используя собственные настраиваемые действия и соответствующие SDK?
Это кажется позором, поскольку подрывает одну из приятных функций Android — возможность использовать ваши любимые приложения электронной почты, Twitter, Facebook и браузера....