如何确定用于下载我的应用程序的Android市场

时间:2015-07-02 08:51:27

标签: android google-play apk amazon-appstore

我计划不仅在Google Play上发布我的应用,还在其他几个市场发布,例如Opera Mobile Store,Yandex Store,Amazon App Store。对于“评分”按钮,我需要链接到商店页面。是否有可能找出用于下载我的应用程序的市场?

当然,我可以为每个市场编制invididual APK,但我想制作一个通用的APK。 OpenIAB库解决了不同的IAP API,但现在我遇到了链接到市场的问题。

1 个答案:

答案 0 :(得分:5)

通常,如果您使用某些广告来分发您的应用,则可以使用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
    }