Android Facebook Deep Link重定向到Google Play商店

时间:2014-12-09 12:31:13

标签: android facebook deep-linking

我在Android应用中实现了深层链接。 我想通过Facebook Messenger向我的朋友发送链接,当他们点击它时,如果安装了该应用程序将会打开,否则Google Play商店应该会打开以安装该应用程序。

我在清单中有以下意图过滤器:

<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="christmascards" />
 </intent-filter>

这是我在发送到Facebook获取我的规范网址的参数中添加的内容:

    Bundle params = new Bundle();
    params.putString("access_token", accessToken);
    params.putString("name", "Christmas Cards Link");
    params.putString("android", "[{\"app_name\": \""+getString(R.string.app_name)+"\" ," +
            "\"class\":\"\"," +
            "\"package\":\"com.iovchev.christmascards\"," +
            "\"url\":\"christmascards://postcard?id="+cardId+"\"}]"
            );

这是我在获取规范网址时发送给Messenger的内容:

FacebookDialog.MessageDialogBuilder builder = 
new FacebookDialog.MessageDialogBuilder(SendCardActivity.this)
.setLink(url)
.setName("Christmas Card For You")
.setCaption("Share amazing christmas cards with your friends.")
.setPicture("http://i.imgur.com/L2KlJWQ.png")
.setDescription("To view my amazing post card just click on the link here. You must have     Christmas Cards app for Android.");
 FacebookDialog dialog = builder.build();
 dialog.present();

每当我点击信使中的信息时,我总会被重定向到Google Play商店。以前一切都没有任何问题,当我尝试打开我的应用程序打开的旧消息时。之前和之后的唯一区别是我有应用程序的ios params。

我想收到我发送的自定义架构及其中的数据(我的意思是明信片ID)并在我的HomeActivity中使用它,这就是为什么我删除了类字段的内容(当它设置为没有我提供的网址发送空意图。

访问令牌字段是“app_id | app_secret”

的组合

我尝试过:

  1. 添加ios param只是为了检查一切是否正常 - 不工作
  2. 强制停止并清除Facebook和Messenger应用程序 - 无法正常工作
  3. 将类字段添加到android pasams中,如com.iovchev.christmascards.HomeActivity - Not working
  4. 重新检查哈希键 - 无法正常工作
  5. 更改意图过滤器中类别的位置 - 不工作
  6. 有什么想法吗?

    更新1:

    对于旧链接,当您单击链接时,信使会抛出以下意图:

    act=android.intent.action.VIEW dat=christmascards://postcard?id=Vi9XTnj85R&target_url=https://fb.me/1509516792632317
    

    这就是我的应用程序启动的原因。

    对于新链接,它会引发以下意图:

    act=android.intent.action.VIEW dat=https://fb.me/624376077674657 cmp=com.android.chrome/com.google.android.apps.chrome.Main}. 
    

    这就是为什么我的应用程序没有启动。

    更新2:

    使用

    分享链接时
    FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(MainActivity.this)
    .setLink(url)
    .build();
    uiHelper.trackPendingDialogCall(shareDialog.present());
    

    一切都好。这是一个信使问题?

1 个答案:

答案 0 :(得分:0)

https://developers.facebook.com/bugs/831404546921822/这是已记录的错误。这实际上是Facebook Messenger for Android中的一个错误。