Android 调试应用程序未使用 branch.io 打开

Posted

技术标签:

【中文标题】Android 调试应用程序未使用 branch.io 打开【英文标题】:Android debug app is not opening using branch.io 【发布时间】:2017-07-29 12:11:43 【问题描述】:

我正在研究 android 中的深度链接部分,我发现 branch.io 提供了深度链接支持。我按照文档进行了所有操作,但它仍然打开自定义链接而不是应用程序。

代码:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="branch.next.com.newbranchapp">
        <uses-permission android:name="android.permission.INTERNET"></uses-permission>

        <application
            android:name="io.branch.referral.BranchApp""
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity"
                      android:launchMode="singleTask"
                >

                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>

                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
                <!-- Branch URI scheme -->
                <intent-filter>
                    <data android:scheme="branch" android:host="open" />
                    <action android:name="android.intent.action.VIEW" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent.category.BROWSABLE" />
                </intent-filter>

            </activity>
            <!-- Branch init -->
            <!-- Branch init -->
            <meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_abFuXvh4EU7Yocf2FB4jJpccAEcz3sZT" />
            <meta-data android:name="io.branch.sdk.BranchKey.test" android:value="key_test_cbvEXCcXuJ27ojf1yu9sTkaitsoF0v9X" />

            <!-- Branch testing (TestMode "true" to simulate fresh installs on dev environment) -->
            <meta-data android:name="io.branch.sdk.TestMode" android:value="true" />



            <!-- Branch install referrer tracking -->
            <receiver android:name="io.branch.referral.InstallListener" android:exported="true">
                <intent-filter>
                    <action android:name="com.android.vending.INSTALL_REFERRER" />
                </intent-filter>
            </receiver>

        </application>

</manifest>

public class MainActivity extends AppCompatActivity


    @Override
    protected void onCreate(Bundle savedInstanceState)
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
    @Override
    public void onStart() 
        super.onStart();
        Branch branch = Branch.getInstance();

        branch.initSession(new Branch.BranchUniversalReferralInitListener() 
            @Override
            public void onInitFinished(BranchUniversalObject branchUniversalObject, LinkProperties linkProperties, BranchError error) 
                if (error == null) 
                    Log.i("MyApp","not working");
                 else 
                    Log.i("MyApp", error.getMessage());
                
            
        , this.getIntent().getData(), this);
    

    @Override
    public void onNewIntent(Intent intent) 
        this.setIntent(intent);
    

// 应用

public class CustomApplication extends Application

    @Override
    public void onCreate()
    
        super.onCreate();
        Branch.getAutoInstance(this);
    

【问题讨论】:

链接我也给byya.test-app.link/PeWmihFSaF 【参考方案1】:

来自Branch.io这里的Amruta:

两件事:

    您的应用程序类的名称是“CustomApplication”,但在您的清单中,我看到您的应用程序类的名称设置为“android:name="io.branch.referral.BranchApp"”。我不确定,但我相信这应该会给您的应用程序带来错误。这应该设置为“.CustomApplication”

    我刚刚快速浏览了您的 Branch 仪表板。由于您正在使用来自应用程序测试版本的链接进行测试(来自测试版本的链接具有“.test-app.link”类型的链接域),您应该在链接设置中填充测试版本的 Android URL .您可以使用仪表板左上角的翻板在“实时”和“测试”之间切换。

【讨论】:

我更改了 .customapplication 的第一件事,我通过 branch.io 生成的第二个链接是 byya.test-app.link/PeWmihFSaF 仍然无法正常工作,请帮助我 为什么我的链接没有检测到我在设备中安装的应用程序 @skyshine 如果您能回复我通过电子邮件发送给您的回复,那就太好了。

以上是关于Android 调试应用程序未使用 branch.io 打开的主要内容,如果未能解决你的问题,请参考以下文章

使用 branch.io 来自 Play 商店的 Android 深层链接

Branch.io SDK 无法在 Unity3D 中的 Android 构建上初始化

如果应用程序已经打开,则来自 expo-branch 的 Branch.subscribe 不会收到数据

Appium (Android):应用程序未使用调试证书签名

未找到通过 ADB 设备进行 Android TV 调试

Android 应用程序未在 Eclipse 中以调试模式完成启动