【问题标题】:How an app open custom action after install安装后应用如何打开自定义操作
【发布时间】:2019-10-03 16:44:50
【问题描述】:

假设用户想要从 example.com 下载音乐。用户从浏览器转到 example.com 并单击“下载 sample.mp3”。现在,浏览器不再下载 sample.mp3,而是下载了一个 android 应用程序。当用户安装应用程序时,应用程序会下载用户从浏览器中单击的完全相同的“sample.mp3”。

那么,我该如何制作这样的应用程序?注意:我可以使用下载 Api 在应用程序的 onCreate 中下载音乐,而无需任何视图或任何东西。 但这里的关键挑战是获取用户在浏览器中点击的数据(当我的应用程序甚至没有安装时)。它是否可行?

【问题讨论】:

  • 很不清楚你在问什么。能详细解释一下吗?
  • 假设,我正在寻找从 example.com 下载一首名为“Baby.mp3”的歌曲但是,当我点击下载页面上的歌曲下载按钮时,它开始下载一个安卓应用程序。然后,我在手机上安装了该应用程序。但是,事实是,当我第一次打开该应用程序时,它开始在该应用程序上下载名为“Baby.mp3”的歌曲,就像一个网络浏览器一样。
  • 好吧,您只需要创建一个应用程序,该应用程序从启动的第一个 Activity 的onCreate() 中点击下载 API,并在清单 xml 中注册。
  • 这可能与安装引荐来源网址有关,您可以在 google play 应用的下载 url 中添加一个 GET 参数(引荐来源网址),将在安装时传输到该应用:stackoverflow.com/questions/30103338/…
  • 但是,我如何获取用户数据,比如他/她试图从 example.com 下载的文件名?

标签: java android


【解决方案1】:

您可以为此使用firebase dynamic links

您可以通过链接传递 songId,安装后 google play 会将该链接传递到应用程序中。在那里您可以提取 songId 并开始下载歌曲。

动态链接的另一个优势是,Google Play 会检查您的应用是否已安装。如果它已经安装,那么它将直接打开应用程序,否则它将重定向到应用程序的 Playstore 页面。

要在应用程序中提取歌曲 ID,您可以使用以下代码:

FirebaseDynamicLinks.getInstance()
    .getDynamicLink(getIntent())
    .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
        @Override
        public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
            // Get deep link from result (may be null if no link is found)
            Uri deepLink = null;
            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.getLink();
            }


            // Handle the deep link. For example, open the linked
            // content, or apply promotional credit to the user's
            // account.
        }
    })
    .addOnFailureListener(this, new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.w(TAG, "getDynamicLink:onFailure", e);
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    相关资源
    最近更新 更多