Facebook,Android上的App链接:没有获得该字段的数据架构(Uri为App Link的Android URL)数据'意图

时间:2014-10-02 18:28:42

标签: facebook facebook-android-sdk

我们正在为Android开发Facebook AppLinks。

我们遵循Facebook开发者页面的所有指令:

https://developers.facebook.com/docs/applinks/add-to-content https://developers.facebook.com/docs/applinks/android

  1. 在我们的网页(目标网址)中,我们定义了元数据:
  2.   <meta property="al:android:url" content="mySchema://?id=3643020" />
      <meta property="al:android:app_name" content="myAppName" />
      <meta property="al:android:package" content="com.my.package" />
      <meta property="al:android:class" content="com.my.package.screens.BrowseableActivity"/>
    

    在标签内。

    对于Schema,我们也试过这个:

      <meta property="al:android:url" content="mySchema://id=3643020" />
    
        (without the ? character)
    
    1. 在我们的Android应用程序中,在BrowseableActivity的Manifest中我们定义:

      <activity android:name=".screens.BrowseableActivity" 
          android:theme="@style/Theme.myAppName.myTheme" >    
           <intent-filter>
              <action android:name="com.my.package.screens.BrowseableActivity" />
              <category android:name="android.intent.category.DEFAULT" />
          </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:scheme="mySchema"/>
          </intent-filter>      
      </activity> 
      
    2. 当我们测试时:

      1. 我们在App上分享了一个指向Facebook的链接,其中“link”属性是具有metas的“目标网址”。 没关系。

      2. 在Facebook Android应用程序(版本18.0.0.24.14)中,我们看到上一步中共享的帖子。

      3. 点击帖子,我们的应用程序开放了! 一切都好,直到这里。

      4. 我们的问题:

        根据Intent中的Facebook文档打开我们的“BrowseableActivity”,即“数据”字段 应该有以下信息:

        data: "mySchema://id=3643020?target_url=http%3A%2F%2Fwww.ourtargeturl.com%2Fdirectory"
        
        this is: the Schema (Uri or Android Url) and the Target_url
        

        但对我们来说,我们只有这个:

        data: "http%3A%2F%2Fwww.ourtargeturl.com%2Fdirectory"
        
        We only got the target_url.
        

        在Facebook的这个页面(https://developers.facebook.com/docs/applinks/android),他们说 如果因为你没有在中定义meta“al:android:url”而没有收到“Schema” target_url。但是,我们定义它。

        此外,在Intent的其他字段中,(附加x示例)我们没有看到“Schema”信息。

        这些信息是我们需要的,我们不知道还有什么可以尝试。

        谢谢,

1 个答案:

答案 0 :(得分:2)

不要指定类名。如果指定了类名,它将使用包名/类名组合来创建具有直接针对您的app / activity的componentName的intent。那时“数据”字段中的内容实际上是未定义的。

如果您跳过指定al:android:class属性,那么它将使用您的自定义URL。