【问题标题】:How to determine which android market was used to download my app如何确定使用哪个 android 市场下载我的应用程序
【发布时间】:2015-09-19 16:53:12
【问题描述】:

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

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

【问题讨论】:

    标签: android google-play apk amazon-appstore


    【解决方案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 安装的,将不会收到推荐人?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多