我们正在使用 Google Analytics 来跟踪我们的应用程序的哪些功能正在被使用以及如何使用,但这个问题也可能适用于您想知道用户在调用 ACTION_SEND Intent 后做了什么的任何情况。
基本上,我想使用此功能来允许用户共享内容(电子邮件、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
改用,但这似乎只返回他们是否完成或取消共享(即使这似乎在不同的应用程序中实现不一致) - 它当然没有给我任何关于他们做了什么的信息。
在这一点上,看起来为了进行分析,我必须使用我自己的自定义操作及其各自的 SDK 来通过 Facebook 和 Twitter 实现共享?
这似乎是一种耻辱,因为它破坏了 Android 的一项不错的功能 - 能够使用您喜欢的电子邮件、Twitter、Facebook 和浏览器应用程序......