android - 从 Android Market 安装应用后获取推荐人

标签 android google-play installation google-play-services referrer

我正在尝试注册一个广播接收器,该接收器在从市场安装应用程序后捕获由 Android 启动的“com.android.vending.INSTALL_REFERRER” Intent 。

我在这里关注细节:http://code.google.com/mobile/analytics/docs/android/#referrals

但是,我无法使用 Google Analytics,因此我创建了自己的解决方案。我在 list 文件中添加了以下内容:

<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>

并创建了一个基本的 BroadcastReceiver 类:

public class Receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle extras = intent.getExtras();
        String referrerString = extras.getString("referrer");

        Log.w("TEST", "Referrer is: " + referrerString);
    }
}

但是,当安装应用程序时,接收器似乎没有捕捉到 Intent(如果 Intent 甚至被广播?)并且我没有得到任何日志输出。

我是不是在某个地方出错了,还是市场在安装应用时不再启动这些 Intent?

最佳答案

我会尽力帮助像我一样无法使 install_referrer 正常工作以及找不到有关这些功能的任何有用信息的人。

注意事项:

  1. Intent com.android.vending.INSTALL_REFERRER会被抓 在安装过程中,而不是在应用程序启动时 第一次。
  2. 推荐人... extras.getString("referrer") .. 是固定的,但内容可以是任何符合 http get 语法的字符串值... referrer=thatsthevalue&thisisnot=xxx

上面的代码没问题,只是一些解释来补全信息:

  1. Android list 。 <receiver>标签必须在 <application>标签。
  2. 链接市场的正确url不是sdk中著名的google表单的结果

但是这个

http://market.android.com/details?id=your.application.package.name&referrer=my_referrer_finally_works_fine

显然,您需要在移动设备上点击链接,而完成测试的唯一方法是在市场上发布测试应用程序。

还有最后的个人说明。

我不明白为什么这些信息被完全省略了,我希望谷歌会采取行动详细说明。

关于android - 从 Android Market 安装应用后获取推荐人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093150/

相关文章:

java - TabLayout 不可用,错误膨胀,导入的所有内容但不是 "visible"

android - 从 Google Play 商店获取应用程序用户信息

r - 如何解决 rmarkdown 中的此错误消息?

android - 我们如何找到 google_maps_api.xml 文件

android - 开发与网站交互的 Android 应用程序 - 帮助!

android - 易于使用多个 Android 市场的工具?

android - onConnectionFailed 给出 SIGN_IN_REQUIRED(4)

c# - 单击一次安装 System.Data.SqlServerCe 出现问题?

installation - Windows 8驱动程序安装和目录/签名验证

android getHeight()/getWidth 与 RelativeLayout