美文网首页
Android DeepLink

Android DeepLink

作者: 城平京 | 来源:发表于2019-05-16 16:41 被阅读0次

    如果要在Android中实现DeepLink, 我推荐使用Airbnb的开源库。(Airbnb真是开源界的大佬)
    DeepLinkDispatch

    如何在你的应用中声明DeepLink?

      <activity
            android:name="app.myActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
    
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!-- Accepts URIs that begin with "example://gizmos”-->
                <data
                    android:host="gizmos"
                    android:scheme="example" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
    
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:host="www.example.com"
                    android:pathPrefix="/gizmos"
                    android:scheme="http" />
                <!-- note that the leading "/" is required for pathPrefix-->                
            </intent-filter>
        </activity>
    

    注意,这样声明将同时支持两种Deep Link的调用(一般都是需要2种都支持的)

    adb shell am start -W -a android.intent.action.VIEW -d "example://gizmos"
    adb shell am start -W -a android.intent.action.VIEW -d "http://www.example.com/gizmos"
    

    如何测试DeepLink呢?有两种方式:

    1 使用adb命令: am start -W -a android.intent.action.VIEW -d "your_deep_link" your_package_name
    2 安装App:Test Deep Links & Deep linking

    另外在Chrome中调用Deep Link似乎有一些不一样:
    Android Intents with Chrome

      <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
    

    还有支持如果找不到应用就跳转到相关网页的回调的方式

       <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end"> Take a QR code </a>
    

    相关文章

      网友评论

          本文标题:Android DeepLink

          本文链接:https://www.haomeiwen.com/subject/vcniaqtx.html