【问题标题】:How to implement Play Install Referrer API in Android?如何在 Android 中实现 Play Install Referrer API?
【发布时间】:2019-12-20 17:52:57
【问题描述】:

我想实现 Play Install Referrer API,我找到了文档并阅读了该文档,但我有些困惑。首先我实现了谷歌提供的所有代码。但我想知道我需要创建哪种类型的 url,以便用户可以点击链接并去玩商店并安装我的应用程序,然后我会得到推荐详细信息..

我使用这个代码:

   InstallReferrerClient mReferrerClient;
    mReferrerClient = newBuilder(this).build();
    mReferrerClient.startConnection(this);

    @Override
    public void onInstallReferrerSetupFinished ( int responseCode){
        switch (responseCode) {
            case InstallReferrerClient.InstallReferrerResponse.OK:
                // Connection established

           /* ReferrerDetails response = null;
            try {
                response = mReferrerClient.getInstallReferrer();
                response.getInstallReferrer();
                response.getReferrerClickTimestampSeconds();
                response.getInstallBeginTimestampSeconds();
            } catch (RemoteException e) {
                e.printStackTrace();
            }*/


                break;
            case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                // API not available on the current Play Store app
                break;
            case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                // Connection could not be established
                break;
        }
    }
    @Override
    public void onInstallReferrerServiceDisconnected () {

    }

但是我创建了哪种类型的链接,所以用户去播放商店,安装播放商店推荐 api 后给我数据..

【问题讨论】:

    标签: google-play install-referrer


    【解决方案1】:

    play install 推荐库我想用简单的措辞来描述这一点,作为一个开发者,你想知道这些元素你的应用程序包需要多少时间从 Play 商店安装到用户设备上,以及推荐 url、推荐点击时间和许多其他元素,谷歌让你很容易知道你必须为此目的使用播放安装推荐库。

    添加这个依赖

    implementation 'com.android.installreferrer:installreferrer:1.1'
    

    您可以按照此处的指南进行操作:

    play installer referral guidelines

    在任何 java 活动中声明这个变量

    InstallReferrerClient referrerClient;
    

    在创建方法中使用以下代码:

     referrerClient = InstallReferrerClient.newBuilder(this).build();
        referrerClient.startConnection(new InstallReferrerStateListener() {
            @Override
            public void onInstallReferrerSetupFinished(int responseCode) {
                switch (responseCode) {
                    case InstallReferrerClient.InstallReferrerResponse.OK:
                        // Connection established.
                        break;
                    case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                        // API not available on the current Play Store app.
                        break;
                    case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                        // Connection couldn't be established.
                        break;
                }
            }
    
    
            @Override
            public void onInstallReferrerServiceDisconnected() {
                // Try to restart the connection on the next request to
                // Google Play by calling the startConnection() method.
            }
    
    
        });
    

    在 onInstallReferrerSetupFinished stabled 里面你可以很容易地得到这些数据,你的代码会是这样的

      ReferrerDetails response = null;
                        try {
                            response = referrerClient.getInstallReferrer();
                        } catch (RemoteException e) {
                            e.printStackTrace();
                        }
                        String referrerUrl = response.getInstallReferrer();
                        long referrerClickTime = response.getReferrerClickTimestampSeconds();
                        long appInstallTime = response.getInstallBeginTimestampSeconds();
                        boolean instantExperienceLaunched = response.getGooglePlayInstantParam();
    

    整个代码会是这样的

     referrerClient = InstallReferrerClient.newBuilder(this).build();
        referrerClient.startConnection(new InstallReferrerStateListener() {
            @Override
            public void onInstallReferrerSetupFinished(int responseCode) {
                switch (responseCode) {
                    case InstallReferrerClient.InstallReferrerResponse.OK:
                        // Connection established.
    
                        ReferrerDetails response = null;
                        try {
                            response = referrerClient.getInstallReferrer();
                        } catch (RemoteException e) {
                            e.printStackTrace();
                        }
                        String referrerUrl = response.getInstallReferrer();
                        long referrerClickTime = response.getReferrerClickTimestampSeconds();
                        long appInstallTime = response.getInstallBeginTimestampSeconds();
                        boolean instantExperienceLaunched = response.getGooglePlayInstantParam();
    
                        break;
                    case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                        // API not available on the current Play Store app.
                        break;
                    case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                        // Connection couldn't be established.
                        break;
                }
            }
    
    
            @Override
            public void onInstallReferrerServiceDisconnected() {
                // Try to restart the connection on the next request to
                // Google Play by calling the startConnection() method.
            }
    
    
        });
    

    【讨论】:

    • 你能给我们一个示例网址吗,比如带有推荐网址的播放网址是什么样的?
    【解决方案2】:

    示例网址 - "https://play.google.com/store/apps/details?id=com.dummy.app&referrer=referralCode%3D311566%26source%3DFacebook+App"

    使用 Google Play Referrer API 时 -

    InstallReferrerClient mReferrerClient;
        mReferrerClient = newBuilder(this).build();
        mReferrerClient.startConnection(this);
    
        @Override
        public void onInstallReferrerSetupFinished ( int responseCode){
            switch (responseCode) {
                case InstallReferrerClient.InstallReferrerResponse.OK:
                    // Connection established
    
               /* ReferrerDetails response = null;
                try {
                    response = mReferrerClient.getInstallReferrer();
                    response.getInstallReferrer();
                    response.getReferrerClickTimestampSeconds();
                    response.getInstallBeginTimestampSeconds();
                } catch (RemoteException e) {
                    e.printStackTrace();
                }*/
                
                    // End the connection once you get the data
                    referrerClient.endConnection();
    
                    break;
                case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                    // API not available on the current Play Store app
                    break;
                case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                    // Connection could not be established
                    break;
            }
        }
        @Override
        public void onInstallReferrerServiceDisconnected () {
    
        }
    

    getInstallReferrer()

    将返回字符串 'referralCode=311566&source=Facebook App'

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多