【问题标题】:Facebook App Invites: pass campaign params to Play storeFacebook App Invites:将活动参数传递给 Play 商店
【发布时间】:2015-07-19 17:22:13
【问题描述】:

我正在使用 Android 版 Facebook 应用邀请。一切正常:我发送邀请,在目标设备上收到邀请,我可以从 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>&amp;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 接收它?

【问题讨论】:

    标签: android facebook google-play


    【解决方案1】:

    您不能使用 Android 或 iOS 的任何内置机制(如引荐来源网址参数)来接收延迟的深层链接参数,因为 Facebook 控制流程。此外,即使您可以,在 Android 上,安装引荐来源网址有时也可能需要几秒钟才能交付给 Google Play,从而导致用户体验相当滞后。

    Facebook 有一种未记录的机制,您可以在其中构建自己的延迟深度链接解决方案,以在他们的广告和邀请产品之上。不幸的是,正如公认的答案所提到的,iOS 应用程序邀请延迟深层链接完全被破坏了。广告产品有效。

    技术流程如下:

    1. 使用适当的深层链接创建应用邀请或安装广告,如下所示:

    1. 新用户(没有应用)点击应用邀请或应用安装广告
    2. 新用户安装您的应用
    3. 向此端点 https://developers.facebook.com/docs/graph-api/reference/application/activities/ 发出 POST 请求

    https://graph.facebook.com/&lt;APP ID&gt;/activities?access_token=&lt;APPACCESSTOKEN&gt;&amp;event=DEFERRED_APP_LINK&amp;advertiser_id=&lt;GAID&gt;&amp;advertiser_tracking_enabled=1&amp;application_tracking_enabled=1

    1. 应用链接数据将从该 Graph API 中返回,用于被点击的关联对象

    或者,如果您不想为所有这些事情烦恼,并且想要在 Facebook 之外工作的深层链接,我一直在开发这个名为 branch.io 的免费工具,它可以为您完成所有这些工作。

    【讨论】:

      【解决方案2】:

      Facebook 展示的移动应用安装广告始终会覆盖 Play 商店链接/意图中的 referrer 参数。对此你无能为力。

      您可以使用延迟的deep linking 将数据从 Facebook 传递到您的应用程序,这也在 here 中进行了讨论

      【讨论】:

      • 不幸的是,如果未安装应用程序,我似乎无法获得深层链接
      • Facebook 目前遇到延迟深层链接问题。您可以订阅关于 here 的错误报告
      猜你喜欢
      • 2022-10-01
      • 1970-01-01
      • 2014-10-30
      • 1970-01-01
      • 2013-05-11
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      相关资源
      最近更新 更多