Мы используем 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"));
Однако я не могу найти способ узнать, что сделал пользователь по возвращении из намерения. Вместо этого я попытался использовать startActivityForResult
, но, похоже, это возвращает только то, завершили они или нет совместное использование (или даже если это кажется непоследовательно реализованным в разных приложениях) - это, конечно, не дает мне никакой информации о том, что они сделали.
На данный момент, похоже, для того, чтобы иметь свою аналитику, мне нужно было бы реализовать обмен через Facebook и Twitter, используя свои собственные действия и их соответствующие SDK?
Это кажется позором, поскольку подрывает одну из приятных функций Android - возможность использовать ваши любимые приложения для работы с электронной почтой, Twitter, Facebook и браузером ....