我正在尝试注册一个广播接收器,它捕获Android从市场安装应用程序后启动的"com.android.vending.INSTALL_REFERRER"意图.
我在此处详细了解:http://code.google.com/mobile/analytics/docs/android/#referrals
但是,我无法使用Google Analytics,因此我创建了自己的解决方案.我在清单文件中添加了以下内容:
<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
并创建了一个基本的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);
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当安装应用程序时,接收器似乎没有捕获Intent(如果Intent甚至广播?)并且我没有记录输出.
我在某个地方出错了还是市场在安装应用程序时不再启动这些Intent?
我们计划使用Google Analytics跟踪广告点击推介,通过Android电子市场推广到我们的应用程序.
根据Google文档,引荐来源代码是通过意图实现的,并由Google Analytics资源库自动记录.
这很好,但我们需要为我们自己的内部分析提取引用标记.该文档很少关于如何从初始启动意图中获取它的详细信息,以及有关如何在上线之前模拟它的说明.
有任何人对此有经验吗?
有没有办法将自定义参数传递给Android市场(或任何其他方式),以便我的应用程序在安装后接收参数(并且第一次运行).
让我解释.
- 使用argument1 ="Hello world1"(每次自定义参数)启动一个intent
- 从Android市场安装应用程序.
- 第一次打开应用程序.
- 应用程序显示消息"Hello world1"
任何情况都会这样做,而不只是意图到Android市场.
大多数情况下,应用程序将通过带有绑定http架构的条形码扫描程序进行安装.因此,浏览器的解决方法也是可行的,HTML5客户端存储,(存储到浏览器的参数,并在我的应用第一次运行时从那里获取)
更新
解决方案是为浏览器创建cookie或其他内容,然后从我安装的应用程序中访问它.那可能吗?如果是这样,你能提供一些相关信息吗?浏览器可以与应用共享数据吗?