如何在Android中实现Play Install Referrer API?

时间:2019-08-14 07:41:07

标签: google-play install-referrer

我想实现Play Install Referrer API,我找到了文档,虽然我读过,但有些困惑。首先,我实现了google提供的所有代码。但是我想知道我需要创建哪种类型的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给我数据。

2 个答案:

答案 0 :(得分:0)

play install推荐库我想用一个简单的措辞来描述这一点,作为一名开发人员,您想了解这些元素,您的应用捆绑包需要多少时间才能从Play商店安装到用户设备上,以及推荐网址,引荐点击时间和许多其他元素一样,google可以让您轻松知道您必须为此目的使用play install推荐库。

添加此依赖项

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

您可以从此处遵循准则:

play installer referral guidelines

在任何Java活动中声明此变量

InstallReferrerClient referrerClient;

在create方法中,使用以下代码:

 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内部,您可以轻松获取这些数据,之后代码将像这样

  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.
        }


    });

implementation

impelemtation

答案 1 :(得分:0)

示例网址 - "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'