【问题标题】:whatsapp URL Scheme doesn't give control back to app.whatsapp URL Scheme 不会将控制权交还给应用程序。
【发布时间】:2014-03-27 12:54:53
【问题描述】:

我正在尝试通过 Whatsapp 分享一个链接,并且也阅读了许多教程。我能够成功分享我的链接,但问题是用户在 whatsapp 上分享后没有回到我的应用程序。

这是我用来分享的代码:

    NSString *referralLink = [NSString stringWithFormat:@"some link here"];
    NSString *textToSend = [[NSString stringWithFormat:@"whatsapp://send?text=%@",referralLink] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSURL *whatsappURL = [NSURL URLWithString:textToSend];
    if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
        [[UIApplication sharedApplication] openURL: whatsappURL];
    }

我知道我必须使用 URL Scheme 来实现这一点,我也使用过它。但我不确定我是否以正确的方式使用它。

这是我的 .info 文件的屏幕截图。

在黑条后面,我输入了捆绑标识符。即com.abc.myapp

【问题讨论】:

    标签: ios url-scheme whatsapp


    【解决方案1】:

    这是 iOS 中的默认行为,只有当您调用的应用程序的应用程序开发人员允许选择将用户发送回调用应用程序时,它才会起作用。

    WhatsApp 没有这样的功能,因此这是不可能的。

    此外,您不应在您的应用程序info.plist 中使用whatsapp: url 方案。这样做会使任何应用调用whatsapp: 来打开您的应用。

    【讨论】:

      【解决方案2】:

      您应该提供自己的url scheme(唯一标识符),可能是您的AppName。你不应该使用 whatsapp

      【讨论】:

      • 我已将 whatsapp 替换为我的应用名称,但行为仍然相同。
      • @codeBug WhatsApp 在发送消息后将永远不会打开您的应用程序。因为这不是 iOS 中的默认行为。因此,只有 WhatsApp 的开发人员添加了此功能,并且他们为您提供了有关添加到他们的应用方案中的内容以重新打开您的规范的规范。
      【解决方案3】:

      现在 IOS 9 支持应用在调用任何使用 OpenURL 方案调用的第三方应用时返回应用。

      此时您可以提供基于操作系统版本的支持,除非您的应用程序对 IOS 9 的支持最少。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 2022-11-19
        • 1970-01-01
        • 2016-12-15
        • 2012-10-01
        相关资源
        最近更新 更多