当我点击在FB上发布的深层链接时,我尝试使用FB deep link
来获取App安装后的推荐信息。但是,只有在已安装app的情况下,我才会收到深层链接数据。
如下文所述 https://developers.facebook.com/docs/applinks/android
应用程序应在安装应用程序后从深层链接接收数据。 但原生FB应用程序仅发送给GooglePlay:
市场://细节ID = my.app.package&安培;引荐= utm_source = apps.facebook.com&安培; utm_campaign = fb4a&安培;的utm_content =%7B%22app%22%3A0%2C%22吨%22%3A1436879844%? 7D
深层链接没有信息
第一次启动时,我尝试在我的启动屏幕中使用下一个方法
AppLinks.getTargetUrlFromInboundIntent
和 AppLinkData.fetchDeferredAppLinkData 但他们让我无效。
一步一步
预期: 安装后,在启动应用程序上接收深层链接数据。
但是如果FB Docs中描述的使用方法我没有收到任何信息
答案 0 :(得分:-4)
我帮助构建了分支(branch.io),这是一个链接工具,有助于通过Play商店进行深层链接。我们在让Facebook的方法可靠地工作方面遇到了很多麻烦。如果您使用分支深层链接来托管您的Facebook应用程序链接,它将通过页面帖子,广告和邀请100%的时间工作。我们有一个服务器到服务器与Facebook的集成,但如果失败,我们会回到我们的指纹识别机制,我们将浏览器指纹与设备指纹相匹配。 (更多关于here)
以下是如何进行设置的说明,以便Branch通过安装托管您的Facebook App链接和深层链接:
io.branch.sdk.android
库
<application>
<!-- Other existing entries -->
<activity
android:name="com.yourapp.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<application
android:name="io.branch.referral.BranchApp">
<intent-filter>
<data android:scheme="yourapp" 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>
<meta-data android:name="io.branch.sdk.BranchKey" android:value="your_key_here" />
最终的Manifest应该是这样的:
<application
android:name="io.branch.referral.BranchApp">
<!-- Other existing entries -->
<activity
android:name="com.yourapp.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="yourapp" 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>
<meta-data android:name="io.branch.sdk.BranchKey" android:value="your_key_here" />
</application>
Branch branch = Branch.getInstance(getApplicationContext());
branch.initSession(new BranchReferralInitListener(){
@Override
public void onInitFinished(JSONObject referringParams, BranchError error) {
if (error == null) {
// params are the deep linked params associated with the link that the user clicked -> was re-directed to this app
// params will be empty if no data found
// ... insert custom logic here ...
} else {
Log.i("MyApp", error.getMessage());
}
}
}, this.getIntent().getData(), this);
Branch branch = Branch.getInstance();
JSONObject obj = new JSONObject(); obj.putString("foo", "bar");
branch.getShortUrl(obj, "sms", "share", new BranchLinkCreateListener() {
@Override
public void onLinkCreate(String url, BranchError error) {
Log.i("MyApp", "Ready to share my link = " + url);
}
});
快乐链接!