【问题标题】:IOException in mReferrerClient.getInstallReferrer() with HMS Core version 5.0.1.307带有 HMS Core 版本 5.0.1.307 的 mReferrerClient.getInstallReferrer() 中的 IOException
【发布时间】:2020-12-02 04:23:17
【问题描述】:

我想在与华为安装 Referrer SDK 集成后,在上线之前测试我自己的应用。我遵循了代码实验室和文档中的所有步骤,当我在设备上安装 apk 时,getInstallReferrer 方法会抛出 IOException。这是我的代码。我做错了什么?如何获取 installReferrer 信息以进行测试?

       Runnable {
            referrerClient = newBuilder(context).setTest(true).build()
            referrerClient.startConnection(object : InstallReferrerStateListener {

                @SuppressLint("SwitchIntDef")
                override fun onInstallReferrerSetupFinished(responseCode: Int) {
                    when (responseCode) {
                        InstallReferrerClient.InstallReferrerResponse.OK -> {
                            // Connection established.
                            try {
                                val response: ReferrerDetails = referrerClient.installReferrer
                                val referrerUrl: String = response.installReferrer
                                val referrerClickTime: Long = response.referrerClickTimestampSeconds
                                val appInstallTime: Long = response.installBeginTimestampSeconds
                            }catch (e : IOException){
                                Log.i("INSTALL_REFERRER","IOException")
                            }
                            catch(e: RemoteException){
                                Log.i("INSTALL_REFERRER","RemoteException")
                            }
                            finally {
                                referrerClient.endConnection()
                            }


                        }
                        InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
                           
                            Log.i("INSTALL_REFERRER","NOT AVAILABLE")
                        }
                        InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
                           
                            Log.i("INSTALL_REFERRER","SERVICE UNAVAILABLE")
                        }
                    }
                }

                override fun onInstallReferrerServiceDisconnected() {
                    Log.i("INSTALL_REFERRER","ReferrerServiceDisconnected")
                }
            })
        }.run()

【问题讨论】:

    标签: huawei-mobile-services install-referrer huawei-developers huawei-ads


    【解决方案1】:

    请检查是否添加了AIDL接口。

    查看下面的截图:

    • 通过 AIDL 获取安装推荐人信息

    您可以调用HUAWEI Ads Kit提供的AIDL API从华为设备获取安装Referrer信息,无需集成任何HUAWEI SDK。在任一模式(SDK 或 AIDL)下从设备获取的安装引用信息是相同的。

    • 调用过程

    • 开发流程如下

    1. 为 IPPSChannelInfoService API 创建一个 AIDL 文件并保存该文件。

    2. 将以下内容复制到 AIDL 文件中:

      打包com.huawei.android.hms.ppskit;
      /** 重要提示:请勿更改 AIDL 文件中的方法序列。 */
      接口 IPPSChannelInfoService {
      字符串 getChannelInfo();
      }

    3. 将 Build Action 更改为 AIDL 文件的 AndroidInterfaceDescription。

    4. 重建项目。

    5. 创建一个类来实现 Android 原生的 IServiceConnection。

    更多详情,请参阅docs。 另外,请参考the demo

    更新:

    1. 需要指定包名,因为setTest(true)

      如果(this.isTest){ var2 = "com.huawei.pps.hms.test"; }

    2. ReferrerDetails上的空检查可以添加。

      if (null != referrerDetails && null != mCallback)

    【讨论】:

    • 我从文档中了解到,AIDL 方法是实现 InstallReferrer 的另一种方法,但不是第一种方法(SDK 方法)的完成。我错过了什么吗?
    • @YomnaGamal 是的,我更新了我的答案。请检查您的包名“com.huawei.pps.hms.test”。并请在 ReferrerDetails 上添加空检查。
    • 我检查了演示链接,但我发现他的应用程序包名称是你提到的那个,但是我怎么能更改我的应用程序包名称,因为它已经存在于应用程序库中?
    • @YomnaGamal 如果软件包名称已经在 App Gallery 中,则无法更改它,除非您在 AGC 上创建一个新名称。你不需要。事情是这样的,如果你 setTest(true) ,你的包名应该是 "com.huawei.pps.hms.test" ,那是为了测试。要获取您自己的应用程序的完整推荐人,您需要在华为应用程序库中发布您的应用程序,并下载您的应用程序。如果您还有任何问题,请随时与我联系。
    • @YomnaGamal 我也有同样的问题。我尝试在我的 Honor 10 上启动两个测试项目,github.com/huaweicodelabs/Ads/tree/master/InstallReferrergithub.com/HMS-Core/hms-codelabs/tree/master/… 在这两种情况下我都得到了getInstallReferrer IOException: getInstallReferrer not found installreferrer。我不知道我做错了什么
    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多