我正在使用Facebook App Invites for Android。一切正常:我发送邀请,我在目标设备上收到邀请,我可以从Google Play安装应用。
现在我想将用户的推荐人代码传递给Google Play。这个想法是我的朋友"安装应用程序,他自动拥有我的推荐代码。我的BroadcastReceiver正在捕捉Google广告系列参数。
我有一个服务器端脚本,它生成一个简单的代码:
<html>
<head>
<meta property="fb:app_id" content="<MY_APP_ID>">
<meta property="og:title" content="<APP_NAME>">
<meta property="al:android:url" content="market://details?id=<PACKAGE_NAME>&referrer=utm_source%3D<REF_CODE>">
<meta property="al:android:app_name" content="<APP_NAME>">
<meta property="al:android:package" content="<PACKAGE_NAME>">
</head>
<body>
Redirect...
</body>
</html>
问题是Facebook更改广告系列参数,所以我收到这样的内容:
utm_source = apps.facebook.com
utm_content = {"app":0,"t":<SOME_NUMERIC_ID>}
utm_campaign = fb4a
Android端:发送邀请:
AppInviteContent content = new AppInviteContent.Builder()
.setApplinkUrl("<SERVER_SCRIPT_URL>.php?referral="+ref_code)
.setPreviewImageUrl("<IMAGE>.png")
.build();
if (AppInviteDialog.canShow()) {
appInviteDialog.show(getActivity(), content);
}
Android端:广播接收器:
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String referrerString = extras.getString("referrer");
...
}
我在2014年here发现了一个类似的问题,但未提供答案。
所以,我的问题是如何通过Facebook App Invites将自己的参数传递给Play Store,如何通过BroadcastReceiver接收它?
答案 0 :(得分:1)
由于Facebook控制流量,您无法使用Android或iOS的任何内置机制(如referrer参数)来接收延迟的深层链接参数。此外,即使您可以在Android上安装引荐来源,有时也需要几秒钟才能为Google Play投放,从而导致用户体验相当滞后。
Facebook有一个未记录的机制,您可以在其广告和邀请产品之上构建自己的延迟深层链接解决方案。不幸的是,正如接受的答案所提到的,iOS应用程序邀请延迟深层链接完全被打破。广告产品有效。
这是技术流程:
https://graph.facebook.com/<APP ID>/activities?access_token=<APPACCESSTOKEN>&event=DEFERRED_APP_LINK&advertiser_id=<GAID>&advertiser_tracking_enabled=1&application_tracking_enabled=1
或者如果你不想为所有这些事情烦恼,并且你想要在Facebook之外工作的深层链接,我一直在研究这个名为branch.io的免费工具。这对你来说。
答案 1 :(得分:0)
Facebook显示的移动应用安装广告始终覆盖Play商店链接/意图中的if DeviceType.IS_IPHONE_6 {
//iPhone 6 specific code goes here.
}
参数。你无能为力。
您可以使用延迟deep linking从Facebook将数据传输到您的应用中,此处也会讨论here