分支机构深层链接未打开游戏商店

问题描述

我在Kotlin的android应用中使用Branch深度链接,我使用以下链接https://help.branch.io/developers-hub/docs/android-basic-integration

AndroidManifest.xml:

  <application
                android:name="net.app.activity.application"
                android:allowBackup="false"
                android:appComponentFactory="whateverString"
                android:icon="@mipmap/ic_launcher"
                android:label="@string/app_name"
                android:roundIcon="@mipmap/ic_launcher"
                android:supportsRtl="false"
                android:theme="@style/AppTheme"
                android:usesCleartextTraffic="true"
                tools:replace="android:supportsRtl,android:allowBackup,android:appComponentFactory">
            <activity android:name="net.app.activity.splash.SplashActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
                <intent-filter>
                    <data android:scheme="app" />
                    <action android:name="android.intent.action.VIEW" />
    
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent.category.broWSABLE" />
                </intent-filter>
                <!-- Branch App Links (optional) -->
                <intent-filter android:autoVerify="true">
                    <action android:name="android.intent.action.VIEW" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent

.category.broWSABLE" />
                    <data android:scheme="https" android:host="app.test-app.link" />
                    <data android:scheme="https" android:host="app-alternate.test-app.link" />
                </intent-filter>
    
            </activity>
        <Meta-data
                android:name="io.branch.sdk.BranchKey"
                android:value="key...." />
        <Meta-data
                android:name="io.branch.sdk.BranchKey.test"
                android:value="key...." />
        <Meta-data
                android:name="io.branch.sdk.TestMode"
 android:value="false" /> 

我将Branch添加到我的ApplicationClass.java中:

//用于调试的分支记录 Branch.enableLogging();

// Branch object initialization
Branch.getAutoInstance(this);

我将如下所示的Branch添加到我的lancherActivity中,即SplashActivity.kt:

  override fun onStart() {
        super.onStart()
        // Branch init
        Branch.sessionBuilder(this).withCallback(branchListener).withData(this.intent?.data).init()

    }

    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        this.intent = intent
        // Branch reinit (in case Activity is already in foreground when Branch link is clicked)
        Branch.sessionBuilder(this).withCallback(branchListener).reInit()
    }

    object branchListener : Branch.BranchReferralInitListener {
        override fun onInitFinished(referringParams: JSONObject?,error: BranchError?) {
            if (error == null) {
                Log.i("BRANCH SDK",referringParams.toString())
                // Retrieve deeplink keys from 'referringParams' and evaluate the values to determine where to route the user
                // Check '+clicked_branch_link' before deciding whether to use your Branch routing logic
            } else {
                Log.e("BRANCH SDK",error.message)
            }
        }

    }

在我的应用程序中,在我的一个UI中,包含名称数量,价格等所有详细信息的产品...我要共享此产品,我创建了一个共享按钮,当我单击时,选择“复制到按...”,我复制了网址,然后将其粘贴到导航器中,我希望该应用将在应用商店中打开,但我没有得到这个结果。 这是我的共享代码

shareMerchant.setonClickListener {
            val image = merchant!!.logo
            val url = this.getString(R.string.image_URL) + image
            buo = Utility(this).prepareSharingLink(
                merchant!!.id.toString(),"store",url,UtilityTools.getInstance().getValue(merchant!!.name)
            )
            val lp = LinkProperties()

            val message =
              "Check out this store on App"


            val ss = ShareSheetStyle(this,"Check this out!",message)
                .setcopyUrlStyle(
                    resources.getDrawable(android.R.drawable.ic_menu_send,this.theme),"copy","Added to clipboard"
                )
                .setMoreOptionStyle(
                    resources.getDrawable(android.R.drawable.ic_menu_search,"Show more"
                )
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.EMAIL)
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.MESSAGE)
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.HANGOUT)
                .setAsFullWidthStyle(true)
                .setSharingTitle("Share With")

            buo.showShareSheet(this,lp,ss,object : Branch.BranchLinkShareListener {
                override fun onShareLinkDialogLaunched() {}
                override fun onShareLinkDialogdismissed() {}
                override fun onLinkShareResponse(
                    sharedLink: String?,sharedChannel: String?,error: BranchError?
                ) {
                    val MetaData: java.util.HashMap<String,String> = java.util.HashMap()
                    if (error == null) {
                        MetaData[Defines.Jsonkey.SharedLink.key] = sharedLink!!
                    } else {
                        MetaData[Defines.Jsonkey.ShareError.key] = error.message
                    }
                }

                override fun onChannelSelected(channelName: String) {}
            }) 

prepareSharingLink代码如下:

fun prepareSharingLink(
        itemID: String,itemType: String,imageURL: String?,customTitle: String = ""
    ): BranchUniversalObject {

        val canonical = itemType.plus("/").plus(itemID)
        val branchUniversalObject = BranchUniversalObject()
        branchUniversalObject.canonicalIdentifier = canonical
        branchUniversalObject.title = customTitle
        branchUniversalObject.setContentDescription("")
        branchUniversalObject.setContentimageUrl(imageURL!!)
        branchUniversalObject.contentMetadata.customMetadata["itemType"] = itemType
        branchUniversalObject.contentMetadata.customMetadata["itemID"] = itemID
        branchUniversalObject.isLocallyIndexable
        branchUniversalObject.isPublicallyIndexable
        branchUniversalObject.setContentIndexingMode(BranchUniversalObject.CONTENT_INDEX_MODE.PRIVATE)
        return branchUniversalObject
    }

我想知道我的代码中是否有错误或遗漏?为何分支机构Deep Link无法在Play商店中打开?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)