有可能将自定义parameter passing给Android市场,所以我的应用程序在第一次启动时收到它?

有没有办法将自定义parameter passing给Android市场(或任何其他方式),所以我的应用程序在安装(并首次运行)后收到参数。

让我解释。

  1. 用argument1 =“Hello world1”(每次自定义参数)开始一个intent
  2. 安卓市场安装应用程序。
  3. 第一次打开应用程序。
  4. 应用程序显示味精“你好world1”

任何情况下都可以做,而不只是意图安卓市场。

大多数情况下,应用程序将通过条形码扫描器和绑定的http模式进行安装。 所以浏览器的解决方法也是可能的,HTML5客户端存储(存储参数到浏览器,并从那里第一次运行我的应用程序)

更新

解决scheme是创build一个cookie,或者浏览器,然后从我安装的应用程序访问它。 那可能吗? 如果是的话,你能提供一些有关的信息? 浏览器可以与应用程序共享数据吗?

Solutions Collecting From Web of "有可能将自定义parameter passing给Android市场,所以我的应用程序在第一次启动时收到它?"

你可以发布这样的链接
http://market.android.com/details?id=your.package.name&referrer=your_referrer_parameter
用户单击此链接并安装应用程序后,广播接收器将收到带有“your_referrer_parameter”值的广播com.android.vending.INSTALL_REFERRER。

更多信息:
http://code.google.com/mobile/analytics/docs/android/#android-market-tracking
从Android电子市场安装应用后获取引荐来源
获取Android Google Analytics引荐来源代码

AFAIK你问的是不可能的。 市场只会将APK文件传送到设备。 然而取决于你想要做什么,可能有许多不同的工作。

这里有一些想法:

如果您希望市场为每个用户提供一个独特的自定义参数,那么为什么不让您的应用程序在初始运行时连接到服务器并下载该参数? 即使市场可以提供这样的论据,它也必须从你那里得到,你可能必须build立一个服务器来为市场提供论据。

如果你只是想让应用程序知道它是否是第一次运行,你可以使用SharedPreference来做到这一点。 查询hasAppRunBefore类的首选项hasAppRunBefore存在,如果不存在,那么您知道应用程序自安装以来第一次运行。 然后将hasAppRunBeforevariables设置为某个值,表示它之前已经运行。 此实现将允许用户卸载应用程序并重新安装,每次重新安装后,应用程序将再次运行。

另一个select是前两个的组合。 你可以让应用程序连接到你的服务器,并提供服务器的设备的UUID,然后服务器可以检查它是否看到过的UUID。 如果它没有提供的话,否则它不会。

如果你真的需要每个APK都不同,你可以设置一个服务器,当收到下载请求时,它会编译一个新的APK,并提供一个链接来下载APK。 这将允许您为每个下载生成一个新的和独特的APK。 但是,这会要求您自己分发APK,因为Android电子市场目前不提供此function。

我会继续,让redirect到市场的网站也推送一个文件到客户端。 该文件可以被命名为“yourapp.info”,并包含您需要的数据。 一旦你的应用程序启动,它可以searchSD卡(它应该驻留在几个众所周知的目录,又名/ SD卡/下载),并阅读该文件。 在SD卡上没有访问限制。

关于浏览器中的Cookie:我不确定您是否可以从任何其他应用程序访问cookie – (请查看:blog.watchfire.com/files/advisory-android-browser.pdf – 无法访问cookies),所以我认为这条路线将被closures。