WhatsApp,Slack乃至Facebook Messenger的深层链接工作正常,但Facebook App本身并不起作用。
在branch.io链接设置中,我启用了:
Facebook开发者设置:
Android应用版本:
示例链接:sharing.kptncook.com/pIbQ/FKktug85TE
Manifest的活动部分:
<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>
<intent-filter>
<data android:scheme="kptncook" android:host="open" />
<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="sharing.kptncook.com" />
<data android:scheme="http" android:host="sharing.kptncook.com" />
</intent-filter>
</activity>
<receiver android:name="io.branch.referral.InstallListener" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
的活动:
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.BranchReferralInitListener(){
@Override
public void onInitFinished(JSONObject referringParams, BranchError error) {
}
}, this.getIntent().getData(), this);
}
@Override
public void onNewIntent(Intent intent) {
this.setIntent(intent);
}
}
其他信息:在模拟器中,某些链接无法打开,有些链接会打开。如果我发送的链接无法从模拟器发送到真实设备,则可以在真实设备上使用。
我做错了什么?
更新: 新的共享链接现在可以在Facebook Messenger和主应用程序中的Real设备上运行。但是如果我在模拟器上的信使中打开完全相同的链接,它会重定向到&#34; r31v.test-app.link ...&#34;除了敬酒之外什么都不显示&#34;不能加载页面&#34;。这太令人沮丧了。任何想法如何调试它?
答案 0 :(得分:2)
Facebook深度链接是最难调试的内容之一 - they intentionally don't want users to leave their app,尽可能。
一些调试说明:
域r31v.test-app.link
是您原来的链接域。您将此自定义为sharing.kptncook.com
,但有时Branch需要使用它们来处理某些边缘情况。您需要在Manifest中添加以下行:
<data android:scheme="https" android:host="r31v.test-app.link" />
<data android:scheme="https" android:host="r31v-alternate.test-app.link" />
除了上述内容之外,您的应用内配置实现看起来还不错。
随时提出问题,随时与我们的Integrations team联系!