java - Facebook延迟深层链接不起作用
问题描述
如果用户在 facebook 应用程序中点击深层链接时未安装我的应用程序,我如何获取应用程序链接数据?令人惊讶的是,facebook 上关于这个问题的文档很少。这是深度链接类的清单内容。
<activity
android:name=".ui.activities.ViewProductSimple"
android:label="Clicky Online Shopping App"
android:launchMode="singleTask"
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"/>
<data android:host="www.clicky.pk" android:scheme="http"/>
<data android:host="www.clicky.pk" android:scheme="https"/>
</intent-filter>
</activity>
这是我的深层链接: https ://www.clicky.pk/index.php/dispatch=products.view%26product_id=268522
这就是 ViewProductSimple 类,从中获取深层链接。
FacebookSdk.sdkInitialize(getApplicationContext());
Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(this, getIntent());
if (targetUrl != null)
{
Log.i("Activity", "App Link Target URL: " + targetUrl.toString());
Toast.makeText(this, targetUrl.toString(), Toast.LENGTH_SHORT).show();
String scheme = targetUrl.getQueryParameter("dispatch");
String id = scheme.substring(25);
productId = Integer.parseInt(id);
getProductFromServer();
}
问题是当我通过“App Ads Helper”发送深层链接时,我会在 Facebook 中收到通知,如果应用安装它可以正常工作,但如果应用没有安装,那么它会带我去玩商店,安装后只需打开 MainActivity。谁能帮帮我?我被困在深层链接的某个地方,我想通过深层链接提示我的应用程序。任何代码或示例将不胜感激。
解决方案
您需要在启动活动(MainActivity)中从 FacebookDeeplink 获取数据,这与您在 ViewProductSimple 中获取数据的方式相同。因为随后用户安装您的应用程序并打开您的应用程序,facebook 深层链接将被发送到 MainActivity(启动活动)。
推荐阅读
- java - 为下面提到的程序获取“线程“主”java.util.NoSuchElementException 中的异常”错误
- date - 如何在R中的x轴上构造日期
- java - 在像 Servlet 或过滤器这样的单例 bean 中注入带有 scope="request" bean 的 aop:scoped-proxy 是否线程安全?
- amazon-web-services - 如何为我的 VPC 选择 AWS 组织账户
- sidekiq - 即使重试设置设置为 0,Sidekiq 作业也不会死机
- pdf - VBA 和带令牌的数字签名
- java - 在抽象类中定义属性是好是坏
- excel - vba代码查找预定范围,复制和转置
- fiware-cygnus - Ckan attr_metadata_store 不能通过 env vars 配置
- python - 从函数内部如何访问全局对象的方法