如何确定使用哪个 android 市场下载我的应用程序
Posted
技术标签:
【中文标题】如何确定使用哪个 android 市场下载我的应用程序【英文标题】:How to determine which android market was used to download my app 【发布时间】:2015-09-19 16:53:12 【问题描述】:我计划不仅在 Google Play 上分发我的应用程序,还在其他几个市场上分发,例如 Opera Mobile Store、Yandex Store、Amazon App Store。对于“评分”按钮,我需要链接到商店页面。是否可以查明使用哪个市场下载我的应用程序?
当然,我可以为每个市场编译单独的 APK,但我想制作一个通用 APK。 OpenIAB 库解决了不同的 IAP API,但现在我遇到了链接到市场的问题。
【问题讨论】:
【参考方案1】:一般而言,如果您使用一些广告来分发您的应用程序,您可以使用 Google 的一些工具:
简而言之,您需要将 Googgle Analitics 插入到您的应用程序中(当然,如果您还没有使用它),并使用它调用的工具:
Campaign Measurement
然后您可以签署分期付款的接收方:
<receiver
android:name=".system.RefferReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
你可以处理接收器内部的逻辑:
public class RefferReceiver extends BroadcastReceiver
@Override
public void onReceive(final Context context, Intent intent)
String referrer = intent.getStringExtra("referrer");
//do some logic
已编辑: 抱歉,我没有正确阅读您的问题。如果你只是想知道你的应用的市场来源你可以使用:
String installerMarket = getPackageManager().getInstallerPackageName("your_package_name");
if (installerMarket == null)
//do some default case
else if ("com.android.vending".equals(installerMarket))
//link to google play
else if ("com.amazon.venezia".equals(installerMarket))
//link to amazon
else if //you got the idea, you need to know the name of every market store installer
【讨论】:
但它只适用于 Google Play 服务,对吧?如果应用不是通过 Google Play 安装的,将不会收到推荐人?以上是关于如何确定使用哪个 android 市场下载我的应用程序的主要内容,如果未能解决你的问题,请参考以下文章